public bool CanApplyDiscount(DiscountCoupon discountCoupon, int userId, out DiscountApplicationStatus status) { if (discountCoupon == null || !discountCoupon.Enabled) { status = DiscountApplicationStatus.InvalidCode; return(false); } if (discountCoupon.Expired) { status = DiscountApplicationStatus.Expired; return(false); } //first the dates if (discountCoupon.StartDate > DateTime.UtcNow) { status = DiscountApplicationStatus.InvalidCode; return(false); } if (discountCoupon.EndDate.HasValue && discountCoupon.EndDate < DateTime.UtcNow) { status = DiscountApplicationStatus.Expired; return(false); } //number of usages if (discountCoupon.TotalNumberOfTimes > 0) { var orderCount = _orderService.Count(x => x.DiscountId == discountCoupon.Id && x.PaymentStatus == PaymentStatus.Complete); if (orderCount >= discountCoupon.TotalNumberOfTimes) { status = DiscountApplicationStatus.Exhausted; return(false); } } if (discountCoupon.NumberOfTimesPerUser > 0) { var orderCount = _orderService.Count(x => x.DiscountId == discountCoupon.Id && x.PaymentStatus == PaymentStatus.Complete && x.UserId == userId); if (orderCount >= discountCoupon.NumberOfTimesPerUser) { status = DiscountApplicationStatus.Exhausted; return(false); } } status = DiscountApplicationStatus.Success; return(true); }
public async Task <int> Count([FromBody] OrderMaster_OrderFilterDTO OrderMaster_OrderFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } OrderFilter OrderFilter = ConvertFilterDTOToFilterEntity(OrderMaster_OrderFilterDTO); return(await OrderService.Count(OrderFilter)); }
public async Task <ActionResult <int> > Count([FromBody] Order_OrderFilterDTO Order_OrderFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } OrderFilter OrderFilter = ConvertFilterDTOToFilterEntity(Order_OrderFilterDTO); int count = await OrderService.Count(OrderFilter); return(count); }
public ActionResult All(string sortOrder, int page = 1) { ViewBag.OrderDateSortParm = string.IsNullOrEmpty(sortOrder) ? "orderdate_desc" : ""; ViewBag.ReceiveDateSortParm = sortOrder == "ReceiveDate" ? "receivedate_desc" : "ReceiveDate"; var orders = this.orders.All(); switch (sortOrder) { case "orderdate_desc": orders = orders.OrderByDescending(p => p.OrderDate); break; case "receivedate_desc": orders = orders.OrderByDescending(p => p.ReceivedDate); break; case "ReceiveDate": orders = orders.OrderBy(p => p.ReceivedDate); break; default: orders = orders.OrderBy(p => p.OrderDate); break; } var allorders = orders .Skip((page - 1) * 5) .Take(5) .To <OrderDetailsViewModel>() .ToList(); var totalPages = (int)Math.Ceiling(orders.Count() / 5M); var model = new PageableOrdersViewModel { TotalPages = totalPages, CurrentPage = page, Orders = allorders, SortOrder = sortOrder }; return(View(model)); }
public ActionResult All(string sortOrder, int page = 1) { ViewBag.OrderDateSortParm = string.IsNullOrEmpty(sortOrder) ? "orderdate_desc" : ""; ViewBag.ReceiveDateSortParm = sortOrder == "ReceiveDate" ? "receivedate_desc" : "ReceiveDate"; var orders = this.orders.All(); switch (sortOrder) { case "orderdate_desc": orders = orders.OrderByDescending(p => p.OrderDate); break; case "receivedate_desc": orders = orders.OrderByDescending(p => p.ReceivedDate); break; case "ReceiveDate": orders = orders.OrderBy(p => p.ReceivedDate); break; default: orders = orders.OrderBy(p => p.OrderDate); break; } var allorders = orders .Skip((page - 1) * 5) .Take(5) .To<OrderDetailsViewModel>() .ToList(); var totalPages = (int)Math.Ceiling(orders.Count() / 5M); var model = new PageableOrdersViewModel { TotalPages = totalPages, CurrentPage = page, Orders = allorders, SortOrder = sortOrder }; return View(model); }
public long Count(OrderSearchEntity SearchOrderEntity) { return(OrderService.Count(EmployeeEntity, SearchOrderEntity)); }
public IHttpActionResult Count() { return(Ok(_service.Count())); }
public int Count() { return(_orderService.Count()); }
public async Task <IActionResult> Index() { ViewData["TotalOrder"] = await _orderService.Count(); return(View()); }
public int Count([FromUri] SearchOrderEntity SearchOrderEntity) { return(OrderService.Count(UserEntity, SearchOrderEntity)); }