public ActionResult <string> Get([FromQuery] SaleFilter saleFilter = null, [FromQuery] string orderBy = null, [FromQuery] PageRequest pageRequest = null) { var Result = SaleService.Read(pageRequest, out PageResponse pageResponse, orderBy, saleFilter); Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(pageResponse)); return(Ok(Result)); }
private void FilterButton_Click(object sender, EventArgs e) { var filter = new SaleFilter { ID = FilterIDTextBox.Text.AsInt(), CustomerName = FilterCustomerNameTextBox.Text, ProductID = (FilterProductDropDown.SelectedValue.AsInt() == 0) ? null : FilterProductDropDown.SelectedValue.AsInt(), SoldFrom = (FilterSoldFromDatePicker.Format == DateTimePickerFormat.Custom) ? null : FilterSoldFromDatePicker.Value.Date.AsDateTime(), SoldTo = (FilterSoldToDatePicker.Format == DateTimePickerFormat.Custom) ? null : FilterSoldToDatePicker.Value.Date.AsDateTime(), IsNotApprovedOnly = FilterIsNotApprovedOnlyCheckBox.Checked }; using (var repository = new SaleRepository()) { SaleGrid.DataSource = repository.GetSales(filter); } SaleGrid.ClearSelection(); }
public ActionResult Sales(SaleFilter model) { try { if (ModelState.Values.Any(x => x.Value.AttemptedValue != "")) { var sales = _mapper.Map <IEnumerable <SaleDTO>, IEnumerable <SaleViewModel> >(_saleService.GetAll()); if (model.Date != null) { sales = sales.Where(x => (x.Date.Equals(model.Date))); } if (model.ClientName != null) { sales = sales.Where(x => x.ClientName.ToLower().Contains(model.ClientName.ToLower())); } if (model.Product != null) { sales = sales.Where(x => x.Product.ToLower().Contains(model.Product.ToLower())); } if (model.SaleManager != null) { sales = sales.Where(x => x.SaleManager.ToLower().Contains(model.SaleManager.ToLower())); } if (model.Price != 0) { sales = sales.Where(x => x.Price.Equals(model.Price)); } return(PartialView("Sales", sales.ToPagedList(1, sales.Count() == 0 ? 1 : sales.Count()))); } return(GetAll()); } catch (Exception e) { return(View("Error")); } }
public static IQueryable <Sale> ApplyFilterParameters(this IQueryable <Sale> source, SaleFilter saleFilter) { if (saleFilter == null) { return(source); } if (saleFilter.SaleCode != null && saleFilter.SaleCode.Trim() != string.Empty) { source = source.Where(x => x.Code == saleFilter.SaleCode); } if (saleFilter.StartSaleDate.HasValue && saleFilter.StartSaleDate.Value > DateTime.MinValue) { source = source.Where(x => x.OperationDate >= saleFilter.StartSaleDate); } if (saleFilter.EndSaleDate.HasValue && saleFilter.EndSaleDate.Value > DateTime.MinValue) { source = source.Where(x => x.OperationDate <= saleFilter.EndSaleDate); } if (saleFilter.SaleDateYear > 0) { source = source.Where(x => x.OperationDate.Year == saleFilter.SaleDateYear); } if (saleFilter.SaleDateMonth > 0) { source = source.Where(x => x.OperationDate.Month == saleFilter.SaleDateMonth); } if (saleFilter.SaleDateDay > 0) { source = source.Where(x => x.OperationDate.Day == saleFilter.SaleDateDay); } if (saleFilter.ConsultantCode != null && saleFilter.ConsultantCode.Trim() != string.Empty) { source = source.Where(x => x.Consultant.Code == saleFilter.ConsultantCode); } if (saleFilter.ConsultantFirstName != null && saleFilter.ConsultantFirstName.Trim() != string.Empty) { source = source.Where(x => x.Consultant.FirstName.ToLower().StartsWith(saleFilter.ConsultantFirstName.ToLower())); } if (saleFilter.ConsultantLastName != null && saleFilter.ConsultantLastName.Trim() != string.Empty) { source = source.Where(x => x.Consultant.LastName.ToLower().StartsWith(saleFilter.ConsultantLastName.ToLower())); } if (saleFilter.ConsultantPrivateNumber != null && saleFilter.ConsultantPrivateNumber.Trim() != string.Empty) { source = source.Where(x => x.Consultant.PrivateNumber == saleFilter.ConsultantPrivateNumber); } if (saleFilter.ProductCode != null && saleFilter.ProductCode.Trim() != string.Empty) { source = source.Include(x => x.ProductSale).ThenInclude(x => x.Product).Where(x => x.ProductSale.Any(x => x.Product.Code == saleFilter.ProductCode)); } if (saleFilter.ProductName != null && saleFilter.ProductName.Trim() != string.Empty) { source = source.Where(x => x.ProductSale.Any(x => x.Product.Name.StartsWith(saleFilter.ProductName))); } return(source); }
public IEnumerable <SaleReadDto> Read(PageRequest pageRequest, out PageResponse pageResponse, string orderBy = "", SaleFilter saleFilter = null) { List <SaleReadDto> Sales = this.BogDBContext.Sale .Include(x => x.Consultant) .Include(x => x.ProductSale) .ThenInclude(y => y.Product) .ApplyFilterParameters(saleFilter) .ApplyOrderParameters(orderBy) .TakePage(pageRequest, out pageResponse) .Select(x => x.ToSaleReadDto()) .ToList(); return(Sales); }