public IActionResult Snimi(RezervacijaDodajVM vm) { if (vm.RezervacijaID == 0) { Rezervacija x = new Rezervacija { DatumRezervacije = vm.DatumRezervacije, KlijentId = vm.KlijentId, TerminId = vm.TerminId, TretmanId = vm.TeretmanId, }; _db.Rezervacija.Add(x); _db.SaveChanges(); PoslataNotifikacija n = new PoslataNotifikacija { DatumSlanja = DateTime.Now, IsProcitano = false, RezervacijaId = x.Id }; _db.PoslataNotifikacija.Add(n); } else { Rezervacija t = _db.Rezervacija.Find(vm.RezervacijaID); t.DatumRezervacije = vm.DatumRezervacije; t.KlijentId = vm.KlijentId; t.TerminId = vm.TerminId; t.TretmanId = vm.TeretmanId; } Termin tr = _db.Termin.Find(vm.TerminId); tr.Rezervisan = true; _db.SaveChanges(); return(Redirect("/Rezervacija/Index")); }
public IActionResult UrediSave(RezervacijaDodajVM model) { if (ModelState.IsValid) { Rezervacija r = db.Rezervacija.Find(model.RezervacijaId); RezervacijaStavke rs = db.RezervacijaStavke.Where(w => w.RezervacijaId == model.RezervacijaId).FirstOrDefault(); if (r == null) { r = new Rezervacija(); rs = new RezervacijaStavke(); db.Add(r); db.Add(rs); } r.NarucilacId = model.NarucilacId; r.Naziv = model.Naziv; r.DatumEvidencije = model.DatumEvidencije; r.DatumRezervacije = model.DatumRezervacije; rs.RezervacijaId = r.Id; rs.StolId = model.BrojStolova; db.SaveChanges(); return(RedirectToAction("List")); } else { return(View("Uredi", model)); } }
public IActionResult DodajSave(RezervacijaDodajVM model) { Rezervacija r = _db.Rezervacija.Find(model.RezervacijaId); RezervacijaStavke rs = _db.RezervacijaStavke.Where(w => w.RezervacijaId == model.RezervacijaId).FirstOrDefault(); if (r == null) { r = new Rezervacija(); rs = new RezervacijaStavke(); _db.Add(r); _db.Add(rs); } r.NarucilacId = model.NarucilacId; r.Naziv = model.Naziv; r.DatumEvidencije = model.DatumEvidencije; r.DatumRezervacije = model.DatumRezervacije; rs.RezervacijaId = r.Id; rs.StolId = model.BrojStolova; _db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Dodaj() { var model = new RezervacijaDodajVM(); model.Termini = GetTermini(); model.Klijenti = GetKlijenti(); return(View("Dodaj", model)); }
public IActionResult SnimiRezervaciju(RezervacijaDodajVM input) { //double PDV = 1.17; Rezervacija rzr = new Rezervacija { RezervacijaId = input.RezervacijaId, DatumPreuzimanja = input.DatumPreuzimanja, DatumVracanja = input.DatumVracanja, //CijenaUslugePoDanu = input.CijenaUslugePoDanu, CijenaUslugePoDanu = input.CijenaVozilaPoDanu + input.CijenaVozacaPoDanu + input.CijenaVodicaPoDanu + input.CijenaTuristRutePoDanu, VozacId = input.vozacID, VoziloId = input.voziloID, TuristRutaId = input.turistRutaID, TuristickiVodicId = input.turistickiVodicID, KlijentId = input.klijentID, NacinPlacanjaId = input.nacinPlacanjaID, UkupnaCijena = (input.CijenaVozilaPoDanu + input.CijenaVozacaPoDanu + input.CijenaVodicaPoDanu + input.CijenaTuristRutePoDanu) * (input.DatumVracanja - input.DatumPreuzimanja).TotalDays * 1.17 }; //ovo ispod provjeravam da li je dostupno vozilo: ....TREBA samo u petlju staviti jedan po jedan dan //za pretragu id-a vozila int brojac = 0; List <Rezervacija> ListaRezervacija = _context.Rezervacijas .Include(q => q.Vozilo) .Where(c => c.VoziloId == rzr.VoziloId).ToList(); foreach (Rezervacija x in ListaRezervacija) { for (DateTime date = rzr.DatumPreuzimanja; date <= rzr.DatumVracanja; date = date.AddDays(1.0)) { if (x.VoziloId == rzr.VoziloId && date >= x.DatumPreuzimanja && date <= x.DatumVracanja) { brojac++; } } } if (brojac > 0) { return(RedirectToAction("DodajRezervaciju", "Rezervacija")); //moracu ponoviti akciju Snimi; ....Morace pisati poruka kao validacija ili slicno... //Redirect to Action DodajRezervaciju ili neki return..break ili slicno. } _context.Rezervacijas.Add(rzr); _context.SaveChanges(); return(RedirectToAction("Index", "Rezervacija")); }
public IActionResult Dodaj(int KorisnikId) { RezervacijaDodajVM model = new RezervacijaDodajVM(); Narucilac n = _db.Narucilac.Where(w => w.KorisnickiNalogId == KorisnikId).FirstOrDefault(); model.NarucilacId = n.NarucilacId; model.NarucilacIme = n.ImePrezime; model.DatumEvidencije = DateTime.Now; return(View(model)); }
public IActionResult Dodaj(int id) { RezervacijaDodajVM model = new RezervacijaDodajVM(); Narucilac n = db.Narucilac.Find(id); model.NarucilacId = id; model.NarucilacIme = n.ImePrezime; model.DatumEvidencije = DateTime.Now; return(View(model)); }
public IActionResult DodajRezervaciju() { RezervacijaDodajVM ulazniModel = new RezervacijaDodajVM(); ulazniModel.vozaci = _context.Vozacs .Select(g => new SelectListItem { Value = g.VozacId.ToString(), Text = g.Naziv + " Cijena po danu je " + g.CijenaVozacaPoDanu }).ToList(); ulazniModel.vozila = _context.Vozilos .Select(vz => new SelectListItem { Value = vz.VoziloId.ToString(), Text = vz.NazivVozila + " Cijena po danu je " + vz.CijenaVozilaPoDanu }).ToList(); ulazniModel.turistRute = _context.TuristRutas .Select(tr => new SelectListItem { Value = tr.TuristRutaId.ToString(), Text = tr.Naziv + " Cijena po danu je " + tr.CijenaTuristRutePoDanu }).ToList(); ulazniModel.turistickiVodici = _context.TuristickiVodics .Select(trv => new SelectListItem { Value = trv.TuristickiVodicId.ToString(), Text = trv.Naziv + " Cijena po danu je " + trv.CijenaVodicaPoDanu }).ToList(); ulazniModel.klijenti = _context.Klijents .Select(k => new SelectListItem { Value = k.KlijentId.ToString(), Text = k.Ime + " " + k.Prezime }).ToList(); ulazniModel.naciniPlacanja = _context.NacinPlacanjas .Select(np => new SelectListItem { Value = np.NacinPlacanjaId.ToString(), Text = np.Naziv }).ToList(); // ovo treba prebaciti u SnimiRezervaciju i prvo definisati vrijednosti datuma, // pa tek onda dodati Trajanje.... return(View("DodajRezervaciju", ulazniModel)); }
public IActionResult Snimi(RezervacijaDodajVM model) { MyContext db = new MyContext(); Rezervacija r = model.Rezervacija; r.KupacID = model.Rezervacija.KupacID; r.DatumRezervacije = DateTime.Now; r.DatumIsteka = db.Prikazivanje.Where(x => x.PrikazivanjeID == r.PrikazivanjeID).Select(x => x.DatumPrikazivanja).FirstOrDefault(); db.Rezervacija.Add(r); db.SaveChanges(); db.Dispose(); return(RedirectToAction("Prikazi")); }
public IActionResult Pregled(int rezervacijaid, int putovanjeid, int klijentid, string ime, DateTime datum, int brojosoba) { RezervacijaDodajVM model = new RezervacijaDodajVM(); model.RezervacijaId = rezervacijaid; model.PutovanjeId = putovanjeid; model.KlijentId = klijentid; model.Ime = ime; model.Datum = datum; model.BrojOsoba = brojosoba; return(View("Pregled", model)); }
public IActionResult Uredi(int id) { Rezervacija rezervacija = db.Rezervacija.Find(id); RezervacijaStavke rs = db.RezervacijaStavke.Where(w => w.RezervacijaId == id).FirstOrDefault(); Narucilac n = db.Narucilac.Where(w => w.NarucilacId == rezervacija.NarucilacId).FirstOrDefault(); RezervacijaDodajVM model = new RezervacijaDodajVM(); model.RezervacijaId = id; model.Naziv = rezervacija.Naziv; model.DatumEvidencije = rezervacija.DatumEvidencije; model.DatumRezervacije = rezervacija.DatumRezervacije; model.BrojStolova = rs.StolId; model.NarucilacIme = n.ImePrezime; model.NarucilacId = rezervacija.NarucilacId; return(View(model)); }
//Dodavanje rezervacije modul klijent public IActionResult Dodaj(int id) { KlijentT k = _db.Klijent.Where(x => x.KlijentID == HttpContext.GetLogiraniKlijent().KlijentID).FirstOrDefault(); RezervacijaDodajVM model = new RezervacijaDodajVM { Klijent = k.Ime + " " + k.Prezime, KlijentId = k.KlijentID, Tretmani = _db.Tretman.Select(i => new SelectListItem { Value = i.TretmanID.ToString(), Text = i.Naziv + " " + i.Cijena + " " + "KM" }).ToList(), TerminId = id, DatumRezervacije = DateTime.Now, VrijemeTermina = _db.Termin.Find(id).VrijemeTermina }; return(View(model)); }
public IActionResult Potvrdi(RezervacijaDodajVM input) { Rezervacija rezervacija = _db.Rezervacija.Find(input.RezervacijaId); if (!ModelState.IsValid) { return(View("Pregled", input)); } rezervacija.Ime = input.Ime; rezervacija.KlijentID = input.KlijentId; rezervacija.PutovanjeID = input.PutovanjeId; rezervacija.DatumRezervacije = input.Datum; rezervacija.BrojOsoba = input.BrojOsoba; rezervacija.Status = input.Status; rezervacija.Napomena = input.Napomena; _db.SaveChanges(); Obavijesti obavijest = new Obavijesti(); if (rezervacija.Status == "Potvrđeno" || rezervacija.Status == "potvrđeno" || rezervacija.Status == "POTVRĐENO") { obavijest.Naziv = "Odgovor na zahtjev za rezervaciju"; obavijest.Sadrzaj = "Vaša rezervacija je potvrđena"; obavijest.KlijentId = rezervacija.KlijentID; obavijest.Datum = DateTime.Now; obavijest.Slika = null; _db.Obavijesti.Add(obavijest); } else { obavijest.Naziv = "Odgovor na zahtjev za rezervaciju"; obavijest.Sadrzaj = "Vaša rezervacija je odbijena"; obavijest.KlijentId = rezervacija.KlijentID; obavijest.Datum = DateTime.Now; obavijest.Slika = null; _db.Obavijesti.Add(obavijest); } _db.SaveChanges(); return(Redirect("Index")); }
public IActionResult Dodaj() { MyContext db = new MyContext(); RezervacijaDodajVM model = new RezervacijaDodajVM() { Rezervacija = new Rezervacija(), Kupci = db.Kupac.Select(x => new SelectListItem() { Value = x.KupacID.ToString(), Text = x.Ime + " " + x.Prezime }).ToList(), Prikazivanja = db.Prikazivanje.Select(x => new SelectListItem() { Value = x.PrikazivanjeID.ToString(), Text = x.Predstava.Naziv + " / " + x.DatumPrikazivanja.ToShortDateString() }).ToList() }; return(View(model)); }
protected override ValidationResult IsValid(object datumPovrata, ValidationContext validationContext) { DateTime DatumPovrata = (DateTime)datumPovrata; RezervacijaDodajVM vm = (RezervacijaDodajVM)validationContext.ObjectInstance; if (DatumPovrata > vm.DatumPreuzimanja) { if (DatumPovrata.Hour > VrijemeOtvaranja && DatumPovrata.Hour < VrijemeZatvaranja) { return(ValidationResult.Success); } else { return(new ValidationResult("Vrijeme povrata mora biti u radnom vremenu poslovnice od " + VrijemeOtvaranja + "h do" + VrijemeZatvaranja + "h")); } } else { return(new ValidationResult("Datum i vrijeme povrata ne moze biti stariji od datuma i vremena preuzimanja!")); } }
public IActionResult Dodaj(RezervacijaDodajVM model) { if (!ModelState.IsValid) { model.Termini = GetTermini(); model.Klijenti = GetKlijenti(); return(View("Dodaj", model)); } var novaRezervacija = new Rezervacija { KlijentID = model.OdabraniKlijentId.Value, OdobrenaRezervacija = false, TerminID = model.OdabraniTerminId.Value, UplataID = null }; context.Rezervacije.Add(novaRezervacija); context.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult DodajSave(RezervacijaDodajVM model) { Rezervacija r = new Rezervacija(); r.DatumEvidencije = DateTime.Now; r.DatumRezervacije = model.DatumRezervacije; r.NarucilacId = model.Narucilac.NarucilacId; db.Add(r); db.SaveChanges(); RezervacijaStavke rs = new RezervacijaStavke(); rs.StolId = model.StolMjesta.Id; rs.RezervacijaId = db.Rezervacija.Where(x => x.Id == r.Id).FirstOrDefault().Id; db.Add(rs); db.SaveChanges(); TempData["porukaDodan"] = "Uspjesno dodana rezervacija"; return(Redirect("/Rezervacija/Prikazi")); }
public IActionResult Rezervacija(string vozilo) { RezervacijaDodajVM model = new RezervacijaDodajVM(); string[] StringVozilo = new string[2]; try { StringVozilo = vozilo.Split('-'); model.Vozilo = vozilo; } catch (Exception) { } string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null) { //redirect na pocetnu str ili ispisati nesto } //Preuzeti vozilo iz rezervacije Vozilo _Vozilo = null; if (SifraRezervacije != null) { Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); int idV = r.VoziloID; _Vozilo = db.Vozilo.Where(x => x.VoziloID == idV).FirstOrDefault(); StringVozilo[0] = db.Vozilo.Where(x => x.VoziloID == idV).Select(y => y.Brend.Naziv).FirstOrDefault(); StringVozilo[1] = _Vozilo.Naziv; model.Vozilo = StringVozilo[0] + "-" + StringVozilo[1]; VozilaVM.Row VR = new VozilaVM.Row { Brend = db.Brend.FirstOrDefault(z => z.BrendID == _Vozilo.BrendID).Naziv, Naziv = _Vozilo.Naziv, Cijena = _Vozilo.Cijena, PoslovnicaNaziv = db.Poslovnica.FirstOrDefault(x => x.PoslovnicaID == r.PoslovnicaID).Naziv, PoslovnicaLokacija = db.Poslovnica.Where(x => x.PoslovnicaID == r.PoslovnicaID).Select(y => y.Grad.Naziv).FirstOrDefault(), Slika = db.Slika.FirstOrDefault(y => y.VoziloID == _Vozilo.VoziloID && y.Pozicija == 1) }; model.VoziloVM = VR; model.DatumPreuzimanja = r.DatumPreuzimanja; model.DatumPovrata = r.DatumPovrata; return(View(nameof(Rezervacija), model)); } else { _Vozilo = db.Vozilo.Where(x => x.Naziv == StringVozilo[1] && x.Brend.Naziv == StringVozilo[0]).FirstOrDefault(); } //0-Brend 1-VoziloNaziv //Provjeriti jel vozilo rezervisano //RijesitiException var idP = db.TrenutnaPoslovnica.FirstOrDefault(t => t.VoziloID == _Vozilo.VoziloID).PoslovnicaID; VozilaVM.Row vr = new VozilaVM.Row { Brend = db.Brend.FirstOrDefault(z => z.BrendID == _Vozilo.BrendID).Naziv, Naziv = _Vozilo.Naziv, Cijena = _Vozilo.Cijena, PoslovnicaNaziv = db.Poslovnica.FirstOrDefault(x => x.PoslovnicaID == idP).Naziv, PoslovnicaLokacija = db.Poslovnica.Where(x => x.PoslovnicaID == idP).Select(y => y.Grad.Naziv).FirstOrDefault(), Slika = db.Slika.FirstOrDefault(y => y.VoziloID == _Vozilo.VoziloID && y.Pozicija == 1) }; model.VoziloVM = vr; model.DatumPreuzimanja = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); model.DatumPovrata = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1); return(View(nameof(Rezervacija), model)); }
public IActionResult NapraviRezervaciju(RezervacijaDodajVM model) { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (!ModelState.IsValid) { Vozilo _Vozilo = null; if (SifraRezervacije != null) { string[] stringVozilo = new string[2]; Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); int idV = r.VoziloID; _Vozilo = db.Vozilo.Where(x => x.VoziloID == idV).FirstOrDefault(); stringVozilo[0] = db.Vozilo.Where(x => x.VoziloID == idV).Select(y => y.Brend.Naziv).FirstOrDefault(); stringVozilo[1] = _Vozilo.Naziv; model.Vozilo = stringVozilo[0] + "-" + stringVozilo[1]; VozilaVM.Row VR = new VozilaVM.Row { Brend = db.Brend.FirstOrDefault(z => z.BrendID == _Vozilo.BrendID).Naziv, Naziv = _Vozilo.Naziv, Cijena = _Vozilo.Cijena, PoslovnicaNaziv = db.Poslovnica.FirstOrDefault(x => x.PoslovnicaID == r.PoslovnicaID).Naziv, PoslovnicaLokacija = db.Poslovnica.Where(x => x.PoslovnicaID == r.PoslovnicaID).Select(y => y.Grad.Naziv).FirstOrDefault(), Slika = db.Slika.FirstOrDefault(y => y.VoziloID == _Vozilo.VoziloID && y.Pozicija == 1) }; model.VoziloVM = VR; model.DatumPreuzimanja = r.DatumPreuzimanja; model.DatumPovrata = r.DatumPovrata; return(View(nameof(Rezervacija), model)); } if (model.Vozilo == null || model.Vozilo == "") { return(Redirect("~/Vozilo")); } string[] StringVozilo = model.Vozilo.Split('-'); _Vozilo = db.Vozilo.Where(x => x.Naziv == StringVozilo[1] && x.Brend.Naziv == StringVozilo[0]).FirstOrDefault(); var idP = db.TrenutnaPoslovnica.FirstOrDefault(t => t.VoziloID == _Vozilo.VoziloID).PoslovnicaID; VozilaVM.Row vr = new VozilaVM.Row { Brend = db.Brend.FirstOrDefault(z => z.BrendID == _Vozilo.BrendID).Naziv, Naziv = _Vozilo.Naziv, Cijena = _Vozilo.Cijena, PoslovnicaNaziv = db.Poslovnica.FirstOrDefault(x => x.PoslovnicaID == idP).Naziv, PoslovnicaLokacija = db.Poslovnica.Where(x => x.PoslovnicaID == idP).Select(y => y.Grad.Naziv).FirstOrDefault(), Slika = db.Slika.FirstOrDefault(y => y.VoziloID == _Vozilo.VoziloID && y.Pozicija == 1) }; model.VoziloVM = vr; return(View(nameof(Rezervacija), model)); } if (SifraRezervacije == null) { string[] StringVozilo = model.Vozilo.Split('-'); int voziloID = db.Vozilo.Where(x => x.Naziv == StringVozilo[1] && x.Brend.Naziv == StringVozilo[0]).Select(y => y.VoziloID).FirstOrDefault(); int god = DateTime.Now.Year; int KlijentID = int.Parse(_signInManager.GetUserId(User)); int pID = db.TrenutnaPoslovnica.Where(x => x.VoziloID == voziloID).FirstOrDefault().PoslovnicaID; double c = db.Vozilo.Where(vo => vo.VoziloID == voziloID).FirstOrDefault().Cijena; int brDanaIznajmljivanja = dateDiff(model.DatumPreuzimanja, model.DatumPovrata); Rezervacija r = new Rezervacija { VoziloID = voziloID, PoslovnicaID = pID, DatumRezervacije = DateTime.Now, DatumPovrata = model.DatumPovrata, DatumPreuzimanja = model.DatumPreuzimanja, Zakljucen = (int)InfoRezervacija.U_Obradi, Cijena = c * brDanaIznajmljivanja, KlijentID = KlijentID, BrojDanaIznajmljivanja = brDanaIznajmljivanja, NacinPlacanja = (int)NacinPlacanja.NijeDefinisano, UspjesnoSpremljena = false }; //kreiranje kukija za rezervaciju CookieOptions option = new CookieOptions(); var ticks = DateTime.Now.Ticks; var guid = Guid.NewGuid().ToString(); var uniqueSessionId = ticks.ToString() + '-' + guid; option.Expires = DateTime.Now.AddHours(24); Response.Cookies.Append("Sesion", uniqueSessionId, option); r.SifraRezervacije = uniqueSessionId; db.Add(r); db.SaveChanges(); return(Redirect(nameof(DodatneUsluge))); } Rezervacija rez = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); double cijenVozilaPoDanu = db.Vozilo.Where(vo => vo.VoziloID == rez.VoziloID).FirstOrDefault().Cijena; rez.DatumPreuzimanja = model.DatumPreuzimanja; rez.DatumPovrata = model.DatumPovrata; int brDana = (model.DatumPovrata - model.DatumPreuzimanja).Days == 0 ? 1 : (model.DatumPovrata - model.DatumPreuzimanja).Days; rez.BrojDanaIznajmljivanja = brDana; rez.Cijena = cijenVozilaPoDanu * brDana; db.SaveChanges(); return(Redirect(nameof(DodatneUsluge))); //return View(nameof(DodatneUslugePV)); }
public IActionResult DodajForm() { RezervacijaDodajVM model = this.GenerisiCmbStavke(); return(View("DodajForm", model)); }