namespace BLL { using System.Collections.Generic; using System.Linq; using Model; public static class ProjectUnitService { public static Model.SGGLDB db = Funs.DB; /// ///获取项目单位信息 /// /// public static Model.Project_ProjectUnit GetProjectUnitById(string projectUnitId) { return Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnitId); } /// ///获取项目单位信息 /// /// public static Model.Project_ProjectUnit GetProjectUnitByUnitIdProjectId(string projectId, string unitId) { return Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId); } /// ///获取项目单位信息 /// /// public static List GetProjectUnitListByProjectId(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { return (from x in db.Project_ProjectUnit join y in db.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == projectId orderby x.UnitType, y.UnitCode descending select x).ToList(); } } /// /// 根据项目及单位类型获取单位信息 /// /// public static List GetProjectUnitListByProjectIdUnitType(string projectId, string unitType) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { return (from x in db.Project_ProjectUnit join y in db.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == projectId && x.UnitType == unitType orderby x.UnitType, y.UnitCode descending select x).ToList(); } } /// /// 增加项目单位信息 /// /// public static void AddProjectUnit(Project_ProjectUnit projectUnit) { SGGLDB db = Funs.DB; Project_ProjectUnit newProjectUnit = new Project_ProjectUnit { ProjectUnitId = SQLHelper.GetNewID(typeof(Model.Project_ProjectUnit)), ProjectId = projectUnit.ProjectId, UnitId = projectUnit.UnitId, UnitType = projectUnit.UnitType, InTime = projectUnit.InTime, OutTime = projectUnit.OutTime, PlanCostA = projectUnit.PlanCostA, PlanCostB = projectUnit.PlanCostB, ContractRange = projectUnit.ContractRange, RealNamePushTime = projectUnit.RealNamePushTime, IsSynchro = projectUnit.IsSynchro, }; db.Project_ProjectUnit.InsertOnSubmit(newProjectUnit); db.SubmitChanges(); } /// ///修改项目单位信息 /// /// public static void UpdateProjectUnit(Model.Project_ProjectUnit projectUnit) { Model.SGGLDB db = Funs.DB; Model.Project_ProjectUnit newProjectUnit = db.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnit.ProjectUnitId); if (newProjectUnit != null) { newProjectUnit.UnitType = projectUnit.UnitType; newProjectUnit.InTime = projectUnit.InTime; newProjectUnit.OutTime = projectUnit.OutTime; newProjectUnit.PlanCostA = projectUnit.PlanCostA; newProjectUnit.PlanCostB = projectUnit.PlanCostB; newProjectUnit.ContractRange = projectUnit.ContractRange; newProjectUnit.RealNamePushTime = projectUnit.RealNamePushTime; newProjectUnit.IsSynchro = projectUnit.IsSynchro; db.SubmitChanges(); } } /// /// 根据项目单位Id删除一个项目单位信息 /// /// public static void DeleteProjectProjectUnitById(string projectUnitId) { Model.SGGLDB db = Funs.DB; Model.Project_ProjectUnit delProjectUnit = db.Project_ProjectUnit.FirstOrDefault(e => e.ProjectUnitId == projectUnitId); if (delProjectUnit != null) { db.Project_ProjectUnit.DeleteOnSubmit(delProjectUnit); db.SubmitChanges(); } } /// ///获取当前人单位是否 施工工分包单位且非本单位 /// /// public static bool GetProjectUnitTypeByProjectIdUnitId(string projectId, string unitId) { bool isShow = false; if (unitId != Const.UnitId_TCC) { var pUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(e => e.ProjectId == projectId && e.UnitId == unitId); if (pUnit != null) { if (pUnit.UnitType == Const.ProjectUnitType_2 || pUnit.UnitType == Const.ProjectUnitType_0) { isShow = true; } } } return isShow; } #region 项目类型单位表下拉框 /// /// 项目类型单位表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitUnitDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var pUnit = (from x in db.Project_ProjectUnit join y in db.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == projectId && x.UnitType == unitType orderby y.UnitCode select y).ToList(); dropName.DataValueField = "UnitId"; dropName.DataTextField = "UnitName"; dropName.DataSource = pUnit; dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } } #endregion /// /// 根据项目Id删除项目单位 /// /// public static void DeleteProjectUnitByProjectId(string projectId) { var q = (from x in db.Project_ProjectUnit where x.ProjectId == projectId select x).ToList(); if (q != null) { db.Project_ProjectUnit.DeleteAllOnSubmit(q); db.SubmitChanges(); } } public static List GetProjectUnitListByProjectIdForApi(string projectId, string unitType, string name) { Model.SGGLDB db = Funs.DB; string[] types = unitType.Split(','); return (from x in db.Project_ProjectUnit join y in db.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == projectId where unitType == "" || types.Contains(x.UnitType) where name == "" || y.UnitName.Contains(name) orderby x.UnitType, y.UnitCode select x).ToList(); } } }