public async Task <IActionResult> EditProduct(int id, DetailsViewModel model) { var tea = _teaRepository.GetTeaById(id); if (ModelState.IsValid) { _mapper.Map(model, tea); _teaRepository.UpdateTea(tea); if (await _teaRepository.SaveAsync()) { ViewData["StatusMessageOk"] = "Produkt został zaktualizowany."; var updatedTea = _mapper.Map <Tea, DetailsViewModel>(tea); return(View(updatedTea)); } else { ViewData["StatusMessageBad"] = "Wystapił błąd. Nie udało się zaktualizować produktu."; } } ; return(View(model)); }
public async Task <IActionResult> AddOrder(OrderViewModel model) { var user = await GetCurrentUserAsync(); if (user == null) { return(View("Error")); } if (!ModelState.IsValid) { return(View("Index", model)); } _mapper.Map(model, user); var result = await _userManager.UpdateAsync(user); if (!result.Succeeded) { return(RedirectToAction("Index", new { MessageBad = "Wystapił błąd. Nie udało się zaktualizować danych adresowych." })); } var newOrder = new OrderViewModel { CustomerId = user.Id, Date = DateTime.Now, TotalAmount = _cartRepository.GetTotalAmount(), Payment = model.Payment, Delivery = model.Delivery }; var orderEntity = _mapper.Map <OrderViewModel, Order>(newOrder); orderEntity.OrderTeas = _cartRepository.Cart; _orderRepository.AddOrder(orderEntity); if (!await _orderRepository.SaveAsync()) { return(RedirectToAction("Index", new { MessageBad = "Wystapił błąd. Nie udało się złozyć zamówienia." })); } foreach (var orderTea in orderEntity.OrderTeas) { _teaRepository.DecreaseQuantity(orderTea.TeaId, orderTea.Quantity); await _teaRepository.SaveAsync(); } return(RedirectToAction("OrderCompleted")); }