示例#1
0
        public Model.Models.Korisnici Insert(KorisniciUpsertRequest request)
        {
            var entity = _mapper.Map <Database.Korisnici>(request);

            if (request.Password != request.PasswordPotvrda)
            {
                throw new Exception("Passwordi se ne slažu");
            }

            entity.LozinkaSalt = GenerateSalt();
            entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.Password);

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

            foreach (var uloga in request.Uloge)
            {
                Database.KorisniciUloge korisniciUloge = new Database.KorisniciUloge();
                Database.Uloge          u = _context.Uloge.FirstOrDefault(x => x.UlogaId == uloga);
                korisniciUloge.UlogaId      = u.UlogaId;
                korisniciUloge.KorisnikId   = entity.KorisnikId;
                korisniciUloge.DatumIzmjene = DateTime.Now;
                _context.KorisniciUloge.Add(korisniciUloge);
            }
            _context.SaveChanges();

            return(_mapper.Map <Model.Models.Korisnici>(entity));
        }
示例#2
0
        public Model.Models.Korisnici Update(int Id, KorisniciUpsertRequest request)
        {
            var entity = _context.Korisnici.Include(x => x.KorisniciUloge).FirstOrDefault(x => x.KorisnikId == Id);

            _context.Korisnici.Attach(entity);
            _context.Korisnici.Update(entity);
            request.KorisnikId = entity.KorisnikId;

            if (!string.IsNullOrWhiteSpace(request.Password))
            {
                if (request.Password != request.PasswordPotvrda)
                {
                    throw new Exception("Passwordi se ne slažu");
                }

                entity.LozinkaSalt = GenerateSalt();
                entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.Password);
            }


            var trenutneUloge = _context.KorisniciUloge.Where(x => x.KorisnikId == entity.KorisnikId);

            foreach (var uloga in trenutneUloge)
            {
                bool       postoji        = false;
                List <int> sveSelectovane = request.Uloge;
                foreach (var odabrana in sveSelectovane)
                {
                    if (uloga.UlogaId == odabrana)
                    {
                        postoji = true;
                    }
                }
                if (!postoji)
                {
                    _context.KorisniciUloge.Remove(uloga);
                }
            }


            foreach (var uloga in request.Uloge)
            {
                var u = _context.KorisniciUloge.FirstOrDefault(x => x.UlogaId == uloga && x.KorisnikId == entity.KorisnikId);

                if (u == null)
                {
                    Database.KorisniciUloge korisniciUloge = new Database.KorisniciUloge();
                    Database.Uloge          ul             = _context.Uloge.FirstOrDefault(x => x.UlogaId == uloga);
                    korisniciUloge.UlogaId      = ul.UlogaId;
                    korisniciUloge.KorisnikId   = entity.KorisnikId;
                    korisniciUloge.DatumIzmjene = DateTime.Now;
                    _context.KorisniciUloge.Add(korisniciUloge);
                }
            }
            _context.SaveChanges();
            _mapper.Map(request, entity);
            _context.SaveChanges();

            return(_mapper.Map <Model.Models.Korisnici>(entity));
        }
        public Model.Uloge Insert(UlogeInsertRequest request)
        {
            Database.Uloge entity = _mapper.Map <Database.Uloge>(request);

            _context.Uloge.Add(entity);
            _context.SaveChanges();

            return(_mapper.Map <Model.Uloge>(entity));
        }