public async Task <IActionResult> PlaceOrder(OrderViewModel orderViewModel) { var ordersDetails = await _cartService.GetOrderDetailsAsync(); if (ordersDetails.Any()) { var totalPrice = Math.Round(ordersDetails.Sum(detail => detail.TotalPrice), 2); var newOrder = new Order() { Address = orderViewModel.Address, IsOrderActive = true, Information = orderViewModel.Information ?? "None", Name = orderViewModel.Name, LastName = orderViewModel.LastName, PhoneNumber = orderViewModel.PhoneNumber, TotalPrice = totalPrice, OrderDetails = ordersDetails, OrderDate = DateTime.Now, Email = orderViewModel.Email }; await _orderRepository.Add(newOrder); await _cartService.ClearCartAsync(); return(RedirectToAction("OrderSuccessful", newOrder)); } else { return(NoContent()); } }