예제 #1
0
        public Model.Korisnici Insert(KorisniciUpsertRequest request)
        {
            if (request.Sifra != request.SifraPotvrda)
            {
                throw new UserException("Šifre se ne slažu");
            }
            var uloge = request.Uloge;
            var obj   = _mapper.Map <Database.Korisnici>(request);

            obj.LozinkaSalt = GenerateSalt();
            obj.LozinkaHash = GenerateHash(obj.LozinkaSalt, request.Sifra);
            _context.Korisnici.Add(obj);
            _context.SaveChanges();

            foreach (var item in uloge)
            {
                Database.KorisnickeUloge nova = new Database.KorisnickeUloge()
                {
                    UlogaId      = item,
                    KorisnikId   = obj.KorisnikId,
                    DatumIzmjene = DateTime.Now
                };
                _context.KorisnickeUloge.Add(nova);
            }

            _context.SaveChanges();
            return(_mapper.Map <Model.Korisnici>(obj));
        }
예제 #2
0
        public Model.Korisnici Update(int Id, KorisniciUpsertRequest request)
        {
            var obj = _context.Korisnici.Find(Id);

            _mapper.Map(request, obj);
            var ulogeBrisanje = _context.KorisnickeUloge.ToList();

            foreach (var item in ulogeBrisanje)
            {
                if (item.KorisnikId == obj.KorisnikId)
                {
                    _context.Remove(item);
                }
            }
            if ((!string.IsNullOrWhiteSpace(request.Sifra)) && (request.Sifra == request.SifraPotvrda))
            {
                obj.LozinkaSalt = GenerateSalt();
                obj.LozinkaHash = GenerateHash(obj.LozinkaSalt, request.Sifra);
            }
            else
            {
                throw new UserException("Nemoguće promijeniti šifru.");
            }
            _context.SaveChanges();
            foreach (var item in request.Uloge)
            {
                Database.KorisnickeUloge nova = new Database.KorisnickeUloge()
                {
                    KorisnikId   = obj.KorisnikId,
                    UlogaId      = item,
                    DatumIzmjene = DateTime.Now
                };
                _context.KorisnickeUloge.Add(nova);
            }
            _context.SaveChanges();
            return(_mapper.Map <Model.Korisnici>(obj));
        }