public void Execute(UpdateKorisnikDto request)
        {
            if (_context.Korisnici.Any(x => x.Id == request.Id))
            {
                if (request.IdUloga != 17)
                {
                    var jedanKorisnik = _context.Korisnici.Find(request.Id);
                    idValidator.ValidateAndThrow(request);
                    _validator.ValidateAndThrow(request);
                    if (jedanKorisnik.Email == request.Email)
                    {
                        _validator.ValidateAndThrow(request);

                        jedanKorisnik.Ime      = request.Ime;
                        jedanKorisnik.Prezime  = request.Prezime;
                        jedanKorisnik.Email    = request.Email;
                        jedanKorisnik.IdUloga  = request.IdUloga;
                        jedanKorisnik.Password = MD5function.MD5Hash(request.Password);
                        _context.SaveChanges();
                    }
                    else
                    {
                        if (_context.Korisnici.Any(x => x.Email == request.Email))
                        {
                            emailValidator.ValidateAndThrow(request);
                        }
                        else
                        {
                            _validator.ValidateAndThrow(request);

                            jedanKorisnik.Ime      = request.Ime;
                            jedanKorisnik.Prezime  = request.Prezime;
                            jedanKorisnik.Email    = request.Email;
                            jedanKorisnik.IdUloga  = request.IdUloga;
                            jedanKorisnik.Password = MD5function.MD5Hash(request.Password);
                            _context.SaveChanges();
                        }
                    }
                }
                else
                {
                    throw new NotFoundException(request.IdUloga, typeof(Uloga));
                }
            }
            else
            {
                throw new NotFoundException(request.Id, typeof(Korisnik));
            }
        }
Exemplo n.º 2
0
        public void Izvrsi(KorisnikDto dto)
        {
            _validator.ValidateAndThrow(dto);
            var korisnik = _context.Korisnici.Find(dto.Id);

            if (korisnik == null)
            {
                throw new EntityNotFoundException(dto.Id, typeof(Korisnik));
            }

            korisnik.Ime           = dto.Ime;
            korisnik.Prezime       = dto.Prezime;
            korisnik.KorisnickoIme = dto.KorisnickoIme;
            korisnik.Lozinka       = dto.Lozinka;
            korisnik.Email         = dto.Email;
            korisnik.GrupaId       = dto.GrupaId;

            foreach (var item in dto.KorisnikUseCase)
            {
                korisnik.KorisnikUseCases.Add(new KorisnikUseCase
                {
                    KorisnikId = item.Id,
                    UseCaseId  = item.Usecase
                });
            }

            try
            {
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }