public IActionResult Snimi(DodatneUslugeDodajVM model) { if (!ModelState.IsValid) { return(View("Dodaj", model)); } DodatneUsluge dodatneUsluge = null; if (model.DodatneUsluge.Id != 0) { dodatneUsluge = model.DodatneUsluge; _db.DodatneUsluge.Update(dodatneUsluge); _db.SaveChanges(); } else { dodatneUsluge = new DodatneUsluge { Naziv = model.DodatneUsluge.Naziv, Opis = model.DodatneUsluge.Opis, Cijena = model.DodatneUsluge.Cijena }; _db.DodatneUsluge.Add(dodatneUsluge); _db.SaveChanges(); } return(Redirect("/Administrator/DodatneUsluge/Index")); }
public IActionResult Uredi(int uslugaID) { DodatneUslugeDodajVM model = new DodatneUslugeDodajVM { DodatneUsluge = _db.DodatneUsluge.Find(uslugaID) }; return(View(nameof(Dodaj), model)); }
public IActionResult Dodaj(int uslugaID) { DodatneUslugeDodajVM model = new DodatneUslugeDodajVM { DodatneUsluge = new DodatneUsluge() }; return(View(model)); }
public IActionResult DodatneUsluge() { DodatneUslugeDodajVM dodatneUslugeDodajVM = new DodatneUslugeDodajVM(); List <DodatneUsluge> DodatneUsluge = db.DodatneUsluge.ToList(); //PreuzimanjeSesijeID string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null) { //redirect na pocetnu str ili ispisati nesto } List <RezervisanaUsluga> RezervisaneUslugeFromDB = db.RezervisanaUsluga.Where(x => x.Rezervacija.SifraRezervacije == SifraRezervacije).ToList(); //Preuzeti vozilo iz rezervacije int VoziloID = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.VoziloID).FirstOrDefault(); bool kuka = db.Vozilo.FirstOrDefault(v => v.VoziloID == VoziloID).Kuka; dodatneUslugeDodajVM.Kuka = kuka; //provjera da li rezervacija ima sprmeljenu prikolicu int?idPrikolice = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.PrikolicaID).FirstOrDefault(); dodatneUslugeDodajVM.DodajPrikolicu = idPrikolice == null ? false : true; dodatneUslugeDodajVM.rows = new List <DodatneUslugeDodajVM.UslugeVm>(); for (int i = 0; i < DodatneUsluge.Count; i++) { bool selektovano = RezervisaneUslugeFromDB.Any(ru => ru.DodatneUslugeID == DodatneUsluge[i].DodatneUslugeID); DodatneUslugeDodajVM.UslugeVm x = new DodatneUslugeDodajVM.UslugeVm { Selected = selektovano, Cijena = DodatneUsluge[i].Cijena, Naziv = DodatneUsluge[i].Naziv, Opis = DodatneUsluge[i].Opis }; dodatneUslugeDodajVM.rows.Add(x); } return(View(nameof(DodatneUsluge), dodatneUslugeDodajVM)); }
public IActionResult DodatneUslugeDodaj(DodatneUslugeDodajVM model) { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null) { //redirect na pocetnu str ili ispisati nesto } int RezervacijaID = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.RezervacijaID).FirstOrDefault(); Rezervacija rezervacija = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); List <RezervisanaUsluga> rezervisanaUslugaFromDB = db.RezervisanaUsluga.Where(x => x.RezervacijaID == RezervacijaID).ToList(); if (!ModelState.IsValid) { return(Redirect(nameof(DodatneUsluge))); } List <RezervisanaUsluga> rezervisanaUslugaZaDodati = new List <RezervisanaUsluga>(); List <RezervisanaUsluga> rezervisanaUslugaZaObrisati = new List <RezervisanaUsluga>(); for (int i = 0; i < model.rows.Count; i++) { try { double cijena = (db.DodatneUsluge.Where(du => du.Naziv == model.rows[i].Naziv).FirstOrDefault().Cijena) * model.rows[i].Kolicina; RezervisanaUsluga r = new RezervisanaUsluga { Kolicina = model.rows[i].Kolicina, DodatneUslugeID = db.DodatneUsluge.Where(x => x.Naziv == model.rows[i].Naziv).Select(y => y.DodatneUslugeID).FirstOrDefault(), UkupnaCijenaUsluge = cijena, RezervacijaID = RezervacijaID }; if (!rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected) { rezervisanaUslugaZaDodati.Add(r); rezervacija.Cijena += r.UkupnaCijenaUsluge; db.SaveChanges(); } else if (rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected == false) { RezervisanaUsluga rv = db.RezervisanaUsluga.Where(c => c.DodatneUslugeID == r.DodatneUslugeID && c.RezervacijaID == r.RezervacijaID).FirstOrDefault(); rezervisanaUslugaZaObrisati.Add(rv); rezervacija.Cijena -= r.UkupnaCijenaUsluge; db.SaveChanges(); } else if (rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected == true) { RezervisanaUsluga RUforUpdate = db.RezervisanaUsluga.Where(x => x.DodatneUslugeID == r.DodatneUslugeID && x.RezervacijaID == r.RezervacijaID).FirstOrDefault(); rezervacija.Cijena -= RUforUpdate.UkupnaCijenaUsluge; RUforUpdate.Kolicina = r.Kolicina; RUforUpdate.UkupnaCijenaUsluge = r.UkupnaCijenaUsluge; rezervacija.Cijena += RUforUpdate.UkupnaCijenaUsluge; db.SaveChanges(); } } catch (Exception) { continue; } } db.RemoveRange(rezervisanaUslugaZaObrisati); db.AddRange(rezervisanaUslugaZaDodati); db.SaveChanges(); //povlcenje prikolica if (model.DodajPrikolicu) { return(RedirectPermanent(nameof(Prikolice))); } else { int? idPrikolice = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.PrikolicaID).FirstOrDefault(); bool p = idPrikolice == null ? false : true; if (p) { double cijenaPrikolice = db.Prikolica.Where(pr => pr.PrikolicaID == idPrikolice).FirstOrDefault().Cijna; Rezervacija Rezervacija = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); Rezervacija.Cijena -= cijenaPrikolice; Rezervacija.PrikolicaID = null; db.SaveChanges(); } } return(RedirectPermanent(nameof(Placanje))); }