private void AddSoba()
        {
            Soba novaSoba = new Soba();

            novaSoba.Sifra     = Convert.ToInt32(SifraTb.Text);
            novaSoba.Kapacitet = Convert.ToInt32(KapacitetTb.Text);
            novaSoba.Zauzetost = Convert.ToInt32(ZauzetostTb.Text);
            novaSoba.Tip       = (TypeOfUsage)TipCb.SelectedItem;
            novaSoba.Pocetak   = (DateTime)PocetakTb.SelectedDate;
            novaSoba.Kraj      = (DateTime)KrajTb.SelectedDate;
            Sobe.Add(novaSoba);
            RoomController             roomController             = new RoomController();
            RenovationPeriodController renovationPeriodController = new RenovationPeriodController();
            RenovationPeriod           p = new RenovationPeriod();
            Room room = new Room();

            room.Capacity   = novaSoba.Kapacitet;
            room.Number     = novaSoba.Sifra;
            room.Occupation = novaSoba.Zauzetost;
            room.Usage      = novaSoba.Tip;
            if (novaSoba.Pocetak != DateTime.Today && novaSoba.Kraj != DateTime.Today)
            {
                room.Renovation = true;
                p.room          = room;
                p.BeginDate     = novaSoba.Pocetak;
                p.EndDate       = novaSoba.Kraj;
                renovationPeriodController.ScheduleRenovation(p);
            }

            roomController.AddRoom(room);
            // Resetujemo polja
            ClearFields();

            UpdateTempSoba();
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,BrojSobe,BrojSprata,Cijena,TipSobeID,")] Sobe sobe)
        {
            if (id != sobe.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sobe);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SobeExists(sobe.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipSobeID"] = new SelectList(_context.TipSobe, "Id", "Naziv", sobe.TipSobeID);
            return(View(sobe));
        }
Пример #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));
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("Id,BrojSobe,BrojSprata,Cijena,TipSobeID")] Sobe sobe)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sobe);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipSobeID"] = new SelectList(_context.TipSobe, "Id", "Naziv", sobe.TipSobeID);
            return(View(sobe));
        }
Пример #5
0
        public IActionResult DodajNamjestaj(int SobaZaduzenjeId)
        {
            Sobe soba = db.ZaduzeneSobe.Include(x => x.Sobe).SingleOrDefault(x => x.Id == SobaZaduzenjeId).Sobe;
            NajmjestajDodavanjeVM VM = new NajmjestajDodavanjeVM
            {
                sobe        = soba,
                ZaduzenjeID = SobaZaduzenjeId
            };



            return(View(VM));
        }
Пример #6
0
        public async Task Ucitaj()
        {
            SmjestajSearchRequest request = new SmjestajSearchRequest
            {
                SmjestajId = _SmjestajId
            };
            SmjestajModelFull Model = await _smjestajService.Get <SmjestajModelFull>(request);

            Distanca       = Model.Distanca.Value;
            Opis           = Model.Opis;
            Adresa         = Model.Adresa;
            KontaktTelefon = Model.KontaktTelefon;
            Email          = Model.Email;
            Naziv          = Model.Naziv;
            if (Model.Zvijezde != null)
            {
                Zvijezde = Model.Zvijezde.Value;
            }
            GradNaziv = Model.GradNaziv;

            IzdavacId = Model.IzdavacId;

            ImeIzdavaca = Model.IzdavacIme;

            if (Model.ListaUsluga != null && Model.ListaUsluga.Count > 0)
            {
                foreach (UslugaModel u in Model.ListaUsluga)
                {
                    Usluge.Add(u);
                }
            }
            if (Model.ListaSoba != null && Model.ListaSoba.Count > 0)
            {
                foreach (SobaModel s in Model.ListaSoba)
                {
                    Sobe.Add(s);
                }
            }
            if (Model.ListSlika != null && Model.ListSlika.Count > 0)
            {
                foreach (SlikaModel slika in Model.ListSlika)
                {
                    Slike.Add(slika);
                }
            }
        }
        private void UpdateTempSoba()
        {
            Sobe.Clear();
            TempSobe.Clear();
            RoomController             roomController             = new RoomController();
            RenovationPeriodController renovationPeriodController = new RenovationPeriodController();
            List <Room>             rooms   = roomController.ViewRooms();
            List <RenovationPeriod> periods = renovationPeriodController.ViewRenovations();

            if (rooms != null)
            {
                foreach (Room r in rooms)
                {
                    if (periods != null)
                    {
                        foreach (RenovationPeriod p in periods)
                        {
                            if (r.Number == p.room.Number)
                            {
                                Sobe.Add(new Soba()
                                {
                                    Sifra = r.Number, Kapacitet = r.Capacity, Zauzetost = r.Occupation, Tip = r.Usage, Pocetak = p.BeginDate, Kraj = p.EndDate
                                });
                                r.Renovation = true;
                            }
                        }
                    }
                    if (r.Renovation == false)
                    {
                        Sobe.Add(new Soba()
                        {
                            Sifra = r.Number, Kapacitet = r.Capacity, Zauzetost = r.Occupation, Tip = r.Usage
                        });
                    }
                }
            }
            foreach (var soba in Sobe)
            {
                TempSobe.Add(soba);
            }
        }
Пример #8
0
        public JsonResult DodajNamjestajSobi(int SobaId, int NamjestajID, int ZaduzenaId)
        {
            //provjeri moze li stati
            Sobe sobe = db.Sobe
                        .Include(x => x.TipSobe)
                        .ThenInclude(x => x.MoguciNamjestaj)
                        .SingleOrDefault(x => x.Id == SobaId);

            Namjestaj namjestaj = db.Namjestaj.FirstOrDefault(x => x.Id == NamjestajID);

            TipSobeNamjestaj tip = db.TipSobeNamjestaj
                                   .FirstOrDefault(x => x.TipSobeID == sobe.TipSobeID &&
                                                   x.TipNamjestaja == namjestaj.tipNamjestaja);

            List <NamjestajSoba> zaduzeni = db.NamjestajSoba.Where(x => x.SobeID == SobaId &&
                                                                   x.ZaduzenaSobaID == ZaduzenaId &&
                                                                   x.Namjestaj.tipNamjestaja == namjestaj.tipNamjestaja).Include(x => x.Namjestaj).Include(x => x.Sobe).ToList();

            int Max       = tip.Kolicina;
            int kapacitet = 0;

            foreach (var item in zaduzeni)
            {
                kapacitet += item.Kolicina;
            }

            if (kapacitet > Max)
            {
                return(Json(new  { uspjeh = false, poruka = "Kapacitet dostignut" }));
            }



            //provjeri jeli moguce
            NamjestajSoba postojeci = db.NamjestajSoba
                                      .Where(x => x.SobeID == SobaId &&
                                             x.NamjestajID == NamjestajID &&
                                             x.ZaduzenaSobaID == ZaduzenaId
                                             ).FirstOrDefault();

            if (postojeci != null)
            {
                ++postojeci.Kolicina;
                db.NamjestajSoba.Update(postojeci);
                db.SaveChanges();
                return(Json(new { uspjeh = true, poruka = "Uspješno dodan" }));
            }


            NamjestajSoba nova = new NamjestajSoba()
            {
                SobeID         = SobaId,
                NamjestajID    = NamjestajID,
                ZaduzenaSobaID = ZaduzenaId,
                Kolicina       = 1
            };

            db.NamjestajSoba.Add(nova);
            db.SaveChanges();

            Namjestaj nam = db.Namjestaj.SingleOrDefault(x => x.Id == NamjestajID);

            return(Json(new  { uspjeh = true, poruka = "Uspješno dodan" }));
        }
Пример #9
0
        public async Task Ucitaj()
        {
            if (Ocjene.Count == 0)
            {
                Ocjene.Add(1);
                Ocjene.Add(2);
                Ocjene.Add(3);
                Ocjene.Add(4);
                Ocjene.Add(5);
            }
            RezervacijaModel model = await _smjestajService.GetById <RezervacijaModel>(RezervacijaId);

            AdresaSmjestaja        = model.AdresaSmjestaja;
            BrojDjece              = model.BrojDjece;
            BrojOdraslih           = model.BrojOdraslih;
            DatumRezervacijeShort  = model.DatumRezervacijeShort;
            NazivSmjestaja         = model.NazivSmjestaja;
            RezervacijaDoShort     = model.RezervacijaDoShort;
            RezervacijaOdShort     = model.RezervacijaOdShort;
            StatusRezervacijeId    = model.StatusRezervacijeId;
            StatusRezervacijeNaziv = model.StatusRezervacijeNaziv;
            SmjestajId             = model.SmjestajId;
            KlijentId              = model.KlijentId;
            if (StatusRezervacijeId == 1)
            {
                Aktivna = true;
            }
            else
            {
                Aktivna = false;
            }
            DateTime Pocetni = Convert.ToDateTime(RezervacijaOdShort);
            DateTime Krajnji = Convert.ToDateTime(RezervacijaDoShort);

            int Dani = (Krajnji - Pocetni).Days;

            UkupnaCijena = new double();
            foreach (SobaModel S in model.Sobe)
            {
                Sobe.Add(S);
                UkupnaCijena += S.Cijena * Dani;
            }

            VisinaSobe     = 20 * Sobe.Count;
            UkupnoUplaceno = new double();
            if (model.Uplate != null && model.Uplate.Count > 0)
            {
                foreach (UplataModel u in model.Uplate)
                {
                    Uplate.Add(u);
                    UkupnoUplaceno += u.Iznos;
                }
                VisinaUplate = 20 * Uplate.Count;
            }
            else
            {
                UplataModel Prazna = new UplataModel();
                Prazna.SifraUplate = "Nema unesenih uplata";
                Uplate.Add(Prazna);
                VisinaUplate = 20;
            }
        }