Exemplo n.º 1
0
        public async Task <ActionResult> Zaplac(Zamowienie zamowienieSzczegoly)
        {
            if (ModelState.IsValid)
            {
                // pobieramy id uzytkownika aktualnie zalogowanego
                var userId = User.Identity.GetUserId();

                // utworzenie obiektu zamowienia na podstawie tego co mamy w koszyku
                var newOrder = koszykMenager.UtworzZamowienie(zamowienieSzczegoly, userId);

                // szczegóły użytkownika - aktualizacja danych
                var user = await UserManager.FindByIdAsync(userId);

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

                // opróżnimy nasz koszyk zakupów
                koszykMenager.PustyKoszyk();


                string url = Url.Action("WyslaniePotwierdzenieZamowieniaEmail", "Koszyk", new { zamowienieId = newOrder.ZamowienieID, nazwisko = newOrder.Nazwisko }, Request.Url.Scheme);
                BackgroundJob.Enqueue(() => UrlHelpers.CallUrl(url));



                return(RedirectToAction("PotwierdzenieZamowienia"));
            }
            else
            {
                return(View(zamowienieSzczegoly));
            }
        }