public IPagedDocumentList<MainOrderSummary> PagedPurchaseDocumentList(int page, int pageSize, DateTime startdate, DateTime endDate, DocumentStatus? documentStatus, Guid? distributrId = null, string search = "") { IQueryable<tblDocument> orders = _GetAll(DocumentType.Order, startdate, endDate).Where(s => s.OrderParentId == s.Id); orders = orders.Where(s => s.OrderOrderTypeId == (int) OrderType.DistributorToProducer); if (!string.IsNullOrEmpty(search)) orders = orders.Where(p => p.DocumentReference.ToLower().Contains(search.ToLower())); if (distributrId.HasValue && distributrId != Guid.Empty) { orders = orders.Where( s => s.DocumentRecipientCostCentre == distributrId.Value || s.DocumentIssuerCostCentreId == distributrId.Value); } if (documentStatus.HasValue && documentStatus != 0) { orders = orders.Where(s => s.DocumentStatusId == (int) documentStatus); } PagedDocumentList<MainOrderSummary> pages; pages = new PagedDocumentList<MainOrderSummary>(orders.Count(), page, pageSize); int skip = Skip(page, pageSize); var data = orders.OrderByDescending(d => d.IM_DateCreated).Skip(skip).Take(pageSize).ToList(); pages.AddRange(data.Select(s => MapSummary(s)).ToList()); return pages; }
private IPagedDocumentList<MainOrderSummary> GetPendingApproval(int page, int pageSize, DateTime startdate, DateTime endDate, OrderType orderType) { int pageStart = ((page - 1)*pageSize) + 1; int pageEnd = (pageStart + pageSize) - 1; string sql = string.Format(MainOrderResource.PendingApproval, pageStart, pageEnd, (int) orderType, startdate.ToString("yyyy-MM-dd HH:mm:ss"), endDate.ToString("yyyy-MM-dd HH:mm:ss")); var result = _ctx.ExecuteStoreQuery<MainOrderSummary>(sql).ToList(); int count = 0; if (result.Any()) { count = result.FirstOrDefault().RowCount; } var pages = new PagedDocumentList<MainOrderSummary>(count, page, pageSize); pages.AddRange(result); return pages; }
public IPagedDocumentList<MainOrderSummary> PagedDocumentList(int page, int pageSize, DateTime startdate, DateTime endDate, OrderType orderType, DocumentStatus? documentStatus = null, string search = "") { endDate=new DateTime(endDate.Year,endDate.Month,endDate.Day,23,59,0); bool calculateOutStandingPayment = false; IQueryable<tblDocument> orders = _GetAll(DocumentType.Order, startdate, endDate).Where(s => s.OrderParentId == s.Id); if (!string.IsNullOrEmpty(search)) orders = orders.Where(p => p.DocumentReference.ToLower().StartsWith(search.ToLower())); if ((int) orderType != 0) //Go:we want outstanding for all order types,we pass 0 for outanding listing for all transactions orders = orders.Where(s => s.OrderOrderTypeId == (int) orderType); switch (documentStatus) { case DocumentStatus.Confirmed: // calculateOutStandingPayment = true; // orders = GetPendingApproval(orders); return GetPendingApproval(page, pageSize, startdate, endDate,orderType); break; case DocumentStatus.Approved: orders = GetPendingDispatch(orders, startdate, endDate); break; case DocumentStatus.Dispatched: orders = GetDispatched(orders); break; case DocumentStatus.OrderBackOrder: orders = GetBackOrder(orders); break; case DocumentStatus.OrderLossSale: orders = GetOrderLossSale(orders); break; case DocumentStatus.Rejected: orders = GetRejected(orders); break; case DocumentStatus.Closed: calculateOutStandingPayment = true; orders = GetClosed(orders); break; case DocumentStatus.Outstanding: calculateOutStandingPayment = true; orders = GetOutStandingPayment(orders,startdate,endDate); break; case DocumentStatus.UnconfirmedReceiptPayment: calculateOutStandingPayment = true; orders = GetUnconfirmedPayment(orders); break; case DocumentStatus.FullyPaidOrders: calculateOutStandingPayment = true; orders = GetFullyPaidOrders(orders); break; default: orders = GetPendingConfirmation(orders); break; } var count = orders.Count(); PagedDocumentList<MainOrderSummary> pages; pages = new PagedDocumentList<MainOrderSummary>(count, page, pageSize); int skip = Skip(page, pageSize); var data = orders.OrderByDescending(d => d.IM_DateCreated).Skip(skip).Take(pageSize).ToList(); pages.AddRange(data.Select(s => MapSummary(s, calculateOutStandingPayment)).ToList()); return pages; }