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)); }
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)); }