public Model.Korisnici Registracija(KorisniciRegistracijaRequest request)
        {
            var entity = _mapper.Map <Database.Korisnici>(request);

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

            var korisnici = _context.Korisnici.ToList();

            foreach (var korisnik in korisnici)
            {
                if (korisnik.KorisnickoIme == request.KorisnickoIme)
                {
                    throw new UserException("Korisnicko ime koje ste unijeli je zauzeto!");
                }
                if (korisnik.Email == request.Email)
                {
                    throw new UserException("Email koji ste unijeli je zauzet!");
                }
            }

            _context.Add(entity);

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

            if (request.Slika == null)//registracija preko mobitela
            {
                var noimgpath = new DirectoryInfo(Environment.CurrentDirectory).FullName;
                noimgpath = noimgpath + "\\no_image.jpeg";
                var file = File.ReadAllBytes(noimgpath);
                entity.Slika = file;
            }

            //pacijent uloga ID = 4
            entity.UlogaId = 4;
            _context.SaveChanges();

            var noviPacijent = new Database.Pacijent
            {
                AlergijaNaLijek = request.AlergijaNaLijek,
                Aparatic        = request.Aparatic,
                KorisnikId      = entity.KorisnikId,
                Navlake         = request.Navlake,
                Proteza         = request.Proteza,
                Terapija        = request.Terapija
            };

            _context.Pacijents.Add(noviPacijent);
            _context.SaveChanges();


            return(_mapper.Map <Model.Korisnici>(entity));
        }
        public override Model.Korisnici Insert(KorisniciInsertRequest request)
        {
            var entity = _mapper.Map <Database.Korisnici>(request);

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

            var korisnici = _context.Korisnici.ToList();

            foreach (var korisnik in korisnici)
            {
                if (korisnik.KorisnickoIme == request.KorisnickoIme)
                {
                    throw new UserException("Korisnicko ime koje ste unijeli je zauzeto!");
                }
                if (korisnik.Email == request.Email)
                {
                    throw new UserException("Email koji ste unijeli je zauzet!");
                }
            }

            _context.Add(entity);

            entity.LozinkaSalt = GenerateSalt();
            entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.Password);
            entity.Kreirano    = DateTime.Now;
            _context.SaveChanges();
            //Tu dodati provjeru za pacijenta
            var temp = _context.Uloges.FirstOrDefault(i => i.UlogaId == entity.UlogaId);

            if (temp != null && temp.Naziv == "Pacijent")
            {
                var noviPacijent = new Database.Pacijent
                {
                    AlergijaNaLijek = false,
                    Aparatic        = false,
                    KorisnikId      = entity.KorisnikId,
                    Navlake         = false,
                    Proteza         = false,
                    Terapija        = false
                };
                _context.Pacijents.Add(noviPacijent);
                _context.SaveChanges();
            }

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