Exemple #1
0
        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));
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
        }
Exemple #5
0
        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);
        }