Exemple #1
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        public IActionResult _RezSobe(int rezId)
        {
            RezervacijaVM VM = VMConstructor(rezId);

            return(PartialView(VM));
        }
Exemple #6
0
        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);
        }