public IList <OM_ProductInfo> GetProductList(string cipher, string CardCode, string searchKey, int pageIndex) { int _currentProductListCount = 0; PageListParameter <OM_Product, string> parameter = new PageListParameter <OM_Product, string>(); parameter.whereLambda = s => ((s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) && (s.ParentId == null || s.ParentId == s.ItemCode) & s.IsDel == false); if (!string.IsNullOrWhiteSpace(searchKey)) { parameter.whereLambda = s => ((s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) & s.IsDel == false); } parameter.pageIndex = pageIndex; parameter.orderByLambda = s => s.ItemCode; parameter.pageSize = 100; IList <OM_ProductInfo> result = new List <OM_ProductInfo>(); var productList = orderManger.GetProductList(parameter, out _currentProductListCount); var user = userManager.GetUser(s => s.Account == CardCode); //减少递归读取数据库次数 if (productList != null || productList.Count > 0) { StaticResource.UserProductPrices = orderManger.GetProducePricetList(s => user.Guid.Trim().ToLower() == s.User_Guid.Trim().ToLower()); } foreach (var item in productList) { string price = null; List <OM_ProductInfo> children = orderManger.GetChildProductRecursion(item.CardCode, item.ItemCode, user.Guid); // 说明是最终产品节点 if (children == null || children.Count == 0) { // orderManger.GetCurrentProducePriceList(item.ItemCode, user.Guid).Select(a => a.Price.ToString("0.00")).FirstOrDefault(); var exist = StaticResource.UserProductPrices.Find(s => s.Product_ItemCode == item.ItemCode); if (exist != null) { price = exist.Price.ToString("0.00"); } } OM_ProductInfo product = new OM_ProductInfo(); product.ItemName = item.ItemName; product.ItemCode = item.ItemCode; product.Price = price; product.ItemStandar = item.ItemStandard == null ? "Empty" : item.ItemStandard; product.ItemUnit = item.ItemUnit == null ? "Empty" : item.ItemUnit; product.ChildNode = children; result.Add(product); } return(result); }
public int GetProductListCount(string cipher, string CardCode, string searchKey) { int count = 0; PageListParameter <OM_Product, string> parameter = new PageListParameter <OM_Product, string>(); parameter.whereLambda = s => (s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) //&& s.CardCode == CardCode && (s.ParentId == null || s.ParentId == s.ItemCode); parameter.orderByLambda = s => s.ItemCode; parameter.pageSize = int.MaxValue; parameter.pageIndex = 0; orderManger.GetProductList(parameter, out count); return(count); //return _currentProductListCount; }
public virtual List <T> GetPagedList <T, TKey>(PageListParameter <T, TKey> parameter, out int count) where T : class { count = _dbContext.Set <T>().Where(parameter.whereLambda).Count(); var list = _dbContext.Set <T>().Where <T>(parameter.whereLambda); if (parameter.isAsc) { list = list.OrderBy(parameter.orderByLambda); } else { list = list.OrderByDescending(parameter.orderByLambda); } var result = list.Skip((parameter.pageIndex) * parameter.pageSize).Take(parameter.pageSize).ToList(); return(result); }
public int GetProductListCount(string cipher, string CardCode, string searchKey) { int count = 0; PageListParameter<OM_Product, string> parameter = new PageListParameter<OM_Product, string>(); parameter.whereLambda = s => (s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) //&& s.CardCode == CardCode && (s.ParentId == null || s.ParentId == s.ItemCode); parameter.orderByLambda = s => s.ItemCode; parameter.pageSize = int.MaxValue; parameter.pageIndex = 0; orderManger.GetProductList(parameter, out count); return count; //return _currentProductListCount; }
public IList<OM_ProductInfo> GetProductList(string cipher, string CardCode, string searchKey, int pageIndex) { int _currentProductListCount = 0; PageListParameter<OM_Product, string> parameter = new PageListParameter<OM_Product, string>(); parameter.whereLambda = s => ((s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) && (s.ParentId == null || s.ParentId == s.ItemCode) & s.IsDel == false); if (!string.IsNullOrWhiteSpace(searchKey)) { parameter.whereLambda = s => ((s.ItemCode.Contains(searchKey.ToUpper()) || s.ItemName.Contains(searchKey)) & s.IsDel == false); } parameter.pageIndex = pageIndex; parameter.orderByLambda = s => s.ItemCode; parameter.pageSize = 100; IList<OM_ProductInfo> result = new List<OM_ProductInfo>(); var productList = orderManger.GetProductList(parameter, out _currentProductListCount); var user = userManager.GetUser(s => s.Account == CardCode); //减少递归读取数据库次数 if (productList != null || productList.Count > 0) StaticResource.UserProductPrices = orderManger.GetProducePricetList(s => user.Guid.Trim().ToLower() == s.User_Guid.Trim().ToLower()); foreach (var item in productList) { string price = null; List<OM_ProductInfo> children = orderManger.GetChildProductRecursion(item.CardCode, item.ItemCode, user.Guid); // 说明是最终产品节点 if (children == null || children.Count == 0) { // orderManger.GetCurrentProducePriceList(item.ItemCode, user.Guid).Select(a => a.Price.ToString("0.00")).FirstOrDefault(); var exist = StaticResource.UserProductPrices.Find(s => s.Product_ItemCode == item.ItemCode); if (exist != null) price = exist.Price.ToString("0.00"); } OM_ProductInfo product = new OM_ProductInfo(); product.ItemName = item.ItemName; product.ItemCode = item.ItemCode; product.Price = price; product.ItemStandar = item.ItemStandard == null ? "Empty" : item.ItemStandard; product.ItemUnit = item.ItemUnit == null ? "Empty" : item.ItemUnit; product.ChildNode = children; result.Add(product); } return result; }
/// <summary> /// /// </summary> /// <typeparam name="Tkey">sort 的排序字段类型</typeparam> /// <param name="parameter"></param> /// <param name="count"></param> /// <returns></returns> public IList <OM_Product> GetProductList <Tkey>(PageListParameter <OM_Product, Tkey> parameter, out int count) { //DbRepository.CurrentContext.OM_Order.SqlQuery(""); return(DbRepository.GetPagedList(parameter, out count)); }
public IList <OM_Order> GetSalesOrderList <Tkey>(PageListParameter <OM_Order, Tkey> parameter, out int count) { var result = DbRepository.GetPagedList <OM_Order, Tkey>(parameter, out count); return(result); }