public IActionResult Dodaj() { KlijentT t = HttpContext.GetLogiraniKlijent(); KlijentDodajVM model = new KlijentDodajVM(); if (t != null) { model.KlijentID = t.KlijentID; model.Ime = t.Ime; model.Prezime = t.Prezime; model.Email = t.Email; model.BrojTelefona = t.BrojTelefona; model.GradID = t.GradID; TempData["Succes"] = TempData["error"]; return(PartialView(model)); } model.gradovi = _db.Grad.Select(i => new SelectListItem { Value = i.Id.ToString(), Text = i.Naziv }).ToList(); model.DatumRodjenja = DateTime.Now; return(PartialView(model)); }
public IActionResult Index(int TrenutnaStranica = 1, int VelicinaStranice = 4) { Korisnik k = HttpContext.GetLogiraniKorisnik(); KlijentT u = HttpContext.GetLogiraniKlijent(); if (u != null) { return(Redirect("/Clanak/KlijentIndex/")); } ClanakIndexVM model = new ClanakIndexVM { rows = _db.Clank.Select(o => new ClanakIndexVM.row { ClanakID = o.ClanakID, Naslov = o.Naslov, DatumObjave = o.DatumObjave, Podnaslov = o.Podnaslov, Kategorija = o.ClanciKategorija.Naziv, Korisnik = o.Korisnik.Ime, }).ToList() }; //Paging var items = model.rows.OrderByDescending(x => x.DatumObjave).Skip((TrenutnaStranica - 1) * VelicinaStranice).Take(VelicinaStranice).ToList(); ViewData["TrenutnaStranica"] = TrenutnaStranica; return(View(items)); }
public IActionResult UkloniKomentar(int id) { KlijentT klijent = HttpContext.GetLogiraniKlijent(); Komentar k = _db.Komentar.Find(id); if (klijent != null) { k.SakrijKomentar = true; _db.SaveChanges(); return(Redirect("/Komentar/Index/" + k.KorisnikId)); } else { KorisniciUloge list = _db.KorisniciUloge.Include(x => x.Korisnik).Include(x => x.Uloga).Where(x => x.KorisnikId == HttpContext.GetLogiraniKorisnik().KorisnikId).FirstOrDefault(); if (list.Uloga.Naziv == "Administrator") { k.SakrijKomentar = true; _db.SaveChanges(); } else { TempData["ErrorMessage"] = "Nemate pravo pristupa"; } return(Redirect("/Komentar/KorisnikIndex/" + k.KorisnikId)); } }
public IActionResult Snimi(KlijentDodajVM vm) { if (vm.KlijentID == 0) { KlijentT x = new KlijentT { KlijentID = vm.KlijentID, Ime = vm.Ime, Prezime = vm.Prezime, Email = vm.Email, BrojTelefona = vm.BrojTelefona, GradID = vm.GradID, }; _db.Klijent.Add(x); } else { KlijentT t = _db.Klijent.Find(vm.KlijentID); t.Ime = vm.Ime; t.Prezime = vm.Prezime; t.Email = vm.Email; t.BrojTelefona = vm.BrojTelefona; t.GradID = vm.GradID; _db.SaveChanges(); } _db.SaveChanges(); TempData["error"] = "Uspjesno pohranjeno"; return(Redirect("/Klijent/Dodaj")); }
public static void SetLogiraniKlijent(this HttpContext context, KlijentT korisnik, bool snimiUCookie = false) { MojContext db = context.RequestServices.GetService <MojContext>(); string stariToken = context.Request.GetCookieJson <string>(LogiraniKorisnik); if (stariToken != null) { AutorizacijskiTokenKlijent obrisati = db.AutorizacijskiTokenKlijent.FirstOrDefault(x => x.Vrijednost == stariToken); if (obrisati != null) { db.AutorizacijskiTokenKlijent.Remove(obrisati); db.SaveChanges(); } } if (korisnik != null) { string token = Guid.NewGuid().ToString(); db.AutorizacijskiTokenKlijent.Add(new AutorizacijskiTokenKlijent { Vrijednost = token, KlijentId = korisnik.KlijentID, VrijemeEvidentiranja = DateTime.Now }); db.SaveChanges(); context.Response.SetCookieJson(LogiraniKorisnik, token); } }
//Pregled rezervacija modul klijent public IActionResult Index(int id) { KlijentT k = HttpContext.GetLogiraniKlijent(); RezervacijaIndexVM model = new RezervacijaIndexVM(); var errMsg = TempData["ErrorMessage"] as string; if (k != null) { model.rows = _db.Rezervacija.Where(x => x.Klijent.KlijentID == k.KlijentID).Select(o => new RezervacijaIndexVM.row { DatumRezervacije = o.DatumRezervacije, Klijent = o.Klijent.Ime + " " + o.Klijent.Prezime, Naziv = o.Tretman.Naziv, Termin = o.Termin.VrijemeTermina, RezervacijaId = o.Id }).ToList(); } else if (id != 0) { model.rows = _db.Rezervacija.Where(x => x.Klijent.KlijentID == id).Select(o => new RezervacijaIndexVM.row { DatumRezervacije = o.DatumRezervacije, Klijent = o.Klijent.Ime + " " + o.Klijent.Prezime, Naziv = o.Tretman.Naziv, Termin = o.Termin.VrijemeTermina, RezervacijaId = o.Id, Odobrena = false }).ToList(); TempData["Klijent"] = "Odredjeni"; foreach (var r in model.rows) { KlijentNotifikacija n = _db.KlijentNotifikacija.Where(x => x.RezervacijaId == r.RezervacijaId).FirstOrDefault(); if (n != null) { r.Odobrena = true; } } TempData["error"] = errMsg; return(View("KlijentIndex", model)); } else { model.rows = _db.Rezervacija.Select(o => new RezervacijaIndexVM.row { DatumRezervacije = o.DatumRezervacije, Klijent = o.Klijent.Ime + " " + o.Klijent.Prezime, Naziv = o.Tretman.Naziv, Termin = o.Termin.VrijemeTermina, RezervacijaId = o.Id }).ToList(); } TempData["error"] = errMsg; return(View(model)); }
public IActionResult Obrisi(int ID) { KlijentT x = _db.Klijent.Find(ID); _db.Klijent.Remove(x); _db.SaveChanges(); return(Redirect("/Klijent/Index")); }
public IActionResult Login(LoginVM input) { Korisnik korisnik = _db.Korisnik .SingleOrDefault(x => x.KorisnickoIme == input.username); KlijentT klijent = _db.Klijent.SingleOrDefault(x => x.KorisnickoIme == input.username); if (korisnik == null) { if (klijent == null) { TempData["error_poruka"] = "Pogrešan username"; input.username = "******"; return(View("Index", input)); } } if (korisnik != null) { string lozinkahash = GenerateHashClass.GenerateHash(korisnik.LozinkaSalt, input.password); if (lozinkahash != korisnik.LozinkaHash) { TempData["error_poruka"] = "Pogrešan password"; input.username = "******"; return(View("Index", input)); } } if (klijent != null) { string lozinkahash = GenerateHashClass.GenerateHash(klijent.LozinkaSalt, input.password); if (lozinkahash != klijent.LozinkaHash) { TempData["error_poruka"] = "Pogrešan password"; input.username = "******"; return(View("Index", input)); } } if (korisnik != null) { HttpContext.SetLogiraniKorisnik(korisnik); return(RedirectToAction("Index", "Home")); } else { HttpContext.SetLogiraniKlijent(klijent); return(RedirectToAction("About", "Home")); } }
public IActionResult Dodaj(int id) { KlijentT logirani = HttpContext.GetLogiraniKlijent(); Korisnik k = _db.Korisnik.Find(id); OcjenaDodajVM model = new OcjenaDodajVM { KlijentId = logirani.KlijentID, Klijent = logirani.Ime + " " + logirani.Prezime, Korisnik = k.Ime + " " + k.Prezime, KorisnkId = id, DatumOcjenjivanja = DateTime.Now }; return(View(model)); }
public IActionResult Dodaj(int id) { KlijentT logirani = HttpContext.GetLogiraniKlijent(); Korisnik k = _db.Korisnik.Find(id); KomentarDodajVM model = new KomentarDodajVM { KlijentId = logirani.KlijentID, KorisnikId = k.KorisnikId, SakrijKomentar = false, DatumKreiranja = DateTime.Now }; return(View(model)); }
public IActionResult Promijena(LozinkaVM model) { if (model.NovaLozinka != model.PotvrdaLozinke) { return(View(model)); } KlijentT k = HttpContext.GetLogiraniKlijent(); k.LozinkaSalt = GenerateHashClass.GenerateSalt(); k.LozinkaHash = GenerateHashClass.GenerateHash(k.LozinkaSalt, model.NovaLozinka); _db.SaveChanges(); return(Redirect("/KlijentNotifikacija/Notifikacije")); }
//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 Logout() { Korisnik nalog = HttpContext.GetLogiraniKorisnik(); KlijentT k = HttpContext.GetLogiraniKlijent(); if (nalog != null) { AutorizacijskiTokenKorisnik token = _db.AutorizacijskiTokenKorisnik.FirstOrDefault(x => x.KorisnikId == nalog.KorisnikId); _db.AutorizacijskiTokenKorisnik.Remove(token); _db.SaveChanges(); HttpContext.Response.RemoveCookie(Autentifikacija.LogiraniKorisnik); } if (k != null) { AutorizacijskiTokenKlijent token = _db.AutorizacijskiTokenKlijent.FirstOrDefault(x => x.KlijentId == k.KlijentID); _db.AutorizacijskiTokenKlijent.Remove(token); _db.SaveChanges(); HttpContext.Response.RemoveCookie(Autentifikacija.LogiraniKorisnik); } return(RedirectToAction("Index")); }
public IActionResult Notifikacije(int TrenutnaStranica = 1, int VelicinaStranice = 5) { KlijentT k = HttpContext.GetLogiraniKlijent(); KlijentNotifikacijaVM model = new KlijentNotifikacijaVM() { lista = _db.KlijentNotifikacija.Where(x => x.IsProcitano == false && x.KlijentId == k.KlijentID).Select(a => new KlijentNotifikacijaVM.Row { NotifikacijaId = a.NotifikacijaId, Termin = a.Rezervacija.Termin.VrijemeTermina, tretman = a.Rezervacija.Tretman.Naziv, Uposlenik = a.Rezervacija.Termin.Korisnik.Ime + " " + a.Rezervacija.Termin.Korisnik.Prezime }).ToList() }; //Paging var items = model.lista.OrderByDescending(x => x.Termin).Skip((TrenutnaStranica - 1) * VelicinaStranice).Take(VelicinaStranice).ToList(); ViewData["TrenutnaStranica"] = TrenutnaStranica; return(View(items)); }
public async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next) { Korisnik k = filterContext.HttpContext.GetLogiraniKorisnik(); KlijentT kl = filterContext.HttpContext.GetLogiraniKlijent(); if (k == null && kl == null) { if (filterContext.Controller is Controller controller) { controller.TempData["error_poruka"] = "Niste logirani"; } filterContext.Result = new RedirectToActionResult("Login", "Autentifikacija", new { @area = "" }); return; } //Preuzimamo DbContext preko app services MojContext db = filterContext.HttpContext.RequestServices.GetService <MojContext>(); //zaposlenici mogu pristupiti studenti if (_uposlenik && db.Korisnik.Any(s => s.KorisnikId == k.KorisnikId)) { bool imapristup = false; List <KorisniciUloge> uloge = db.KorisniciUloge.Where(s => s.KorisnikId == k.KorisnikId).Include(s => s.Uloga).ToList(); foreach (var uloga in uloge) { if (uloga.Uloga.Naziv == "Uposlenik") { imapristup = true; } } if (imapristup) { await next(); //ok - ima pravo pristupa return; } } if (_administrator && db.Korisnik.Any(s => s.KorisnikId == k.KorisnikId)) { bool imapristup = false; List <KorisniciUloge> uloge = db.KorisniciUloge.Where(s => s.KorisnikId == k.KorisnikId).Include(s => s.Uloga).ToList(); foreach (var uloga in uloge) { if (uloga.Uloga.Naziv == "Administrator") { imapristup = true; } } if (imapristup) { await next(); //ok - ima pravo pristupa return; } } if (_klijent && db.Klijent.Any(s => s.KlijentID == kl.KlijentID)) { await next();//ok - ima pravo pristupa return; } //if (db.Korisnik.All(x => x.KorisnikId != k.KorisnikId) && db.klijentT.Any(x => x.KlijentID != klijent.KlijentID)) //{ // filterContext.Result = new RedirectToActionResult("Index", "Home", new { area = "" }); // return; //} if (filterContext.Controller is Controller c1) { c1.TempData["error_poruka"] = "Nemate pravo pristupa"; } if (kl != null && db.Klijent.All(x => x.KlijentID != kl.KlijentID)) { filterContext.Result = new RedirectToActionResult("Privacy", "Home", new { @area = "" }); } else { filterContext.Result = new RedirectToActionResult("Contact", "Home", new { @area = "" }); } }
public IActionResult SnimiRegistraciju(RegistracijaVM input) { TryValidateModel(input); if (!ModelState.IsValid) { input.gradovi = _db.Grad.Select(g => new SelectListItem { Value = g.Id.ToString(), Text = g.Naziv }).ToList(); return(View("Registracija", input)); } if (input != null) { var n = _db.Klijent .Where((x) => x.KorisnickoIme == input.korisnicko) .FirstOrDefault(); if (n != null) { throw new Exception("Korisnicki nalog postoji"); } //if (n != null) //{ // TempData["error_poruka"] = "Vec postoji korisnik sa tim korisničkim imenom"; // return View("Index" // ); //} //KorisnickiNalog kn = new KorisnickiNalog //{ // KorisnickoIme = input.korisnicko, // Lozinka = input.korisnikovalozinka //}; //_db.KorisnickiNalog.Add(kn); //_db.SaveChanges(); KlijentT k = new KlijentT { Ime = input.Ime, Prezime = input.Prezime, KorisnickoIme = input.korisnicko, BrojTelefona = input.BrojTelefona, Email = input.Email, GradID = input.GradID, LozinkaSalt = GenerateHashClass.GenerateSalt(), }; k.LozinkaHash = GenerateHashClass.GenerateHash(k.LozinkaSalt, input.korisnikovalozinka); _db.Klijent.Add(k); _db.SaveChanges(); //Slanje maila za uspjesnu registraciju. var message = new MimeMessage(); message.To.Add(new MailboxAddress(input.Email)); message.From.Add(new MailboxAddress("*****@*****.**")); message.Subject = "Dobro dosli u threading bar Lejla Habibija"; message.Body = new TextPart("plain") { Text = "Uspjesno ste se registrovali" + " " + input.Ime + " " + input.Prezime + "!" }; using (var client = new SmtpClient()) { client.Connect("smtp.outlook.com", 587, false); client.Authenticate("*****@*****.**", "Mostar.2016"); client.Send(message); client.Disconnect(true); } } return(RedirectToAction("Index")); }