public async Task <IActionResult> CompleteOrders(CompleteOrdersModel model) { if (!this.ModelState.IsValid) { this.TempData[TempDataErrorKey] = CompleteOrdersErrorMessage; return(this.RedirectToAction(nameof(this.CompleteOrders))); } string userId = this.GetUserId(); ShoppingCartViewModel shoppingCartData = this.shoppingCartService .FindByUserId <ShoppingCartViewModel>(userId); IEnumerable <string> orderIds = shoppingCartData.Orders .Select(order => order.Id); await this.contractService.CreateAsync( userId, model.CreditCompanyId, orderIds, shoppingCartData.Total, model.CreditCardNumber, model.PeriodInMonths); await this.orderService.CompleteOrdersAsync(orderIds); await this.shoppingCartService.EmptyCartAsync(userId); await this.dashboardHubContext.Clients.All .SendAsync(DashboardHub.ContractCreatedMethodName); return(this.RedirectToHome()); }
public IActionResult CompleteOrders() { string userId = this.GetUserId(); ShoppingCartViewModel shoppingCartData = this.shoppingCartService .FindByUserId <ShoppingCartViewModel>(userId); CompleteOrdersModel model = new CompleteOrdersModel { Total = shoppingCartData.Total, OrdersCount = shoppingCartData.Orders.Count(), }; if (model.OrdersCount == 0) { return(this.RedirectToAction(nameof(this.Index))); } return(this.View(model)); }