using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class WorkPackageService { /// /// 添加分部分项工程 /// /// public static void AddWorkPackage(Model.WBS_WorkPackage WorkPackage) { Model.SGGLDB db = Funs.DB; Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage(); newWorkPackage.WorkPackageId = WorkPackage.WorkPackageId; newWorkPackage.WorkPackageCode = WorkPackage.WorkPackageCode; newWorkPackage.UnitWorkId = WorkPackage.UnitWorkId; newWorkPackage.SuperWorkPack = WorkPackage.SuperWorkPack; newWorkPackage.PackageCode = WorkPackage.PackageCode; newWorkPackage.SuperWorkPackageId = WorkPackage.SuperWorkPackageId; newWorkPackage.PackageContent = WorkPackage.PackageContent; newWorkPackage.ProjectId = WorkPackage.ProjectId; newWorkPackage.IsChild = WorkPackage.IsChild; newWorkPackage.SortIndex = WorkPackage.SortIndex; newWorkPackage.InitWorkPackageCode = WorkPackage.InitWorkPackageCode; newWorkPackage.Weights = WorkPackage.Weights; newWorkPackage.ProjectType = WorkPackage.ProjectType; newWorkPackage.IsApprove = WorkPackage.IsApprove; newWorkPackage.Costs = WorkPackage.Costs; db.WBS_WorkPackage.InsertOnSubmit(newWorkPackage); db.SubmitChanges(); } /// /// 修改分部分项工程 /// /// public static void UpdateWorkPackage(Model.WBS_WorkPackage WorkPackage) { Model.SGGLDB db = Funs.DB; Model.WBS_WorkPackage newWorkPackage = db.WBS_WorkPackage.First(e => e.WorkPackageId == WorkPackage.WorkPackageId); newWorkPackage.WorkPackageCode = WorkPackage.WorkPackageCode; newWorkPackage.UnitWorkId = WorkPackage.UnitWorkId; newWorkPackage.PackageCode = WorkPackage.PackageCode; newWorkPackage.PackageContent = WorkPackage.PackageContent; newWorkPackage.ProjectId = WorkPackage.ProjectId; newWorkPackage.IsChild = WorkPackage.IsChild; newWorkPackage.SortIndex = WorkPackage.SortIndex; newWorkPackage.Weights = WorkPackage.Weights; newWorkPackage.IsApprove = WorkPackage.IsApprove; newWorkPackage.Costs = WorkPackage.Costs; db.SubmitChanges(); } /// /// 根据单位工程id获取一个第一级分部信息 /// /// /// public static Model.WBS_WorkPackage GetWorkPackages1ByUnitWorkId(string unitWorkId) { return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.SuperWorkPackageId == null && x.IsApprove == true && x.UnitWorkId == unitWorkId); } /// /// 根据单位工程Id获取第一级所有分部信息 /// /// /// public static List GetWorkPackages1sByUnitWorkId(string unitWorkId) { return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == null && x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode select x).ToList(); } /// /// 根据单位工程Id获取第一级审批所有分部信息 /// /// /// public static List GetApproveWorkPackages1sByUnitWorkId(string unitWorkId) { return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == null && x.UnitWorkId.ToString() == unitWorkId && x.IsApprove == true orderby x.WorkPackageCode select x).ToList(); } /// /// 根据单位工程Id获取所有分部信息 /// /// /// public static List GetAllWorkPackagesByUnitWorkId(string unitWorkId) { return (from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode select x).ToList(); } /// /// 根据项目Id获取所有分部信息 /// /// /// public static List GetAllWorkPackagesByProjectId(string projectId) { return (from x in Funs.DB.WBS_WorkPackage where x.ProjectId == projectId orderby x.WorkPackageCode select x).ToList(); } /// /// 根据分部分项Id获取分部分项信息 /// /// /// public static Model.WBS_WorkPackage GetWorkPackageByWorkPackageId(string workPackageId) { return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.WorkPackageId == workPackageId); } /// /// 根据父级Id获取所有分部分项信息 /// /// /// public static List GetAllWorkPackagesBySuperWorkPackageId(string workPackageId) { return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackageId orderby x.WorkPackageCode select x).ToList(); } /// /// 根据父级Id获取所有审批分部分项信息 /// /// /// public static List GetAllApproveWorkPackagesBySuperWorkPackageId(string workPackageId) { return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackageId && x.IsApprove == true orderby x.WorkPackageCode select x).ToList(); } /// /// 根据子分部工程Id删除一个子分部工程信息 /// /// public static void DeleteWorkPackage(string WorkPackageId) { Model.SGGLDB db = Funs.DB; Model.WBS_WorkPackage WorkPackage = db.WBS_WorkPackage.First(e => e.WorkPackageId == WorkPackageId); db.WBS_WorkPackage.DeleteOnSubmit(WorkPackage); db.SubmitChanges(); } /// /// 根据分部分项Id删除所有明细信息 /// /// public static void DeleteAllWorkPackageByUnitWorkId(string unitWorkId) { Model.SGGLDB db = Funs.DB; List q = (from x in db.WBS_WorkPackage where x.UnitWorkId == unitWorkId orderby x.WorkPackageCode select x).ToList(); db.WBS_WorkPackage.DeleteAllOnSubmit(q); db.SubmitChanges(); } /// /// 根据初始工作包编码和单位工程获取工作包集合 /// /// /// /// public static List GetWorkPackagesByInitWorkPackageCodeAndUnitWorkId(string initWorkPackageCode, string unitWorkId) { return (from x in Funs.DB.WBS_WorkPackage where x.InitWorkPackageCode == initWorkPackageCode && x.UnitWorkId.ToString() == unitWorkId orderby x.WorkPackageCode descending select x).ToList(); } /// /// 根据单位工程Id获取所有分部信息 /// /// /// public static List GetAllWorkPackagesByUnitWorkIds(string[] unitWorkIds) { return (from x in Funs.DB.WBS_WorkPackage where unitWorkIds.Contains(x.UnitWorkId) orderby x.WorkPackageCode select x).ToList(); } /// /// 获取单位工程分部分项下拉列表 /// /// /// /// public static void InitWorkPackagesDropDownListByUnitWorkId(FineUIPro.DropDownList dropName, string unitWorkId, bool isShowPlease) { dropName.DataValueField = "WorkPackageId"; dropName.DataTextField = "PackageContent"; dropName.DataSource = GetAllWorkPackagesByUnitWorkId(unitWorkId); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } } }