Beispiel #1
0
        public ActionResult PotwierdzenieZamowienia(int nrZamowienia)
        {
            var zamowienie = db.Zamowienia
                             .SingleOrDefault(p => p.ZamowienieId == nrZamowienia);

            var zamowienieVM = new ZamowienieViewModel
            {
                ZamowienieId      = zamowienie.ZamowienieId,
                Imie              = zamowienie.Klient.Imie,
                Nazwisko          = zamowienie.Klient.Nazwisko,
                Telefon           = zamowienie.Klient.Telefon,
                Email             = zamowienie.Klient.Email,
                PozycjeKoszyka    = koszykManager.PobierzKoszyk(),
                WartoscZamowienia = zamowienie.Platnosc.Kwota,
                DataDodania       = zamowienie.DataDodania,
                Komentarz         = zamowienie.Komentarz,
                StanZamowienia    = zamowienie.StanZamowienia,
                NaKiedy           = zamowienie.NaKiedy,
                TypPlatnosci      = zamowienie.Platnosc.TypPlatnosci,
                KodZamowienia     = zamowienie.KodZamowienia
            };

            koszykManager.PustyKoszyk();

            zamowienieVM.CzasOczekiwania = zamowienieVM.PozycjeKoszyka
                                           .Max(x => x.Produkt.CzasPrzygotowania);
            return(View(zamowienieVM));
        }
Beispiel #2
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));
            }
        }
Beispiel #3
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));
            }
        }
        public async Task <ActionResult> Wypozycz(Wypozyczenie szczegoly)
        {
            if (ModelState.IsValid)
            {
                var userEmail        = User.Identity.GetUserName();
                var noweWypozyczenie = koszykManager.UtworzWypozyczenie(szczegoly, userEmail);
                var user             = await UserManager.FindByEmailAsync(userEmail);

                TryUpdateModel(user.DaneKlienta);
                await UserManager.UpdateAsync(user);

                koszykManager.PustyKoszyk();
                return(RedirectToAction("PotwierdzenieWypozyczenia"));
            }
            else
            {
                return(View(szczegoly));
            }
        }