public IActionResult ZavrsiRezervaciju() { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null) { //redirect na pocetnu str ili ispisati nesto } Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); r.UspjesnoSpremljena = true; Vozilo v = db.Vozilo.Where(x => x.VoziloID == r.VoziloID).FirstOrDefault(); int x1 = r.PrikolicaID ?? 0; r.SifraRezervacije = DateTime.Now.Day + "" + DateTime.Now.Month + "-" + r.PoslovnicaID + "" + r.VoziloID + "" + r.RezervacijaID + "" + x1 + "/" + DateTime.Now.Year; db.SaveChanges(); Response.Cookies.Delete("Sesion"); TrenutnaPoslovnica tp = db.TrenutnaPoslovnica.Where(TP => TP.VoziloID == r.VoziloID).FirstOrDefault(); tp.VoziloRezervisano = true; db.SaveChanges(); Notifikacija notifikacijaZaKlijenta = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Vasa rezervacija za vozilo " + v.Naziv + " je zaprimljena u poslovnicu i trenutno je na obradi!", PoslovnicaID = null, UserID = r.KlijentID, RezervacijaID = r.RezervacijaID }; Notifikacija notifikacijaZaUposlenika = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Nova rezervacija za vozilo " + v.Naziv + " od " + User.Identity.Name, PoslovnicaID = r.PoslovnicaID, UserID = null, RezervacijaID = r.RezervacijaID }; List <Notifikacija> n = new List <Notifikacija>(); n.Add(notifikacijaZaKlijenta); n.Add(notifikacijaZaUposlenika); db.AddRange(n); db.SaveChanges(); return(RedirectPermanent("/Klijent/Rezervacija/Index")); }
public IActionResult PonistiRezervaciju(int?id) { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null && id == null) { return(RedirectPermanent("/Klijent/Rezervacija")); } if (id != null) { //redirect na pocetnu str ili ispisati nesto Rezervacija r1 = db.Rezervacija.Where(x => x.RezervacijaID == id).FirstOrDefault(); List <RezervisanaUsluga> ru1 = db.RezervisanaUsluga.Where(x => x.RezervacijaID == r1.RezervacijaID).ToList(); OcjenaRezervacija ocjena1 = db.OcjenaRezervacija.Where(x => x.RezervacijaID == r1.RezervacijaID).FirstOrDefault(); TrenutnaPoslovnica tp1 = db.TrenutnaPoslovnica.Where(x => x.VoziloID == r1.VoziloID && x.PoslovnicaID == r1.PoslovnicaID && x.VoziloRezervisano == true).FirstOrDefault(); Vozilo v = db.Vozilo.Where(x => x.VoziloID == r1.VoziloID).FirstOrDefault(); List <Notifikacija> noti = db.Notifikacija.Where(x => x.RezervacijaID == r1.RezervacijaID).ToList(); if (noti != null) { noti.Select(c => { c.RezervacijaID = null; return(c); }); } if (tp1 != null) { tp1.VoziloRezervisano = false; } if (ocjena1 != null) { db.Remove(ocjena1); } if (ru1 != null) { db.RemoveRange(ru1); } if (r1 != null) { db.Remove(r1); } Notifikacija notifikacijaZaKlijenta = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Vasa rezervacija za vozilo " + v.Naziv + " je uspjesno obrisana!", PoslovnicaID = null, UserID = r1.KlijentID, RezervacijaID = null }; Notifikacija notifikacijaZaUposlenika = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = User.Identity.Name + " je obrisao svoju rezervaciju za vozilo: " + v.Naziv + " !", PoslovnicaID = r1.PoslovnicaID, UserID = null, RezervacijaID = null }; List <Notifikacija> n = new List <Notifikacija>(); n.Add(notifikacijaZaKlijenta); n.Add(notifikacijaZaUposlenika); db.AddRange(n); db.SaveChanges(); return(RedirectPermanent("/Klijent/Rezervacija")); } Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); List <RezervisanaUsluga> ru = db.RezervisanaUsluga.Where(x => x.RezervacijaID == r.RezervacijaID).ToList(); OcjenaRezervacija ocjena = db.OcjenaRezervacija.Where(x => x.RezervacijaID == r.RezervacijaID).FirstOrDefault(); TrenutnaPoslovnica tp = db.TrenutnaPoslovnica.Where(x => x.VoziloID == r.VoziloID && x.PoslovnicaID == r.PoslovnicaID && x.VoziloRezervisano == true).FirstOrDefault(); if (tp != null) { tp.VoziloRezervisano = false; } if (ocjena != null) { db.Remove(ocjena); } if (ru != null) { db.RemoveRange(ru); } if (r != null) { db.Remove(r); } Response.Cookies.Delete("Sesion"); db.SaveChanges(); return(RedirectPermanent("/Vozilo")); }