Esempio n. 1
0
 public async Task <ResponsePagingBase> GetPurchasePaging([FromBody] GetPurchasePagingRequest request)
 {
     try
     {
         var action = new GetPurchasePagingAction(_openDataBll, _goodsBll, _areaBll, _baseSupplierBll);
         return(await action.ProcessAction(this.HttpContext, request));
     }
     catch (Exception ex)
     {
         Log.Error(request, ex, this.GetType());
         return(new ResponsePagingBase().GetResponseCodeError());
     }
 }
        /// <summary>
        /// 分页获取商品信息
        /// </summary>
        /// <param name="httpContext"></param>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ResponsePagingBase> ProcessAction(HttpContext httpContext, GetPurchasePagingRequest request)
        {
            if (!HandleRequest(httpContext, request))
            {
                return(ResponsePagingBase.Success(new List <OpInReceiptDetail>(), 0));
            }
            var result = await _openDataBll.GetInReceiptDetail(request);

            if (result == null || result.Item2 == 0)
            {
                return(ResponsePagingBase.Success(new List <OpInReceiptDetail>(), 0));
            }
            var inReceipt        = result.Item1.ToList();
            var goodsCategoryIds = new List <long>();
            var areaIds          = new List <long>();
            var unitIds          = new List <long>();
            var brandIds         = new List <long>();
            var supplierIds      = new List <long>();

            foreach (var g in inReceipt)
            {
                areaIds.Add(g.Province);
                areaIds.Add(g.City);
                areaIds.Add(g.District);
                areaIds.Add(g.Street);
                unitIds.Add(g.UnitId);
                goodsCategoryIds.Add(g.GoodsCategoryId);
                brandIds.Add(g.BrandId);
                supplierIds.Add(g.InOfferId);
            }
            var areas = await _areaBll.GetArea(areaIds.Distinct().ToList());

            var goodsCategorys = await _goodsBll.GetGoodsCategory(goodsCategoryIds.Distinct().ToList());

            var units = await _goodsBll.GetUnits(unitIds.Distinct().ToList());

            var brands = await _goodsBll.GetGoodsBrands(brandIds.Distinct().ToList());

            var suppliers = await _baseSupplierBll.GetBaseSupplier(supplierIds.Distinct().ToList());

            var opReceiptDetail = inReceipt.Select(p => new OpInReceiptDetail()
            {
                Province          = ComLib.GetAreaName(p.Province, areas),
                City              = ComLib.GetAreaName(p.City, areas),
                District          = ComLib.GetAreaName(p.District, areas),
                Street            = ComLib.GetAreaName(p.Street, areas),
                GoodsCategoryName = ComLib.GetCategoryName(p.GoodsCategoryId, goodsCategorys),
                GoodsName         = p.GoodsName,
                GoodsSpec         = p.GoodsSpec,
                ShopName          = p.ShopName,
                GoodsBrand        = ComLib.GetBrand(p.BrandId, brands),
                InCode            = p.InCode,
                InDate            = p.InDate.ToDateTimeFromTimeStamp(),
                Qty          = p.Qty,
                SupplierName = ComLib.GetSupplierName(p.InOfferId, suppliers),
                UnitName     = ComLib.GetUnitNmae(p.UnitId, units)
            });

            return(ResponsePagingBase.Success(opReceiptDetail, result.Item2));
        }
 /// <summary>
 /// 处理请求参数
 /// </summary>
 /// <param name="httpContext"></param>
 /// <param name="request"></param>
 private bool HandleRequest(HttpContext httpContext, GetPurchasePagingRequest request)
 {
     return(ComLib.HandleRequest(httpContext, request));
 }