using System; using System.Collections.Generic; using System.Linq; using System.Text; using Model; using BLL; using System.Collections; using System.Web.UI.WebControls; namespace BLL { public class Project_UserService { public static Model.SGGLDB db = Funs.DB; /// /// 记录数 /// public static int count { get; set; } /// /// 定义变量 /// public static IQueryable qq = from x in db.View_Common_Project_UserList orderby x.UserCode select x; /// /// 获取分页列表 /// /// /// /// /// /// public static IEnumerable getListData(string projectId, string searchItem, string searchValue, int startRowIndex, int maximumRows) { IQueryable q = qq; q = q.Where(e => e.ProjectId == projectId); if (!string.IsNullOrEmpty(searchValue)) { if (searchItem == BLL.Const.UserName) { q = q.Where(e => e.UserName.Contains(searchValue)); } } count = q.Count(); if (count == 0) { return new object[] { "" }; } return from x in q.Skip(startRowIndex).Take(maximumRows) select new { x.ProjectUserId, x.UnitType, x.UnitName, x.UserName, x.UserCode, x.Account, x.RoleName, }; } /// /// 获取列表数 /// /// /// /// /// public static int GetListCount(string projectId, string searchItem, string searchValue) { return count; } /// /// 根据主键Id删除一个项目参与用户信息 /// /// 主键id public static void DeleteProject_UserByProjectUserId(string projectUerId) { Model.SGGLDB db = Funs.DB; var projectUser = db.Project_User.FirstOrDefault(x => x.ProjectUserId == projectUerId); if (projectUser != null) { db.Project_User.DeleteOnSubmit(projectUser); db.SubmitChanges(); } } /// /// 根据项目id和用户id获取用户是否在项目中 /// /// /// /// public static Model.Project_User GetProject_UserByProjectIdUserId(string projectId, string userId) { var pUser = Funs.DB.Project_User.FirstOrDefault(x => x.ProjectId == projectId && x.UserId == userId); return pUser; } /// /// 根据项目Id删除一个项目参与单位信息 /// /// 项目id /// 是否分包类型 public static void DeleteProject_UserByProjectId(string projectId, string unitId) { Model.SGGLDB db = Funs.DB; var pUser = from x in db.Project_User join y in db.Sys_User on x.UserId equals y.UserId where x.ProjectId == projectId && y.UnitId == unitId select x; if (pUser.Count() > 0) { db.Project_User.DeleteAllOnSubmit(pUser); db.SubmitChanges(); } } /// /// 添加单位信息 /// /// public static void AddProject_User(Model.Project_User user) { Model.SGGLDB db = Funs.DB; Model.Project_User newuser = new Project_User(); newuser.ProjectUserId = SQLHelper.GetNewID(typeof(Model.Project_User)); ; newuser.UserId = user.UserId; newuser.ProjectId = user.ProjectId; newuser.RoleId = user.RoleId; newuser.IsPost = user.IsPost; db.Project_User.InsertOnSubmit(newuser); db.SubmitChanges(); } /// /// 根据用户主键获取角色主键 /// /// 用户主键 /// 角色主键 public static string GetProjectRoleIdByUserId(string projectId, string userId) { string roleId = string.Empty; Model.Project_User m = Funs.DB.Project_User.FirstOrDefault(e => e.UserId == userId && e.ProjectId == projectId); if (m != null) { roleId = m.RoleId; } return roleId; } /// /// 根据用户主键获取角色名称 /// /// 用户主键 /// 角色主键 public static string GetProjectRoleNameByUserId(string projectId, string userId) { string roleName = string.Empty; Model.Project_User m = Funs.DB.Project_User.FirstOrDefault(e => e.UserId == userId && e.ProjectId == projectId); if (m != null) { var role = BLL.Sys_RoleService.GetRole(m.RoleId); if (role != null) { roleName = role.RoleName; } } return roleName; } /// /// 获取项目 单位下用户 /// /// /// /// public static List GetUserByProjectIdUnitId(string projectId, string unitId) { var users = from x in Funs.DB.Sys_User join y in Funs.DB.Project_User on x.UserId equals y.UserId where y.ProjectId == projectId && x.UnitId == unitId select x; return users.ToList(); } /// /// 根据项目id获取项目人员信息 /// /// /// public static List GetProjectUserByProjectId(string projectId) { return (from x in Funs.DB.Project_User where x.ProjectId == projectId select x).ToList(); } public static string GetStrProjectIds(string userId) { var projects = from x in Funs.DB.Project_User where x.UserId == userId select x.ProjectId; string projectIds = string.Empty; if (projects.Count() > 0) { foreach (var project in projects.Distinct()) { projectIds += project + ","; } } return projectIds; } } }