Exemplo n.º 1
0
        public GetGeneralResponse <IEnumerable <GetSaleDetailReportView> > GetSaleReport(SaleReportRequest request)
        {
            GetGeneralResponse <IEnumerable <GetSaleDetailReportView> > response = new GetGeneralResponse <IEnumerable <GetSaleDetailReportView> >();

            IQueryable <ProductSaleDetail> query = _productSaleDetailRepository.Queryable();

            if (request.SaleEmployeeID != null)
            {
                query = query.Where(x => request.SaleEmployeeID.Contains(x.Sale.CreateEmployee.ID));
            }

            if (request.DeliverEmployeeID != null)
            {
                query = query.Where(x => request.DeliverEmployeeID.Contains(x.DeliverEmployee.ID));
            }

            if (request.RollBackEmployeeID != null)
            {
                query = query.Where(x => request.RollBackEmployeeID.Contains(x.CreateEmployee.ID)).Where(x => x.IsRollbackDetail);
            }

            if (request.Products != null)
            {
                query = query.Where(x => request.Products.Contains(x.ProductPrice.Product.ID));
            }
            if (request.ProductPrices != null)
            {
                query = query.Where(x => request.Products.Contains(x.ProductPrice.ID));
            }
            if (request.RollBackStartDate != null)
            {
            }
            if (request.RollBackEndDate != null)
            {
            }
            if (request.Deliverd != null)
            {
                query = query.Where(x => x.Delivered == request.Deliverd).Where(x => x.IsRollbackDetail == false);
            }
            if (request.Confirmed != null)
            {
                query = query.Where(x => x.Sale.Closed == request.Confirmed);
            }
            if (request.RollBacked != null)
            {
                query = query.Where(x => x.Rollbacked == request.RollBacked);
            }



            IEnumerable <ProductSaleDetail> productSaleDetail = query.ToList();

            IList <GetSaleDetailReportView> Report = new List <GetSaleDetailReportView>();

            foreach (ProductSaleDetail _productSaleDetail in productSaleDetail)
            {
                GetSaleDetailReportView item = new GetSaleDetailReportView();

                item.ADSLPhone           = _productSaleDetail.Sale.Customer.ADSLPhone;
                item.CenterName          = _productSaleDetail.Sale.Customer.Center == null ? "" : _productSaleDetail.Sale.Customer.Center.CenterName;
                item.DeliverDate         = _productSaleDetail.DeliverDate;
                item.DeliverEmployeeName = _productSaleDetail.DeliverEmployee == null ? "" : (string)_productSaleDetail.DeliverEmployee.Name;
                item.Discount            = _productSaleDetail.LineDiscount;
                item.Imposition          = _productSaleDetail.LineImposition;
                item.Name                 = _productSaleDetail.Sale.Customer.Name;
                item.Price                = _productSaleDetail.UnitPrice;
                item.Count                = _productSaleDetail.Units;
                item.ProductName          = _productSaleDetail.ProductPrice.Product.ProductName;
                item.ProductPriceName     = _productSaleDetail.ProductPrice.ProductPriceTitle;
                item.RollBackEmployeeName = _productSaleDetail.ModifiedEmployee == null ? "" : (string)_productSaleDetail.ModifiedEmployee.Name;
                item.RollBackPrice        = _productSaleDetail.RollbackPrice;
                item.RoolBackDate         = _productSaleDetail.ModifiedDate;
                item.SaleDate             = _productSaleDetail.Sale.CloseDate;
                item.Total                = _productSaleDetail.LineTotal;
                item.TotalRollBack        = _productSaleDetail.Units;
                item.SaleDate             = _productSaleDetail.Sale.CreateDate;
                item.SaleEmployeeName     = _productSaleDetail.CreateEmployee.Name;


                Report.Add(item);
            }

            response.data       = Report;
            response.totalCount = Report.Count();

            return(response);
        }
Exemplo n.º 2
0
 public object SaleCashierDateReport([FromBody] SaleReportRequest requestParams)
 {
     return(ReportService.SaleCashierDateReport(requestParams.StoreId, requestParams.Date, requestParams.Date2, requestParams.Type));
 }