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(); }
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)); }
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 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)); }
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)); }
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); } }
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" })); }
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; } }