| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | namespace BLL | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     using System.Collections.Generic; | 
					
						
							|  |  |  |  |     using System.Linq; | 
					
						
							| 
									
										
										
										
											2025-10-21 09:53:14 +08:00
										 |  |  |  |     using System.Web.Security; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |     using Model; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public static class ProjectUserService | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-09-16 19:27:36 +08:00
										 |  |  |  |         //public static SGGLDB db = Funs.DB; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Project_ProjectUser GetProjectUserById(string projectUserId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.Project_ProjectUser.FirstOrDefault(e => e.ProjectUserId == projectUserId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Project_ProjectUser GetProjectUserByUserIdProjectId(string projectId, string userId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.Project_ProjectUser.FirstOrDefault(e => e.ProjectId == projectId && e.UserId == userId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 根据用户ID | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Project_ProjectUser> GetProjectUserByUserId(string userId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.Project_ProjectUser where x.UserId == userId select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 19:27:36 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 根据用户角色ID | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							| 
									
										
										
										
											2025-10-21 09:53:14 +08:00
										 |  |  |  |         public static List<Project_ProjectUser> GetProjectUserByRoleId(string projectId, string roleId) | 
					
						
							| 
									
										
										
										
											2025-09-16 19:27:36 +08:00
										 |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2025-10-21 09:53:14 +08:00
										 |  |  |  |             return (from x in Funs.DB.Project_ProjectUser where x.ProjectId == projectId && x.RoleId.Contains(roleId) select x).ToList(); | 
					
						
							| 
									
										
										
										
											2025-09-16 19:27:36 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取当前项目用户信息根据用户ID | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Project_ProjectUser GetCurrProjectUserByUserId(string userId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.Project_ProjectUser where x.UserId == userId && x.IsPost == true select x).FirstOrDefault(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 增加项目用户信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static void AddProjectUser(Project_ProjectUser projectUser) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Project_ProjectUser newProjectUser = new Project_ProjectUser | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 ProjectUserId = SQLHelper.GetNewID(typeof(Project_ProjectUser)), | 
					
						
							|  |  |  |  |                 ProjectId = projectUser.ProjectId, | 
					
						
							|  |  |  |  |                 UserId = projectUser.UserId, | 
					
						
							|  |  |  |  |                 UnitId = projectUser.UnitId, | 
					
						
							|  |  |  |  |                 RoleId = projectUser.RoleId, | 
					
						
							|  |  |  |  |                 IsPost = projectUser.IsPost, | 
					
						
							| 
									
										
										
										
											2023-04-28 09:18:02 +08:00
										 |  |  |  |                 MainCNProfessionalId = projectUser.MainCNProfessionalId, | 
					
						
							|  |  |  |  |                 ViceCNProfessionalId = projectUser.ViceCNProfessionalId | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |             }; | 
					
						
							|  |  |  |  |             //newProjectUser.RoleName = projectUser.RoleName; | 
					
						
							|  |  |  |  |             db.Project_ProjectUser.InsertOnSubmit(newProjectUser); | 
					
						
							|  |  |  |  |             db.SubmitChanges(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///修改项目用户信息  | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectUser"></param> | 
					
						
							|  |  |  |  |         public static void UpdateProjectUser(Project_ProjectUser projectUser) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Project_ProjectUser newProjectUser = Funs.DB.Project_ProjectUser.FirstOrDefault(e => e.ProjectUserId == projectUser.ProjectUserId); | 
					
						
							|  |  |  |  |             if (newProjectUser != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 newProjectUser.ProjectId = projectUser.ProjectId; | 
					
						
							|  |  |  |  |                 newProjectUser.UserId = projectUser.UserId; | 
					
						
							|  |  |  |  |                 newProjectUser.UnitId = projectUser.UnitId; | 
					
						
							|  |  |  |  |                 newProjectUser.RoleId = projectUser.RoleId; | 
					
						
							|  |  |  |  |                 newProjectUser.IsPost = projectUser.IsPost; | 
					
						
							|  |  |  |  |                 newProjectUser.WorkAreaId = projectUser.WorkAreaId; | 
					
						
							|  |  |  |  |                 newProjectUser.MainCNProfessionalId = projectUser.MainCNProfessionalId; | 
					
						
							|  |  |  |  |                 newProjectUser.ViceCNProfessionalId = projectUser.ViceCNProfessionalId; | 
					
						
							|  |  |  |  |                 //newProjectUser.RoleName = projectUser.RoleName; | 
					
						
							|  |  |  |  |                 Funs.DB.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据项目Id删除一个项目用户信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectUserId"></param> | 
					
						
							|  |  |  |  |         public static void DeleteProjectUserById(string projectUserId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             Project_ProjectUser delProjectUser = db.Project_ProjectUser.FirstOrDefault(e => e.ProjectUserId == projectUserId); | 
					
						
							|  |  |  |  |             if (delProjectUser != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 db.Project_ProjectUser.DeleteOnSubmit(delProjectUser); | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据项目用户Id删除一个项目用户信息 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectUserId"></param> | 
					
						
							|  |  |  |  |         public static void DeleteProjectUserByProjectIdUserId(string projectId, string userId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             var delProjectUser = from x in db.Project_ProjectUser where x.ProjectId == projectId && x.UserId == userId select x; | 
					
						
							|  |  |  |  |             if (delProjectUser.Count() > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 db.Project_ProjectUser.DeleteAllOnSubmit(delProjectUser); | 
					
						
							|  |  |  |  |                 db.SubmitChanges(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///根据项目id集合获取对应项目的所有项目用户 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Project_ProjectUser> GetProjectUsersByProjectIds(List<string> ProjectIds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.Project_ProjectUser where ProjectIds.Contains(x.ProjectId) && x.RoleId != null select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 根据ProjectId | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Project_ProjectUser GetProjectUserByProjectId(string ProjectId, string RoleId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return Funs.DB.Project_ProjectUser.FirstOrDefault(e => e.ProjectId == ProjectId && e.RoleId.Contains(RoleId)); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///获取项目用户信息 根据ProjectId | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static Project_ProjectUser GetProjectUserByProjectIdAndIdentityCard(string ProjectId, string IdentityCard) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.Project_ProjectUser | 
					
						
							|  |  |  |  |                     join y in Funs.DB.Sys_User | 
					
						
							|  |  |  |  |                     on x.UserId equals y.UserId | 
					
						
							|  |  |  |  |                     where x.ProjectId == ProjectId && y.IdentityCard == IdentityCard | 
					
						
							|  |  |  |  |                     select x).FirstOrDefault(); | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2023-04-28 09:18:02 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据项目Id获取角色列表 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static List<Model.View_ProjectUserRole> getRoleIdList(string projectId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return (from x in Funs.DB.View_ProjectUserRole where x.ProjectId == projectId && x.RoleName != null select x).ToList(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取项目用户角色下拉 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dropName"></param> | 
					
						
							|  |  |  |  |         /// <param name="projectId"></param> | 
					
						
							|  |  |  |  |         /// <param name="isShowPlease"></param> | 
					
						
							|  |  |  |  |         public static void InitProjectUserRoleIdDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             dropName.DataValueField = "Items"; | 
					
						
							|  |  |  |  |             dropName.DataTextField = "RoleName"; | 
					
						
							|  |  |  |  |             dropName.DataSource = getRoleIdList(projectId); | 
					
						
							|  |  |  |  |             dropName.DataBind(); | 
					
						
							|  |  |  |  |             if (isShowPlease) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(dropName); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |