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