public async Task <IActionResult> Edit(int id, [Bind("Id,TipSobeID,TipNamjestaja,Kolicina")] TipSobeNamjestaj tipSobeNamjestaj) { if (id != tipSobeNamjestaj.Id) { return(NotFound()); } if (ModelState.IsValid) { try { db.Update(tipSobeNamjestaj); await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TipSobeNamjestajExists(tipSobeNamjestaj.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index), new { TipSobeId = tipSobeNamjestaj.TipSobeID })); } ViewData["TipSobeID"] = new SelectList(db.TipSobe, "Id", "Naziv", tipSobeNamjestaj.TipSobeID); return(View(tipSobeNamjestaj)); }
public async Task <IActionResult> Create([Bind("Id,TipSobeID,TipNamjestaja,Kolicina")] TipSobeNamjestaj tipSobeNamjestaj) { if (ModelState.IsValid) { TipSobeNamjestaj postoji = db.TipSobeNamjestaj.SingleOrDefault(x => x.TipSobeID == tipSobeNamjestaj.TipSobeID && (int)x.TipNamjestaja == (int)tipSobeNamjestaj.TipNamjestaja); if (postoji != null) { postoji.Kolicina = tipSobeNamjestaj.Kolicina; db.TipSobeNamjestaj.Update(postoji); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } db.Add(tipSobeNamjestaj); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TipSobeID"] = new SelectList(db.TipSobe, "Id", "Naziv", tipSobeNamjestaj.TipSobeID); return(View(tipSobeNamjestaj)); }
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" })); }