public ActionResult DodajOferte(OfertaViewModel ofertaVM) { if (ofertaVM.TypZakwaterowaniaViewModel == "HotelPartial" && ofertaVM.Liczba_gwiazdek != 0) { if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { Oferta oferta = new Oferta() { Nazwa_oferty = ofertaVM.Nazwa_oferty, Data_od = ofertaVM.Data_od, Data_do = ofertaVM.Data_do, Cena_za_miejsce = ofertaVM.Cena_za_miejsce, Opis_promocji = ofertaVM.Opis_promocji }; db.Oferta.Add(oferta); db.SaveChanges(); Transport transport = new Transport() { Transport_z = ofertaVM.Transport_z, Transport_do = ofertaVM.Transport_do, Typ_transportu = ofertaVM.Typ_transportu, Data_od = ofertaVM.Data_do, Data_do = ofertaVM.Data_do, Id_oferty = oferta.Id_oferty }; Zakwaterowanie zakwaterowanie = new Zakwaterowanie { Lokalizacja = ofertaVM.Lokalizacja, Adres = ofertaVM.Adres, Rodzaj_wyzywienia = ofertaVM.Rodzaj_wyzywienia, Kraj = ofertaVM.Kraj, Cena_za_dobe = ofertaVM.Cena_za_dobe, Id_regionu = ofertaVM.SelectedRegion, Opis = ofertaVM.Opis, Hotel = new Hotel() { Liczba_gwiazdek = ofertaVM.Liczba_gwiazdek } }; oferta.Zakwaterowanie.Add(zakwaterowanie); db.Zakwaterowanie.Add(zakwaterowanie); db.Transport.Add(transport); db.SaveChanges(); transaction.Commit(); return RedirectToAction("Index", "Pracownik_biurowy"); } catch (Exception e) { Console.WriteLine(e); ModelState.AddModelError(string.Empty,e); transaction.Rollback(); return View(ofertaVM); } } } else { string validationErrors = string.Join("\r\n", ModelState.Values.Where(e => e.Errors.Count > 0) .SelectMany(e => e.Errors) .Select(e => e.ErrorMessage) .ToArray()); return View(ofertaVM); } } if (ofertaVM.TypZakwaterowaniaViewModel == "PensjonatPartial" && !string.IsNullOrEmpty(ofertaVM.Standard)) { if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { Oferta oferta = new Oferta() { Nazwa_oferty = ofertaVM.Nazwa_oferty, Data_od = ofertaVM.Data_od, Data_do = ofertaVM.Data_do, Cena_za_miejsce = ofertaVM.Cena_za_miejsce, Opis_promocji = ofertaVM.Opis_promocji }; db.Oferta.Add(oferta); db.SaveChanges(); Transport transport = new Transport() { Transport_z = ofertaVM.Transport_z, Transport_do = ofertaVM.Transport_do, Typ_transportu = ofertaVM.Typ_transportu, Data_od = ofertaVM.Data_do, Data_do = ofertaVM.Data_do, Id_oferty = oferta.Id_oferty }; Zakwaterowanie zakwaterowanie = new Zakwaterowanie { Lokalizacja = ofertaVM.Lokalizacja, Adres = ofertaVM.Adres, Rodzaj_wyzywienia = ofertaVM.Rodzaj_wyzywienia, Kraj = ofertaVM.Kraj, Cena_za_dobe = ofertaVM.Cena_za_dobe, Id_regionu = ofertaVM.SelectedRegion, Opis = ofertaVM.Opis, Pensjonat = new Pensjonat() { Standard = ofertaVM.Standard } }; oferta.Zakwaterowanie.Add(zakwaterowanie); db.Zakwaterowanie.Add(zakwaterowanie); db.Transport.Add(transport); db.SaveChanges(); transaction.Commit(); return RedirectToAction("Index", "Pracownik_biurowy"); } catch (Exception e) { Console.WriteLine(e); transaction.Rollback(); return View(ofertaVM); } } } else { string validationErrors = string.Join("\r\n", ModelState.Values.Where(e => e.Errors.Count > 0) .SelectMany(e => e.Errors) .Select(e => e.ErrorMessage) .ToArray()); return View(ofertaVM); } } else { ModelState.AddModelError(string.Empty,"Nie został wprowadzony standard lub liczba gwiazdek"); } return View(ofertaVM); }
public ActionResult DodajPromocje(Oferta ofertaZpromocja) { if (ModelState.IsValid) { db.Entry(ofertaZpromocja).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(); }