示例#1
0
        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);
        }
示例#2
0
        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;
        }
示例#6
0
 /// <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));
 }
示例#7
0
        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);
        }