public IActionResult Uredi(int id)
        {
            StudentiUrediVM model = new StudentiUrediVM
            {
                edit    = kontext.studenti.Find(id),
                gradovi = kontext.gradovi.ToList(),
            };

            return(View(model));
        }
        public IActionResult Dodaj()
        {
            StudentiUrediVM model = new StudentiUrediVM
            {
                edit    = new Student(),
                gradovi = kontext.gradovi.ToList(),
            };

            return(View("Uredi", model));
        }
        public IActionResult Dodaj()
        {
            var rows = new OcjeneVM
            {
                rows = new List <OcjeneVM.Row>()
            };
            StudentiUrediVM model = new StudentiUrediVM
            {
                edit     = new Student(),
                gradovi  = kontext.gradovi.ToList(),
                OcjeneVM = rows
            };

            return(View("Uredi", model));
        }
        public IActionResult Edit(int id)
        {
            KorisnickiNalog korisnik = HttpContext.GetLogiraniKorisnik();
            Zaposlenik      z        = _context.Zaposlenici.Where(x => x.KorisnickiNalogId == korisnik.Id).FirstOrDefault();

            if (korisnik == null || z == null || z._VrstaZaposlenikaId != 1)
            {
                TempData["error_poruka"] = "Nemate pravo pristupa!";
                return(Redirect("/Autentifikacija/Index"));
            }

            StudentiUrediVM model = _context.Studenti.Where(s => s.Id == id).Select(x => new StudentiUrediVM
            {
                Id      = x.Id,
                Ime     = x.Ime,
                Prezime = x.Prezime,
                Spol    = x.Spol,
                Jmbg    = x.JMBG,

                Email = x.Mail,
                Soba_ = _context.StudentiSobe.Where(s => s._StudentId == x.Id).FirstOrDefault()._Soba.Naziv,

                DatumRodjenja = x.DatumRodjenja.ToString(),
                DatumUpisa    = _context.StudentiSobe.Where(s => s._StudentId == id).FirstOrDefault().DatumDodjele.ToString(),
                Username      = _context.KorisnickiNalozi.Where(s => s.KorisnickoIme == x.Ime + "." + x.Prezime).FirstOrDefault().KorisnickoIme,
                Password      = _context.KorisnickiNalozi.Where(s => s.KorisnickoIme == x.Ime + "." + x.Prezime).FirstOrDefault().Lozinka,
                Adresa        = x.Adresa,
                Telefon       = x.Telefon
            }).FirstOrDefault();

            model.Gradovi = _context.Gradovi.Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Naziv
            }).ToList();

            model.Fakulteti = _context.Fakulteti.Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Naziv
            }).ToList();
            return(View("Edit", model));
        }
        public IActionResult Uredi(int id)
        {
            var rows = new OcjeneVM {
                rows = kontext.ocjeneStudenata.Where(x => x.StudentID == id).
                       Select(x => new OcjeneVM.Row
                {
                    Ocjena     = x.Vrijednost,
                    OcjenaOpis = x.VrijednostOpisna,
                    datum      = x.datum
                }).ToList()
            };
            StudentiUrediVM model = new StudentiUrediVM
            {
                edit     = kontext.studenti.Find(id),
                gradovi  = kontext.gradovi.ToList(),
                OcjeneVM = rows
            };

            return(View(model));
        }
        public IActionResult SnimiPromjene(StudentiUrediVM model)
        {
            KorisnickiNalog korisnik = HttpContext.GetLogiraniKorisnik();
            Zaposlenik      z        = _context.Zaposlenici.Where(x => x.KorisnickiNalogId == korisnik.Id).FirstOrDefault();

            if (korisnik == null || z == null || z._VrstaZaposlenikaId != 1)
            {
                TempData["error_poruka"] = "Nemate pravo pristupa!";
                return(Redirect("/Autentifikacija/Index"));
            }
            if (!ModelState.IsValid)
            {
                model.Gradovi = _context.Gradovi.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).ToList();

                model.Fakulteti = _context.Fakulteti.Select(x => new SelectListItem
                {
                    Value = x.Id.ToString(),
                    Text  = x.Naziv
                }).ToList();

                return(View("Edit", model));
            }

            Student s = _context.Studenti.Where(x => x.Id == model.Id).FirstOrDefault();


            s.Ime         = model.Ime;
            s.Prezime     = model.Prezime;
            s.Spol        = model.Spol;
            s.JMBG        = model.Jmbg;
            s._FakultetId = model.FakultetId;
            s._GradId     = model.GradId;
            s.Mail        = model.Email;


            //s.DatumRodjenja = model.DatumRodjenja;
            s.DatumRodjenja = DateTime.Now;
            KorisnickiNalog kn = _context.KorisnickiNalozi.Where(w => w.KorisnickoIme == s.Ime + "." + s.Prezime).FirstOrDefault();

            if (kn == null)
            {
                kn = new KorisnickiNalog
                {
                    KorisnickoIme = model.Username,
                    Lozinka       = model.Password
                };
            }
            else
            {
                kn.KorisnickoIme = model.Username;
                kn.Lozinka       = model.Password;
            }

            s.Adresa  = model.Adresa;
            s.Telefon = model.Telefon;

            _context.Studenti.Update(s);
            _context.KorisnickiNalozi.Update(kn);
            _context.SaveChanges();

            return(Redirect("/RecepcionerModul/Studenti/Detalji?id=" + model.Id));
        }