public async Task <ActionResult> Zaplac(Zamowienie zamowienieSzczegoly) { if (ModelState.IsValid) { // pobieramy id aktualnie zalogowanego użytkownika var userId = User.Identity.GetUserId(); // utworzenie obiektu zamowienia na poddstawie tego co mamy w koszyku var newOrder = koszykManager.UtworzZamowienie(zamowienieSzczegoly, userId); // szczegóły użytkownika - aktualizacja danych var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.DaneUzytkownika); await UserManager.UpdateAsync(user); // opróżniamy nasz koszyk zakupów koszykManager.PustyKoszyk(); mailService.WyslaniePotwierdzenieZamowieniaEmail(newOrder); return(RedirectToAction("PotwierdzenieZamowienia")); } else { return(View(zamowienieSzczegoly)); } }
public async Task <ActionResult> Checkout(Order details) { if (ModelState.IsValid) { //relacja do bazy danej var userId = User.Identity.GetUserId(); var order = koszykManager.UtworzZamowienie(details, userId); var user = await UserManager.FindByIdAsync(userId); TryUpdateModel(user.UserData); await UserManager.UpdateAsync(user); koszykManager.PustyKoszyk(); var orderToModify = db.Orders.Include("OrderItems").Include("OrderItems.Product").SingleOrDefault(o => o.OrderId == order.OrderId); PotwierdzenieZamowieniaEmail email = new PotwierdzenieZamowieniaEmail(); email.Do = order.Email; email.Koszt = order.TotalPrice; email.NumerZamowienia = order.OrderId; email.Adres = string.Format("{0} {1}, {2}, {3}, {4}", order.Name, order.LastName, order.Address, order.Code, order.City); email.OrderItems = order.OrderItems; email.PhotoPath = AppConfig.imagesFolderRelative; email.Send(); return(RedirectToAction("PotwierdzenieZamowienia")); } else { return(View(details)); } }
public ActionResult ZlozZamowienie(ZamowienieViewModel zamowienie) { if (ModelState.IsValid) { var noweZamowienie = koszykManager.UtworzZamowienie(zamowienie); return(RedirectToAction("PotwierdzenieZamowienia", new { nrZamowienia = noweZamowienie.ZamowienieId })); } zamowienie = new ZamowienieViewModel { PozycjeKoszyka = koszykManager.PobierzKoszyk(), WartoscZamowienia = koszykManager.PobierzWartoscKoszyka(), }; zamowienie.CzasOczekiwania = zamowienie.PozycjeKoszyka .Max(x => x.Produkt.CzasPrzygotowania); DateTime dt = DateTime.Now; dt = dt.AddMinutes(zamowienie.CzasOczekiwania); zamowienie.NaKiedy = dt; return(View(zamowienie)); }