public async Task <IActionResult> Proceed(PurchaseProceedInputModel inputModel) { var user = await this.userManager.GetUserAsync(this.User); var cartId = this.cartService.GetId(user.Id); var totalPrice = this.cartService.GetTotalPrice(cartId); var totalQuantity = this.cartService.GetTotalQuantity(cartId); var currentDate = DateTime.Now; if (DateTime.Compare(inputModel.DeliveryDate, currentDate.AddDays(3)) == -1 || DateTime.Compare(inputModel.DeliveryDate, currentDate.AddDays(30)) == 1) { this.ModelState.AddModelError(string.Empty, $"Датата трябва да бъде между {currentDate.AddDays(3).ToString("MM/dd/yyyy")} и {currentDate.AddDays(30).ToString("MM/dd/yyyy")}."); } if (totalQuantity < 50) { this.ModelState.AddModelError(string.Empty, $"Не можете да направите покупка с по-малко от {50} хапки."); } if (totalQuantity > 1000) { this.ModelState.AddModelError(string.Empty, $"Не можете да направите покупка с повече от {1000} хапки."); } if (!this.ModelState.IsValid) { var viewModel = new PurchaseProceedViewModel { AdditionalInformation = inputModel.AdditionalInformation, DeliveryDate = inputModel.DeliveryDate, TotalItems = totalQuantity, TotalPrice = totalPrice, }; return(this.View(viewModel)); } var orderId = await this.orderService.AddAsync(currentDate, inputModel.DeliveryDate, cartId, user.Id, inputModel.AdditionalInformation); // await this.cartService.RemoveAllItemsAsync(cartId); return(this.RedirectToAction("History")); }
public async Task <IActionResult> Proceed() { var user = await this.userManager.GetUserAsync(this.User); var cartId = this.cartService.GetId(user.Id); var totalPrice = this.cartService.GetTotalPrice(cartId); var totalQuantity = this.cartService.GetTotalQuantity(cartId); var viewMoodel = new PurchaseProceedViewModel { TotalPrice = totalPrice, TotalItems = totalQuantity, DeliveryDate = DateTime.Now, }; return(this.View(viewMoodel)); }