public async Task <ActionResult> Pay(Order orderDetails) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var newOrder = basketManager.CreateOrder(orderDetails, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UsersData); await UserManager.UpdateAsync(user); basketManager.EmptyBucket(); mailService.OrderConfirmaitonMessage(newOrder); return(RedirectToAction("OrderConfirmation")); } else { return(View(orderDetails)); } }