/// <summary> /// 复杂查询 /// </summary> /// <param name="model">查询对象</param> /// <param name="Orders">排序字典key:排序的字段,value:asc升序/desc降序</param> /// <param name="PageSize">每页行数,默认15</param> /// <param name="PageIndex">当前页码,默认100</param> /// <returns></returns> public DataGrid <T_CostModel> Search(T_CostModel model, Dictionary <string, string> Orders = null, int PageSize = 15, int PageIndex = 100) { Expression <Func <T_Cost, bool> > where = null; //最终查询条件 var lambdaList = new List <Expression <Func <T_Cost, bool> > >(); //lambda查询条件集合 int total = 0; //总行数 if (model.Description != null) { lambdaList.Add(c => c.Description.Contains(model.Description)); } if (model.CategoryId != null && model.CategoryId > 0) { T_SysListBLL syslist = new T_SysListBLL(); List <int> childer = syslist.GetChildren(1, (int)model.CategoryId); lambdaList.Add(c => childer.Contains((int)c.CategoryId)); } //将集合表达式树转换成Expression表达式树 MyVisitor <T_Cost, T_Cost> visitor = new MyVisitor <T_Cost, T_Cost>(); where = visitor.Modify(lambdaList); var list = dal.Search(out total, where, Orders, PageSize, PageIndex).DTOList().ToList(); var result = new DataGrid <T_CostModel>() { rows = list, total = total }; return(result); }
public static T_Cost ToModel(this T_CostModel node) { return(new T_Cost() { Id = node.Id, CategoryId = node.CategoryId, SupplierId = node.SupplierId, Group = node.Group, Cost = node.Cost, Description = node.Description, Level = node.Level, Profit = node.Profit, Remark = node.Remark, Uom = node.Uom, Enable = node.Enable, }); }
public int DeleteData(T_CostModel model) { return(this.Delete(model.Id)); }
public int EditData(T_CostModel model) { return(this.Edit(model.ToModel())); }
public int AddData(T_CostModel model) { return(this.Add(model.ToModel())); }
public static T_CostModel DTO(this T_Cost node) { if (node == null) { return(null); } var model = new T_CostModel() { Id = node.Id, CategoryId = node.CategoryId, SupplierId = node.SupplierId, Group = node.Group, Cost = node.Cost, Description = node.Description, Level = node.Level, Profit = node.Profit, Remark = node.Remark, Uom = node.Uom, Enable = node.Enable, Category = node.Category.DTO(), CategoryName = node.Category != null ? node.Category.Name:null, Supplier = node.Supplier.DTO(), Qty = 1, Price = node.Profit, }; if (model.Profit > 0) { model.CostMarkup = Math.Round(((model.Profit - model.Cost) / model.Profit) * 100, 2); } else { model.CostMarkup = 0; } if (model.Category != null) { //默认只到6级 #region 循环 var firstname = ""; List <string> fromname = new List <string>(); var item = model.Category; firstname = item.Name; fromname.Add(item.Name); //第2 if (item.ParSysList != null) { var item2 = item.ParSysList; firstname = item2.Name; fromname.Add(item2.Name); //第2 if (item2.ParSysList != null) { var item3 = item2.ParSysList; firstname = item3.Name; fromname.Add(item3.Name); //第3 if (item3.ParSysList != null) { var item4 = item3.ParSysList; firstname = item4.Name; fromname.Add(item4.Name); //第4 if (item4.ParSysList != null) { var item5 = item4.ParSysList; firstname = item5.Name; fromname.Add(item5.Name); //第5 if (item5.ParSysList != null) { var item6 = item5.ParSysList; firstname = item6.Name; fromname.Add(item6.Name); //第6 if (item6.ParSysList != null) { var item7 = item6.ParSysList; firstname = item7.Name; fromname.Add(item7.Name); //第7 if (item7.ParSysList != null) { var item8 = item7.ParSysList; firstname = item8.Name; fromname.Add(item8.Name); } } } } } } } #endregion model.CategoryLoopName = firstname; model.CategoryFromName = string.Join(",", fromname.ToArray()); } return(model); }