Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        //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));
        }
Exemplo n.º 7
0
        public IActionResult Obrisi(int ID)
        {
            KlijentT x = _db.Klijent.Find(ID);

            _db.Klijent.Remove(x);
            _db.SaveChanges();


            return(Redirect("/Klijent/Index"));
        }
Exemplo n.º 8
0
        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"));
            }
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 11
0
        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"));
        }
Exemplo n.º 12
0
        //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));
        }
Exemplo n.º 13
0
        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"));
        }
Exemplo n.º 14
0
        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));
        }
Exemplo n.º 15
0
        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 = "" });
            }
        }
Exemplo n.º 16
0
        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"));
        }