using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Web.UI.WebControls; namespace BLL { public class BreakdownProjectService { public static Model.SGGLDB db = Funs.DB; /// /// 记录数 /// public static int count { get; set; } /// /// 记录数2 /// public static int count2 { get; set; } /// /// 记录数3 /// public static int count3 { get; set; } /// /// 定义变量 /// private static IQueryable qq = from x in db.WBS_BreakdownProject orderby x.SortIndex select x; /// /// 获取项目列表 /// /// /// /// /// /// public static IEnumerable getListData(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows) { IQueryable q = qq; if (!string.IsNullOrEmpty(projectId)) { q = q.Where(e => e.ProjectId == projectId); } if (!string.IsNullOrEmpty(divisionProjectId)) { q = q.Where(e => e.DivisionProjectId == divisionProjectId); } if (!string.IsNullOrEmpty(name)) { q = q.Where(e => e.BreakdownName.Contains(name)); } count = q.Count(); if (count == 0) { return new object[] { "" }; } return from x in q.Skip(startRowIndex).Take(maximumRows) select new { x.BreakdownProjectId, x.BreakdownCode, x.BreakdownName, x.DivisionProjectId, x.Basis, x.CheckPoints, x.RecordAndCode, x.Class, x.Remark, x.FenBao, x.YeZhu, x.WuHuan, x.JianLi, CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15), RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15), x.AttachUrl, x.ModelURL }; } /// /// 获取列表数 /// /// /// /// public static int getListCount(string projectId, string divisionProjectId, string name) { return count; } /// /// 定义变量 /// private static IQueryable qq2 = from x in db.View_WBS select x; /// /// 获取项目已选择的WBS列表 /// /// /// /// /// /// public static IEnumerable getListData2(string projectId, int startRowIndex, int maximumRows) { IQueryable q = qq2; if (!string.IsNullOrEmpty(projectId)) { q = q.Where(e => e.ProjectId == projectId); } count2 = q.Count(); if (count2 == 0) { return new object[] { "" }; } return from x in q.Skip(startRowIndex).Take(maximumRows) select new { x.ProfessionalName, x.DivisionName3, x.DivisionName2, x.DivisionName1, x.ProjectId, x.BreakdownCode, x.BreakdownName, x.Basis, x.CheckPoints, x.RecordAndCode, x.Class, x.Remark, }; } /// /// 获取列表数 /// /// /// /// public static int getListCount2(string projectId) { return count2; } /// /// 定义变量 /// private static IQueryable qq3 = from x in db.View_WBS_BreakdownProject orderby x.SortIndex select x; /// /// 获取项目列表 /// /// /// /// /// /// public static IEnumerable getListData3(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows) { IQueryable q = qq3; if (!string.IsNullOrEmpty(projectId)) { q = q.Where(e => e.ProjectId == projectId); } if (!string.IsNullOrEmpty(divisionProjectId)) { q = q.Where(e => e.DivisionProjectId == divisionProjectId); } if (!string.IsNullOrEmpty(name)) { q = q.Where(e => e.BreakdownName.Contains(name)); } count3 = q.Count(); if (count3 == 0) { return new object[] { "" }; } return from x in q.Skip(startRowIndex).Take(maximumRows) select new { x.BreakdownProjectId, x.BreakdownCode, x.BreakdownName, x.DivisionProjectId, x.Basis, x.CheckPoints, x.RecordAndCode, x.Class, x.Remark, x.FenBao, x.YeZhu, x.WuHuan, x.JianLi, CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15), RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15), x.AttachUrl, }; } /// /// 获取列表数 /// /// /// /// public static int getListCount3(string projectId, string divisionProjectId, string name) { return count3; } /// /// 添加分项 /// /// public static void AddBreakdownProject(Model.WBS_BreakdownProject breakdownProject) { Model.SGGLDB db = Funs.DB; Model.WBS_BreakdownProject newBreakdownProject = new Model.WBS_BreakdownProject(); newBreakdownProject.BreakdownProjectId = breakdownProject.BreakdownProjectId; newBreakdownProject.ProjectId = breakdownProject.ProjectId; newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode; newBreakdownProject.BreakdownName = breakdownProject.BreakdownName; newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId; newBreakdownProject.Basis = breakdownProject.Basis; newBreakdownProject.CheckPoints = breakdownProject.CheckPoints; newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode; newBreakdownProject.Class = breakdownProject.Class; newBreakdownProject.SortIndex = breakdownProject.SortIndex; newBreakdownProject.Remark = breakdownProject.Remark; newBreakdownProject.AttachUrl = breakdownProject.AttachUrl; newBreakdownProject.ModelURL = breakdownProject.ModelURL; newBreakdownProject.UnitWorkId = breakdownProject.UnitWorkId; newBreakdownProject.IsAcceptance = breakdownProject.IsAcceptance; newBreakdownProject.CompileMan = breakdownProject.CompileMan; newBreakdownProject.CompileDate = breakdownProject.CompileDate; newBreakdownProject.IsYellow = breakdownProject.IsYellow; newBreakdownProject.WuHuan = breakdownProject.WuHuan; newBreakdownProject.JianLi = breakdownProject.JianLi; newBreakdownProject.YeZhu = breakdownProject.YeZhu; newBreakdownProject.FenBao = breakdownProject.FenBao; newBreakdownProject.SourceBreakdownId = breakdownProject.SourceBreakdownId; newBreakdownProject.CheckAcceptType = breakdownProject.CheckAcceptType; db.WBS_BreakdownProject.InsertOnSubmit(newBreakdownProject); db.SubmitChanges(); } /// /// 修改分项 /// /// public static void UpdateBreakdownProject(Model.WBS_BreakdownProject breakdownProject) { Model.SGGLDB db = Funs.DB; Model.WBS_BreakdownProject newBreakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProject.BreakdownProjectId); newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode; newBreakdownProject.BreakdownName = breakdownProject.BreakdownName; newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId; newBreakdownProject.Basis = breakdownProject.Basis; newBreakdownProject.CheckPoints = breakdownProject.CheckPoints; newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode; newBreakdownProject.Class = breakdownProject.Class; newBreakdownProject.SortIndex = breakdownProject.SortIndex; newBreakdownProject.Remark = breakdownProject.Remark; newBreakdownProject.AttachUrl = breakdownProject.AttachUrl; newBreakdownProject.IsSelected = breakdownProject.IsSelected; newBreakdownProject.WuHuan = breakdownProject.WuHuan; newBreakdownProject.JianLi = breakdownProject.JianLi; newBreakdownProject.YeZhu = breakdownProject.YeZhu; newBreakdownProject.FenBao = breakdownProject.FenBao; newBreakdownProject.CheckAcceptType = breakdownProject.CheckAcceptType; db.SubmitChanges(); } /// /// 根据一个分项信息 /// /// public static void DeleteBreakdown(string breakdownProjectId) { Model.SGGLDB db = Funs.DB; Model.WBS_BreakdownProject breakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProjectId); db.WBS_BreakdownProject.DeleteOnSubmit(breakdownProject); db.SubmitChanges(); } /// /// 根据一个子分部信息删除所有对应分项信息 /// /// public static void DeleteAllBreakdown(string divisionProjectId) { Model.SGGLDB db = Funs.DB; var q = from x in db.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x; if (q.Count() > 0) { db.WBS_BreakdownProject.DeleteAllOnSubmit(q); db.SubmitChanges(); } } /// /// 根据一个单位工程信息删除所有对应分项信息 /// /// public static void DeleteAllBreakdownByUnitWorkId(string unitWorkId) { Model.SGGLDB db = Funs.DB; var q = from x in db.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x; db.WBS_BreakdownProject.DeleteAllOnSubmit(q); db.SubmitChanges(); } /// /// 获取施工分项项 /// /// public static ListItem[] GetBreakdownNameList() { var q = (from x in Funs.DB.WBS_BreakdownProject orderby x.SortIndex select x).ToList(); ListItem[] list = new ListItem[q.Count()]; for (int i = 0; i < q.Count(); i++) { list[i] = new ListItem(q[i].BreakdownName ?? "", q[i].BreakdownProjectId.ToString()); } return list; } /// /// 根据主键返回一个分项信息 /// /// 分项编号 /// public static Model.WBS_BreakdownProject GetBreakdownProjectById(string breakdownProjectId) { return Funs.DB.WBS_BreakdownProject.FirstOrDefault(x => x.BreakdownProjectId == breakdownProjectId); } /// /// 根据子分部Id返回所有分项信息 /// /// 分项编号 /// public static List GetBreakdownProjectsByDivisionProjectId(string divisionProjectId) { return (from x in Funs.DB.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x).ToList(); } public static List GetBreakdownProjectsBySourceBreakdownId(string projectId, string unitWorkId, string sourceBreakdownId) { if (!string.IsNullOrEmpty(sourceBreakdownId)) { string[] ids = sourceBreakdownId.Split(','); return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && ids.Contains(x.SourceBreakdownId) select x).ToList(); } return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && x.SourceBreakdownId == sourceBreakdownId select x).ToList(); } /// /// 根据单元Id返回所有分项信息 /// /// 分项编号 /// public static List GetBreakdownProjectsByInstallationId(string unitWorkId) { return (from x in Funs.DB.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x).ToList(); } /// /// 判断分项编号是否存在 /// /// /// public static bool IsExistBreakdownCode(string breakdownCode, string breakdownProjectId) { Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownCode == breakdownCode && e.BreakdownProjectId != breakdownProjectId); if (m != null) { return true; } else { return false; } } /// /// 判断分项名称是否存在 /// /// /// public static bool IsExistProfessionalName(string breakdownName, string breakdownProjectId) { Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownName == breakdownName && e.BreakdownProjectId != breakdownProjectId); if (m != null) { return true; } else { return false; } } } }