Esempio n. 1
0
        public List <CustomerDiscountViewModel> Search(CustomerDiscountSearch search)
        {
            var products = _shopContext.Products.Select(p => new { p.Id, p.Name }).ToList();
            var query    = _discountContext.CustomerDiscounts.Select(d => new CustomerDiscountViewModel()
            {
                Id           = d.Id,
                DateEnd      = d.DateEnd.ToPersian(),
                DateEndGR    = d.DateEnd,
                DateStart    = d.DateStart.ToPersian(),
                DateStartGR  = d.DateStart,
                DiscountRate = d.DiscountRate,
                ProductId    = d.ProductId,
                Reason       = d.Reason,
                DateCreate   = d.DateCreate.ToPersian(),
            });

            if (search.ProductId > 0)
            {
                query = query.Where(d => d.ProductId == search.ProductId);
            }

            if (!string.IsNullOrWhiteSpace(search.DateStart))
            {
                query = query.Where(d => d.DateStartGR > search.DateStart.ToGeorgianDateTime());
            }

            if (!string.IsNullOrWhiteSpace(search.DateEnd))
            {
                query = query.Where(d => d.DateEndGR < search.DateEnd.ToGeorgianDateTime());
            }

            var discounts = query.OrderByDescending(p => p.Id).ToList();

            discounts.ForEach(d => d.Product = products.FirstOrDefault(p => p.Id == d.ProductId)?.Name);

            return(discounts);
        }
 public void OnGet(CustomerDiscountSearch search)
 {
     Products          = new SelectList(_productApplication.GetProducts(), "Id", "Name");
     CustomerDiscounts = _customerDiscountApplication.Search(search);
 }
Esempio n. 3
0
 public List <CustomerDiscountViewModel> Search(CustomerDiscountSearch search)
 {
     return(_customerDiscountRepository.Search(search));
 }