public PartialViewResult _Sobe(int rezId, int?MinCijena, int?MaxCijena, string TipSobe, int TrenutnaStrana) { RezervacijaVM VM = VMConstructor(rezId); List <Sobe> Filter = VM.SlobodneSobe; if (MaxCijena != null) { Filter.RemoveAll(x => x.Cijena > MaxCijena); } if (MinCijena != null) { Filter.RemoveAll(x => x.Cijena < MinCijena); } int TipSobeInt = Convert.ToInt32(TipSobe); if (TipSobeInt != 0) { Filter.RemoveAll(x => x.TipSobeID != TipSobeInt); } VM.SlobodneSobe = Pageination(TrenutnaStrana, Filter); return(PartialView("_Sobe", VM)); }
public IActionResult RezervisiSnimi(RezervacijaVM model) { MyContext db = new MyContext(); Treninzi provjeraDostupnosti = db.Treninzi.Where(c => c.TreninziID == model.TreningID).FirstOrDefault(); var BrojTrenutnihRezrevacija = db.treninziDetalji.Where(c => c.TreninziID == model.TreningID && c.Otkazan == false).Count(); if (BrojTrenutnihRezrevacija >= provjeraDostupnosti.BrojRezervacija) { TreningZahtjev noviZahtjev = new TreningZahtjev() { ClanId = model.ClanID, TreninziId = model.TreningID, Odobren = false }; db.TreningZahtjev.Add(noviZahtjev); db.SaveChanges(); return(RedirectToAction("Prikaz")); } TreninziDetalji novi = new TreninziDetalji { ClanID = model.ClanID, TreninziID = model.TreningID, Otkazan = false }; db.treninziDetalji.Add(novi); db.SaveChanges(); return(RedirectToAction("Prikaz")); }
public IActionResult RezervisiTrening(int clanID, int teretanaID) { MyContext db = new MyContext(); RezervacijaVM vm = new RezervacijaVM() { ClanID = clanID, TeretanaID = teretanaID, Teretana = db.Teretana.Where(w => w.TeretanaID == teretanaID).Select(s => s.Naziv).FirstOrDefault(), treninzi = db.Treninzi.Where(w => w.TeretanaID == teretanaID).Select(s => new SelectListItem { Text = s.DatumOdrzavanja.ToString("dd.MM.yyyy") + " (" + s.PocetakTreninga + "-" + s.KrajTreninga + ")", Value = s.TreninziID.ToString() }).ToList() }; return(View(vm)); }
public IActionResult DodajSobe(int id) { RezervacijaVM VM = VMConstructor(id); List <SelectListItem> TipSoba = new List <SelectListItem>() { new SelectListItem() { Value = "0", Text = "Sve" } }; TipSoba.AddRange(db.TipSobe.Select(x => new SelectListItem() { Value = x.Id.ToString(), Text = x.Naziv })); VM.TipoviSoba = TipSoba; return(View(VM)); }
public IActionResult _RezSobe(int rezId) { RezervacijaVM VM = VMConstructor(rezId); return(PartialView(VM)); }
private RezervacijaVM VMConstructor(int id) { RezervacijaVM VM = new RezervacijaVM { rezervacija = db.Rezervacije.Include(x => x.GlavniGost).Single(x => x.RezervacijaId == id) }; List <Rezervacije> SveRez = db.Rezervacije .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.Sobe) .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.GostaSoba) .Where(x => x.RezervacijaZavrsena == false).ToList(); List <Rezervacije> Podudarajuce = new List <Rezervacije>(); ////ukloni rezervacije koje smetaju //pocela prije zavrile poslije (veca rezervacija) Podudarajuce.AddRange( SveRez.Where(x => (x.DatumPocetkaRezerviranja < VM.rezervacija.DatumPocetkaRezerviranja) && (x.DatumZavrsetkaRezerviranja > VM.rezervacija.DatumZavrsetkaRezerviranja) ).ToList() ); //pocele prije završile usred--ok Podudarajuce.AddRange( SveRez.Where(x => (x.DatumPocetkaRezerviranja < VM.rezervacija.DatumPocetkaRezerviranja) && (x.DatumZavrsetkaRezerviranja <VM.rezervacija.DatumZavrsetkaRezerviranja && x.DatumZavrsetkaRezerviranja> VM.rezervacija.DatumPocetkaRezerviranja) ).ToList() ); ////pocele usred završile kasnije Podudarajuce.AddRange( SveRez.Where(x => (x.DatumPocetkaRezerviranja > VM.rezervacija.DatumPocetkaRezerviranja && x.DatumPocetkaRezerviranja < VM.rezervacija.DatumZavrsetkaRezerviranja) && (x.DatumZavrsetkaRezerviranja > VM.rezervacija.DatumZavrsetkaRezerviranja) ).ToList() ); //pocela i završila usred (manja rezeraciaj) Podudarajuce.AddRange( SveRez.Where(x => (x.DatumPocetkaRezerviranja > VM.rezervacija.DatumPocetkaRezerviranja && x.DatumPocetkaRezerviranja < VM.rezervacija.DatumZavrsetkaRezerviranja) && (x.DatumZavrsetkaRezerviranja > VM.rezervacija.DatumPocetkaRezerviranja && x.DatumZavrsetkaRezerviranja < VM.rezervacija.DatumZavrsetkaRezerviranja) ).ToList() ); List <Sobe> ZauzeteSobe = new List <Sobe>(); foreach (var rez in Podudarajuce) { foreach (var item in rez.ZaduzeneSobe) { ZauzeteSobe.Add(item.Sobe); } } List <Sobe> SlobodneSobe = db.Sobe.Include(x => x.TipSobe).ToList(); SlobodneSobe = SlobodneSobe.Except(ZauzeteSobe).ToList(); VM.SlobodneSobe = SlobodneSobe; List <ZaduzeneSobe> zaduzeneSobe = db.ZaduzeneSobe.Include(x => x.Sobe).Include(x => x.GostaSoba).Where(x => x.RezervacijaId == id).ToList(); VM.UkupnaCijena = 0; int BrojDana = (VM.rezervacija.DatumZavrsetkaRezerviranja - VM.rezervacija.DatumPocetkaRezerviranja).Days; foreach (var zad in zaduzeneSobe) { VM.UkupnaCijena += (BrojDana * zad.Sobe.Cijena); } VM.zaduzivanja = zaduzeneSobe; VM.zaduzeneSobe = new List <Sobe>(); foreach (var item in zaduzeneSobe) { VM.zaduzeneSobe.Add(item.Sobe); } VM.SlobodneSobe = SlobodneSobe.Except(VM.zaduzeneSobe).ToList(); return(VM); }