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)); }