예제 #1
0
        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"));
        }
예제 #2
0
        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"));
        }