public ActionResult ZlozZamowienie()
        {
            if (SprawdzPolecajacego())
            {
                return RedirectToAction("Wyszukane", "Oferta");
            }

            SzczegolyOfertyViewModel skomponowanaOferta = (SzczegolyOfertyViewModel) TempData["Szczegoly"];
            TempData.Keep("Szczegoly");
            TempData.Keep("wybranyTransportTemp");
            var wycieczkiTemp = new List<Wycieczka_fakultatywna>();
            var ubezpieczeniaTemp = new List<Ubezpieczenia>();
            Klient zalogowanyKlient = db.Klient.SingleOrDefault(x => x.Nazwa_uzytkownika == this.User.Identity.Name);

            ObliczRabat(ref skomponowanaOferta, ref zalogowanyKlient);

            if (SprawdzCzyIstnieje(skomponowanaOferta.IdWycieczek))
            {
                wycieczkiTemp.AddRange(skomponowanaOferta.IdWycieczek.Select(id => db.Wycieczka_fakultatywna.Find(id)));
            }
            if (SprawdzCzyIstnieje(skomponowanaOferta.IdUbezpieczen))
            {
                ubezpieczeniaTemp.AddRange(skomponowanaOferta.IdUbezpieczen.Select(id => db.Ubezpieczenia.Find(id)));
            }

            if (ModelState.IsValid)
            {
                ZamowienieViewModel podsumowanie = new ZamowienieViewModel()
                {
                    Id_oferty = skomponowanaOferta.Id_oferty,
                    Nazwa_oferty = skomponowanaOferta.Nazwa_oferty,
                    iloscDni = skomponowanaOferta.iloscDni,
                    Data_od = skomponowanaOferta.Data_od,
                    Data_do = skomponowanaOferta.Data_do,
                    Cena_za_miejsce = skomponowanaOferta.Cena_za_miejsce,
                    IloscMiejsc = skomponowanaOferta.IloscMiejsc,
                    KosztCalkowity = skomponowanaOferta.KosztCalkowity,
                    Zakwaterowanie = db.Zakwaterowanie.Find(skomponowanaOferta.SelectedKwaterunek),
                    Wycieczki = wycieczkiTemp,
                    Ubezpieczenia = ubezpieczeniaTemp,
                    Rabat = zalogowanyKlient.Rabat,
                    TypTransportu = skomponowanaOferta.TypTransportu
                };

                return View(podsumowanie);
            }
            return View();
        }
        public ActionResult ZlozZamowienie(ZamowienieViewModel przychodzace)
        {
            Klient zalogowanyKlient = db.Klient.SingleOrDefault(x => x.Nazwa_uzytkownika == this.User.Identity.Name);

            if (CzyKupilesJuzTaOferte(zalogowanyKlient.Id_osoby, przychodzace.Id_oferty))
            {
                return View("ZamowilesJuzTaOferte");
            }

            Zamowienie zlozoneZamowienie = new Zamowienie()
            {
                Id_zamowienia = Guid.NewGuid().ToString(),
                Liczba_miejsc = przychodzace.IloscMiejsc,
                Id_oferty = przychodzace.Id_oferty,
                Id_osoby = zalogowanyKlient.Id_osoby,
                Id_regionu = przychodzace.Zakwaterowanie.Id_regionu
            };

            ZlozoneZamowienie detaleZamowienie = new ZlozoneZamowienie()
            {
                Id_ZlozonegoZamowienia = zlozoneZamowienie.Id_zamowienia,
                Id_oferty = przychodzace.Id_oferty,
                Id_osoby = zalogowanyKlient.Id_osoby,
                Liczba_miejsc = przychodzace.IloscMiejsc,
                Cena_za_miejsce = przychodzace.Cena_za_miejsce,
                Rabat = (int) przychodzace.Rabat,
                Koszt_całkowity = przychodzace.KosztCalkowity,
                Id_zakwaterowania = przychodzace.Zakwaterowanie.Id_kwaterunku,
                Typ_transportu = przychodzace.TypTransportu,
                DataZlozenia = DateTime.Now
            };

            if (przychodzace.Ubezpieczenia != null)
            {
                foreach (Ubezpieczenia ubezpieczenieWzamowieniu in przychodzace.Ubezpieczenia)
                {
                    Ubezpieczenia ubezpieczenie = db.Ubezpieczenia.Find(ubezpieczenieWzamowieniu.Id_ubezpieczenia);
                        // ubezpieczenia do wyswietlenia  z klasy ubezpieczenia
                    WybraneUbezpieczenie wybraneUbezpieczenie = new WybraneUbezpieczenie
                    {
                        Id_ubezpieczenia = ubezpieczenie.Id_ubezpieczenia
                    };

                    ubezpieczenie.Zamowienie.Add(zlozoneZamowienie);
                    detaleZamowienie.WybraneUbezpieczenie.Add(wybraneUbezpieczenie);
                }
            }

            if (przychodzace.Wycieczki != null)
            {
                foreach (var wycieczkiWzamowieniu in przychodzace.Wycieczki)
                {
                    Wycieczka_fakultatywna wycieczka = db.Wycieczka_fakultatywna.Find(wycieczkiWzamowieniu.Id_wycieczki);
                    Wybrana_wycieczka wybranaWycieczka = new Wybrana_wycieczka()
                    {
                        Id_wycieczki = wycieczka.Id_wycieczki
                    };

                    detaleZamowienie.Wybrana_wycieczka.Add(wybranaWycieczka);
                }
            }

            db.ZlozoneZamowienie.Add(detaleZamowienie);
            db.Zamowienie.Add(zlozoneZamowienie);
            db.SaveChanges();

            return View("Pomyslnie");
        }