Esempio n. 1
0
        public IActionResult Edit(KorisnikDetaljiVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiUlogeDetalji(input);
                return(View("Detalji", input));
            }

            var lozinkaSalt = Util.Helper.GenerateSalt();
            var lozinkaHash = Util.Helper.GenerateHash(lozinkaSalt, input.Lozinka);

            var korisnik = _context.Korisnici.Find(input.KorisnikId);

            if (korisnik != null)
            {
                korisnik.Ime            = input.Ime;
                korisnik.Prezime        = input.Prezime;
                korisnik.LozinkaHash    = lozinkaHash;
                korisnik.LozinkaSalt    = lozinkaSalt;
                korisnik.KorisnikStatus = input.KorisnikStatus;

                if (input.KorisnikSlika != null)
                {
                    using var stream = new MemoryStream();
                    input.KorisnikSlika.CopyTo(stream);
                    korisnik.KorisnikSlika = stream.ToArray();
                }

                var UlogeIds = input.Uloge.Where(w => w.Selected).Select(s => s.Value);

                var permisije = _context.Permisije.Where(w => w.KorisnikId == korisnik.KorisnikId && w.PermisijaStatus == true);

                foreach (var permisija in permisije)
                {
                    permisija.PermisijaStatus = false;
                }

                foreach (var id in UlogeIds)
                {
                    Permisija p = new Permisija
                    {
                        DatumIzmjene    = DateTime.Now,
                        KorisnikId      = korisnik.KorisnikId,
                        UlogaId         = int.Parse(id),
                        PermisijaStatus = true
                    };
                    _context.Permisije.Add(p);
                }

                _context.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public IActionResult Snimi(KorisnikDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiUloge(input);
                return(View("Dodaj", input));
            }

            var lozinkaSalt = Util.Helper.GenerateSalt();
            var lozinkaHash = Util.Helper.GenerateHash(lozinkaSalt, input.Lozinka);

            Korisnik noviKorisnik = new Korisnik()
            {
                Ime            = input.Ime,
                Prezime        = input.Prezime,
                KorisnickoIme  = input.KorisnickoIme,
                LozinkaHash    = lozinkaHash,
                LozinkaSalt    = lozinkaSalt,
                KorisnikStatus = true
            };

            using (var stream = new MemoryStream())
            {
                input.KorisnikSlika.CopyTo(stream);
                noviKorisnik.KorisnikSlika = stream.ToArray();
            }

            _context.Korisnici.Add(noviKorisnik);
            _context.SaveChanges();

            var UlogeIds = input.Uloge.Where(w => w.Selected == true).Select(s => s.Value);

            foreach (var id in UlogeIds)
            {
                Permisija p = new Permisija
                {
                    DatumIzmjene    = DateTime.Now,
                    KorisnikId      = noviKorisnik.KorisnikId,
                    UlogaId         = int.Parse(id),
                    PermisijaStatus = true
                };
                _context.Permisije.Add(p);
            }
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }