public IActionResult Info(int GostId) { GostInfoVM VM = new GostInfoVM(); Rezervacije rezervacija = db.GostaSoba .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.Rezervacija) .ThenInclude(x => x.GlavniGost) .Include(x => x.Gosti) .Where(x => x.GostiID == GostId && x.ZaduzeneSobe.Rezervacija.RezervacijaAktivna) .Select(x => x.ZaduzeneSobe.Rezervacija).FirstOrDefault(); //GostaSoba gost = db.GostaSoba // .Include(x => x.ZaduzeneSobe) // .ThenInclude(x => x.Rezervacija) // .Include(x => x.Gosti).ThenInclude(x => x.KreditneKartica) // .Include(x=>x.Gosti) // .ThenInclude(x=>x.Gradovi) // .ThenInclude(x=>x.Drzave) // .Where(x => x.GostiID == GostId && x.ZaduzeneSobe.Rezervacija.RezervacijaAktivna) // .FirstOrDefault(); ZaduzeneSobe soba = db.GostaSoba .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.Sobe) .ThenInclude(x => x.TipSobe) .Include(x => x.Gosti) .Where(x => x.GostiID == GostId && x.ZaduzeneSobe.Rezervacija.RezervacijaAktivna) .Select(x => x.ZaduzeneSobe).FirstOrDefault(); VM.Gost = db.Gosti.Include(x => x.Gradovi).ThenInclude(x => x.Drzave).Include(x => x.KreditneKartica).SingleOrDefault(x => x.Id == GostId); VM.Kartica = VM.Gost.KreditneKartica; VM.GostovaSoba = soba; VM.TrenutnaRezervacija = rezervacija; VM.BuduceRezervacije = db.GostaSoba .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.Rezervacija) .ThenInclude(x => x.GlavniGost) .Include(x => x.Gosti) .Where(x => x.GostiID == GostId && x.ZaduzeneSobe.Rezervacija.RezervacijaAktivna == false && x.ZaduzeneSobe.Rezervacija.RezervacijaZavrsena == false) .Select(x => x.ZaduzeneSobe.Rezervacija).ToList(); VM.PrijasnjeRezervacije = db.GostaSoba .Include(x => x.ZaduzeneSobe) .ThenInclude(x => x.Rezervacija) .ThenInclude(x => x.GlavniGost) .Include(x => x.Gosti) .Where(x => x.GostiID == GostId && x.ZaduzeneSobe.Rezervacija.RezervacijaAktivna == false && x.ZaduzeneSobe.Rezervacija.RezervacijaZavrsena == true) .Select(x => x.ZaduzeneSobe.Rezervacija).ToList(); return(View(VM)); }
public async Task <IActionResult> PonistiNarudzbu(int narudzbaID, int SobaId) { db.Narudzbe.Remove(db.Narudzbe.Find(narudzbaID)); await db.SaveChangesAsync(); ZaduzeneSobe soba = await db.ZaduzeneSobe.Include(x => x.Rezervacija).SingleOrDefaultAsync(x => x.Id == SobaId); return(RedirectToAction("Info", "Rezervacije", new { id = soba.RezervacijaId })); }
public IViewComponentResult Invoke(int id, int ZaduzenejeID, Namjestaj.TipNamjestaja tip) { Sobe soba = db.Sobe.FirstOrDefault(x => x.Id == id); ZaduzeneSobe zaduzeneSoba = db.ZaduzeneSobe.FirstOrDefault(x => x.Id == ZaduzenejeID); List <Namjestaj> zaduzeni = db.NamjestajSoba.Include(x => x.Namjestaj).Where(x => x.ZaduzenaSobaID == ZaduzenejeID && x.SobeID == id && x.Namjestaj.tipNamjestaja == tip).Select(x => x.Namjestaj).ToList(); List <TipSobeMoguciNamjestaj> Svi = db.TipSobeMoguciNamjestaj.Include(x => x.Namjestaj) .Where(x => x.TipSobeID == soba.TipSobeID).ToList(); List <Namjestaj> svi = new List <Namjestaj>(); foreach (var item in Svi.Where(x => (int)x.Namjestaj.tipNamjestaja == (int)tip)) { svi.Add(item.Namjestaj); } SobaNamjestajVM VM = new SobaNamjestajVM { ROWZaduzeniNamjestaj = new List <SobaNamjestajVM.ROW>() }; foreach (var namj in zaduzeni) { VM.ROWZaduzeniNamjestaj.Add(new SobaNamjestajVM.ROW() { Namjestaj = namj, kolicina = db.NamjestajSoba.Where(x => x.SobeID == id && x.NamjestajID == namj.Id && x.ZaduzenaSobaID == ZaduzenejeID).Select(x => x.Kolicina).FirstOrDefault() }); } VM.ZaduzeneSoba = zaduzeneSoba; VM.SlobodniNamjestaj = svi; VM.ZaduzeniNamjestaj = zaduzeni; VM.SobaId = id; VM.TrenutniKapcitet = 0; VM.UkupnaCijena = 0; foreach (var item in VM.ROWZaduzeniNamjestaj) { VM.TrenutniKapcitet += item.kolicina; VM.UkupnaCijena = item.kolicina * item.Namjestaj.Cijena; } VM.MaxKapcitet = db.TipSobeNamjestaj.Where(x => x.TipSobeID == soba.TipSobeID && x.TipNamjestaja == tip).Select(x => x.Kolicina).First(); VM.Zaduzene = false; VM.TipSobe = tip; return(View("SobaNamjestaj", VM)); }
public IActionResult NovaNaurzba(int SobaZaduzenjeId) { ZaduzeneSobe soba = db.ZaduzeneSobe.Include(x => x.Sobe).SingleOrDefault(x => x.Id == SobaZaduzenjeId); Narudzbe narudzbe = new Narudzbe(); Narudzbe NovaNarudzba = narudzbe; NovaNarudzba.ZaduzenaSobaId = SobaZaduzenjeId; NovaNarudzba.DatumNarudzbe = DateTime.Now; db.Narudzbe.Add(NovaNarudzba); //test db.SaveChanges(); return(View(NovaNarudzba)); }
public string _UkloniSobu(int rezId, int sobaID) { ZaduzeneSobe updateovana = db.ZaduzeneSobe .Where(x => x.RezervacijaId == rezId && x.SobaID == sobaID).SingleOrDefault(); try { db.ZaduzeneSobe.Remove(updateovana); db.SaveChanges(); return("Uspješno ste uklonili sobu"); } catch (Exception e) { return("Došlo je do greške /n" + e.Message + " " + e.Source + e.InnerException); } }
public IActionResult Index(int SobaZaduzenjeId) { ZaduzeneSobe soba = db.ZaduzeneSobe.Include(x => x.Sobe).SingleOrDefault(x => x.Id == SobaZaduzenjeId); NarudzbeSobeVM VM = new NarudzbeSobeVM { ZaduzeneSoba = soba }; List <Narudzbe> narudzbe = db.Narudzbe.Where(x => x.ZaduzenaSobaId == soba.Id).ToList(); foreach (var item in narudzbe) { List <NarudzbaHrana> NH = db.NarudzbaHrana.Include(x => x.Hrana).Where(x => x.NarudzbeID == item.Id).ToList(); float cijena = 0; foreach (var NHrana in NH) { cijena += NHrana.Hrana.Cijena * NHrana.Kolicina; } VM.Narudzbe.Add(new NarudzbeSobeVM.NarduzbaRed() { Narudzba = item, NarucenaHrana = NH, ukupnaCijenaNarduzbe = cijena, JeDostavljenja = item.DatumDostave < DateTime.Now ? true : false }); } //ukloniti pogresne List <NarudzbeSobeVM.NarduzbaRed> pogresne = VM.Narudzbe.Where(x => x.ukupnaCijenaNarduzbe <= 0.0).ToList(); VM.Narudzbe = VM.Narudzbe.Except(pogresne).ToList(); List <Narudzbe> todelete = pogresne.Select(x => x.Narudzba).ToList(); db.Narudzbe.RemoveRange(todelete); db.SaveChanges(); foreach (var item in VM.Narudzbe) { VM.UkupnaCijena += item.ukupnaCijenaNarduzbe; } return(View(VM)); }
public string _DodajSobu(int sobaID, int rezId) { ZaduzeneSobe nova = new ZaduzeneSobe { SobaID = sobaID, RezervacijaId = rezId }; db.ZaduzeneSobe.Add(nova); db.SaveChanges(); ZaduzeneSobe NovoDodata = db.ZaduzeneSobe .Include(x => x.Sobe) .ThenInclude(x => x.TipSobe) .SingleOrDefault(x => x.Id == nova.Id); foreach (Namjestaj.TipNamjestaja vrstaNamjestaja in Enum.GetValues(typeof(Namjestaj.TipNamjestaja))) { Namjestaj besplatniNamjestaj = db.Namjestaj.Where(x => x.JeOsnovniNamjestaj && (int)x.tipNamjestaja == (int)vrstaNamjestaja).FirstOrDefault(); if (besplatniNamjestaj != null) { NamjestajSoba namjestaj = new NamjestajSoba() { NamjestajID = besplatniNamjestaj.Id, SobeID = NovoDodata.SobaID, ZaduzenaSobaID = NovoDodata.Id, Kolicina = db.TipSobeNamjestaj.Where(x => (int)x.TipNamjestaja == (int)besplatniNamjestaj.tipNamjestaja && x.TipSobeID == NovoDodata.Sobe.TipSobeID).First().Kolicina }; db.NamjestajSoba.Add(namjestaj); db.SaveChanges(); } } return("Uspjesno rezervisana soba broj: " + sobaID + " /n Za rezervaciju broj: " + rezId); }