namespace BLL { using System.Collections.Generic; using System.Linq; using Model; public static class Base_ProjectService { /// ///获取项目信息 /// /// public static Model.Base_Project GetProjectByProjectId(string projectId) { return Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); } /// ///获取项目编号 /// /// public static string GetProjectCode(string projectId) { Model.Base_Project project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project == null) { return ""; } else { return project.ProjectCode; } } /// ///获取项目简称 /// /// public static string GetProjectName(string projectId) { Model.Base_Project project = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); if (project == null) { return ""; } else { return project.ShortName; } } /// /// 判断施工号是否存在 /// /// 项目ID /// 施工号 /// public static bool IsExistProjectCode(string projectId, string projectCode) { bool isExitCode = false; var q = from x in Funs.DB.Base_Project where x.ProjectCode == projectCode && x.ProjectId != projectId select x; if (q.Count() > 0) { isExitCode = true; } return isExitCode; } /// /// 增加项目信息 /// /// public static void AddProject(Model.Base_Project project) { Model.HJGLDB db = Funs.DB; Model.Base_Project newProject = new Base_Project(); newProject.ProjectId = project.ProjectId; newProject.ProjectCode = project.ProjectCode; newProject.ProjectName = project.ProjectName; newProject.EnProjectName = project.EnProjectName; newProject.ShortName = project.ShortName; newProject.ProjectAddress = project.ProjectAddress; newProject.StartDate = project.StartDate; newProject.EndDate = project.EndDate; newProject.ProjectTypeId = project.ProjectTypeId; newProject.Area = project.Area; newProject.ProjectAmount = project.ProjectAmount; newProject.ProjectPrincipal = project.ProjectPrincipal; newProject.ConstructionPrincipal = project.ConstructionPrincipal; newProject.Remark = project.Remark; newProject.IsClosed = project.IsClosed; newProject.ProjectArea = project.ProjectArea; db.Base_Project.InsertOnSubmit(newProject); db.SubmitChanges(); } /// ///修改项目信息 /// /// public static void UpdateProject(Model.Base_Project project) { Model.HJGLDB db = Funs.DB; Model.Base_Project newProject = db.Base_Project.First(e => e.ProjectId == project.ProjectId); newProject.ProjectCode = project.ProjectCode; newProject.ProjectName = project.ProjectName; newProject.EnProjectName = project.EnProjectName; newProject.ShortName = project.ShortName; newProject.ProjectAddress = project.ProjectAddress; newProject.StartDate = project.StartDate; newProject.EndDate = project.EndDate; newProject.ProjectTypeId = project.ProjectTypeId; newProject.Area = project.Area; newProject.ProjectAmount = project.ProjectAmount; newProject.ProjectPrincipal = project.ProjectPrincipal; newProject.ConstructionPrincipal = project.ConstructionPrincipal; newProject.Remark = project.Remark; newProject.IsClosed = project.IsClosed; newProject.ProjectArea = project.ProjectArea; db.SubmitChanges(); } /// /// 根据项目Id删除一个项目信息 /// /// public static void DeleteProject(string projectId) { Model.HJGLDB db = Funs.DB; Model.Base_Project project = db.Base_Project.FirstOrDefault(e => e.ProjectId == projectId); Model.Sys_Set sysSet=db.Sys_Set.FirstOrDefault(e => e.ProjectId == projectId); Model.Common_ReportServer report=db.Common_ReportServer.FirstOrDefault(e => e.ProjectId == projectId); if (report != null) { db.Common_ReportServer.DeleteOnSubmit(report); } if (sysSet != null) { db.Sys_Set.DeleteOnSubmit(sysSet); } if (project != null) { db.Base_Project.DeleteOnSubmit(project); } var punit = from x in db.Project_Unit where x.ProjectId == projectId select x; if (punit.Count() > 0) { db.Project_Unit.DeleteAllOnSubmit(punit); } var puser = from x in db.Project_User where x.ProjectId == projectId select x; if (puser.Count() > 0) { db.Project_User.DeleteAllOnSubmit(puser); } db.SubmitChanges(); } public static List GetOnProjectList() { return (from x in Funs.DB.Base_Project where (x.IsClosed == null || x.IsClosed == false) select x).ToList(); } /// /// 根据用户加载项目 /// /// /// true:完工,false:在建 /// public static List GetProjectListByUserIdAndState(string userId, string state) { if (state == BLL.Const._Null) { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } else if (state == BLL.Const._True) { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project where x.IsClosed == true orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId && x.IsClosed == true select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } else { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project where x.IsClosed == false orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId && x.IsClosed == false select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } } /// /// 根据用户,状态和项目类型加载项目 /// /// /// /// /// public static List GetProjectListByUserIdAndState(string userId, string state, string projectArea) { if (state == BLL.Const._Null) { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project where x.ProjectArea== projectArea orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId && x.ProjectArea == projectArea select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } else if (state == BLL.Const._True) { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project where x.IsClosed == true && x.ProjectArea == projectArea orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId && x.IsClosed == true && x.ProjectArea == projectArea select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } else { if (userId == BLL.Const.GlyId) //管理员 { var q = (from x in Funs.DB.Base_Project where x.IsClosed == false && x.ProjectArea == projectArea orderby x.ProjectCode descending select x).ToList(); return q; } else { var q = (from x in Funs.DB.Base_Project join y in Funs.DB.Project_User on x.ProjectId equals y.ProjectId where y.UserId == userId && x.IsClosed == false && x.ProjectArea == projectArea select x).Distinct().ToList(); return q.OrderByDescending(x => x.ProjectCode).ToList(); } } } public static void InitProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease, string userId, string state, string projectArea, string itemText) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectCode"; dropName.DataSource = GetProjectListByUserIdAndState(userId, state, projectArea); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName, itemText); } } #region 项目信息下拉项 /// /// 项目信息下拉项 /// /// 下拉框名称 /// 是否显示请选择 /// 用户ID /// 状态 public static void InitProjectDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease, string userId, string state,string itemText) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectCode"; dropName.DataSource = GetProjectListByUserIdAndState(userId, state); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName,itemText); } } #endregion /// /// 获取用户所有在建项目字符串 /// /// /// /// public static string GetStrProjectIds(string userId, string state) { List projects = BLL.Base_ProjectService.GetProjectListByUserIdAndState(userId, state); string projectIds = string.Empty; foreach (var project in projects) { projectIds += project.ProjectId + ","; } return projectIds; } } }