Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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 }));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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);
        }