Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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));
        }