using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Web.UI.WebControls; namespace BLL { public class BreakdownService { public static Model.SGGLDB db = Funs.DB; /// /// 记录数 /// public static int count { get; set; } /// /// 定义变量 /// private static IQueryable qq = from x in db.WBS_Breakdown orderby x.SortIndex select x; /// /// 获取项目列表 /// /// /// /// /// /// public static IEnumerable getListData(string divisionId, string name, int startRowIndex, int maximumRows) { IQueryable q = qq; if (!string.IsNullOrEmpty(divisionId)) { q = q.Where(e => e.DivisionId == divisionId); } 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.BreakdownId, x.BreakdownCode, x.BreakdownName, x.DivisionId, x.Basis, x.CheckPoints, x.RecordAndCode, x.Class, x.Remark, x.FenBao, x.WuHuan, x.JianLi, x.YeZhu, CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15), RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15), x.ModelURL }; } /// /// 获取列表数 /// /// /// /// public static int getListCount(string divisionId, string name) { return count; } /// /// 添加分项 /// /// public static void AddBreakdown(Model.WBS_Breakdown breakdown) { Model.SGGLDB db = Funs.DB; Model.WBS_Breakdown newBreakdown = new Model.WBS_Breakdown(); newBreakdown.BreakdownId = breakdown.BreakdownId; newBreakdown.BreakdownCode = breakdown.BreakdownCode; newBreakdown.BreakdownName = breakdown.BreakdownName; newBreakdown.DivisionId = breakdown.DivisionId; newBreakdown.Basis = breakdown.Basis; newBreakdown.CheckPoints = breakdown.CheckPoints; newBreakdown.RecordAndCode = breakdown.RecordAndCode; newBreakdown.Class = breakdown.Class; newBreakdown.SortIndex = breakdown.SortIndex; newBreakdown.Remark = breakdown.Remark; newBreakdown.ModelURL = breakdown.ModelURL; newBreakdown.IsAcceptance = breakdown.IsAcceptance; newBreakdown.FenBao = breakdown.FenBao; newBreakdown.WuHuan = breakdown.WuHuan; newBreakdown.JianLi = breakdown.JianLi; newBreakdown.YeZhu = breakdown.YeZhu; db.WBS_Breakdown.InsertOnSubmit(newBreakdown); db.SubmitChanges(); } /// /// 修改分项 /// /// public static void UpdateBreakdown(Model.WBS_Breakdown breakdown) { Model.SGGLDB db = Funs.DB; Model.WBS_Breakdown newBreakdown = db.WBS_Breakdown.First(e => e.BreakdownId == breakdown.BreakdownId); newBreakdown.BreakdownCode = breakdown.BreakdownCode; newBreakdown.BreakdownName = breakdown.BreakdownName; newBreakdown.DivisionId = breakdown.DivisionId; newBreakdown.Basis = breakdown.Basis; newBreakdown.CheckPoints = breakdown.CheckPoints; newBreakdown.RecordAndCode = breakdown.RecordAndCode; newBreakdown.Class = breakdown.Class; newBreakdown.SortIndex = breakdown.SortIndex; newBreakdown.Remark = breakdown.Remark; newBreakdown.ModelURL = breakdown.ModelURL; newBreakdown.FenBao = breakdown.FenBao; newBreakdown.WuHuan = breakdown.WuHuan; newBreakdown.JianLi = breakdown.JianLi; newBreakdown.YeZhu = breakdown.YeZhu; db.SubmitChanges(); } /// /// 根据一个分项信息 /// /// public static void DeleteBreakdown(string breakdownId) { Model.SGGLDB db = Funs.DB; Model.WBS_Breakdown breakdown = db.WBS_Breakdown.First(e => e.BreakdownId == breakdownId); db.WBS_Breakdown.DeleteOnSubmit(breakdown); db.SubmitChanges(); } /// /// 根据一个子分部信息删除所有对应分项信息 /// /// public static void DeleteAllBreakdown(string divisionId) { Model.SGGLDB db = Funs.DB; var q = from x in db.WBS_Breakdown where x.DivisionId == divisionId select x; if (q.Count() > 0) { db.WBS_Breakdown.DeleteAllOnSubmit(q); db.SubmitChanges(); } } /// /// 获取施工分项项 /// /// public static ListItem[] GetBreakdownNameList() { var q = (from x in Funs.DB.WBS_Breakdown 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].BreakdownId.ToString()); } return list; } /// /// 根据主键返回一个分项信息 /// /// 分项编号 /// public static Model.WBS_Breakdown GetBreakdownById(string breakdownId) { return Funs.DB.WBS_Breakdown.FirstOrDefault(x => x.BreakdownId == breakdownId); } /// /// 根据子分部Id返回所有分项信息 /// /// 分项编号 /// public static List GetBreakdownsByDivisionId(string divisionId) { return (from x in Funs.DB.WBS_Breakdown where x.DivisionId == divisionId select x).ToList(); } /// /// 判断分项编号是否存在 /// /// /// public static bool IsExistBreakdownCode(string breakdownCode, string breakdownId) { Model.WBS_Breakdown m = Funs.DB.WBS_Breakdown.FirstOrDefault(e => e.BreakdownCode == breakdownCode && e.BreakdownId != breakdownId); if (m != null) { return true; } else { return false; } } /// /// 判断分项名称是否存在 /// /// /// public static bool IsExistProfessionalName(string breakdownName, string breakdownId) { Model.WBS_Breakdown m = Funs.DB.WBS_Breakdown.FirstOrDefault(e => e.BreakdownName == breakdownName && e.BreakdownId != breakdownId); if (m != null) { return true; } else { return false; } } } }