Beispiel #1
0
        public ActionResult invoiceDetailList(DataSourceRequest command, InvoiceDetailSearchCondition condition)
        {
            condition.PageSize   = command.PageSize;
            condition.PageNumber = command.Page - 1;
            var invoice = _invoiceService.GetInvoiceById(condition.InvoiceId);
            PageList <InvoiceDetailModel> invoiceDetails;

            if (invoice.OrderId.HasValue)
            {
                condition.OrderId = invoice.OrderId.Value;
                invoiceDetails    = _invoiceService.GetInvoiceDetailsByOrderId(condition);
            }
            else
            {
                invoiceDetails = _invoiceService.SearchInvoiceDetails(condition);
            }
            //invoiceDetails = _invoiceService.SearchInvoiceDetails(condition);
            invoiceDetails.DataSource.ForEach(x => x.Amount = x.UnitPrice * x.Quantity);
            var gridModel = new DataSourceResult
            {
                Data  = invoiceDetails.DataSource,
                Total = invoiceDetails.TotalItems
            };

            return(Json(gridModel));
        }
Beispiel #2
0
        public PageList <InvoiceDetailModel> GetInvoiceDetailsByOrderId(InvoiceDetailSearchCondition condition)
        {
            var query        = _shoppingContext.OrderDetails.AsNoTracking().Where(w => w.OrderId == condition.OrderId);
            var orderDetails = query.OrderBy(o => o.Id).Skip(condition.PageSize * condition.PageNumber)
                               .Take(condition.PageSize).ToList();

            return(new PageList <InvoiceDetailModel>(Mapper.Map <List <InvoiceDetailModel> >(orderDetails), query.Count()));
        }
Beispiel #3
0
        public PageList <InvoiceDetailModel> SearchInvoiceDetails(InvoiceDetailSearchCondition condition)
        {
            var query = _shoppingContext.InvoiceDetails.AsNoTracking().AsQueryable();

            if (condition.InvoiceId > 0)
            {
                query = query.Where(p => p.InvoiceId == condition.InvoiceId);
            }

            var invoiceDetails = query.OrderBy(o => o.Id).Skip(condition.PageSize * condition.PageNumber)
                                 .Take(condition.PageSize).ToList();

            return(new PageList <InvoiceDetailModel>(Mapper.Map <List <InvoiceDetailModel> >(invoiceDetails), query.Count()));
        }