public BenutzerViewModel Update(ExtendedBenutzerViewModel benutzer) { Guard.IsNotNull(benutzer, nameof(benutzer)); if (benutzer.Passwort != benutzer.PasswortWiederholung) { throw new CustomException("Das Passwort wurde nicht korrekt wiederholt."); } using (var unit = new UnitOfWork()) { var benutzerRepo = unit.GetRepository <BenutzerRepository>(); var dbBenutzer = benutzerRepo.GetByEmail(benutzer?.Person?.Email); if (dbBenutzer == null) { throw new CustomException("Der Benutzer wurde nicht gefunden"); } dbBenutzer = _mapper.Map(benutzer, dbBenutzer); benutzerRepo.Update(dbBenutzer); unit.SaveChanges(); return(_mapper.Map <BenutzerViewModel>(dbBenutzer)); } }
public LoginResultViewModel Register(ExtendedBenutzerViewModel benutzer) { Guard.IsNotNull(benutzer, nameof(benutzer)); Guard.IsNotNull(benutzer.Person, nameof(benutzer.Person)); Guard.IsNotNull(benutzer.Person.Email, nameof(benutzer.Person.Email)); Guard.IsNotNull(benutzer.Person.Vorname, nameof(benutzer.Person.Email)); Guard.IsNotNull(benutzer.Person.Name, nameof(benutzer.Person.Email)); benutzer.Person.Email = benutzer.Person.Email.ToLowerInvariant(); if (benutzer.PasswortWiederholung != benutzer.Passwort) { throw new CustomException("Passwort und Passwortwiederholung sind nicht identisch."); } var dbBenutzer = _mapper.Map <Benutzer>(benutzer); dbBenutzer.Passwort = _passwordHashingService.HashPassword(benutzer.Passwort); dbBenutzer.IstGesperrt = false; dbBenutzer = _benutzerService.CreateBenutzer(dbBenutzer); _logger.LogInformation("Neuer Benutzer registriert: " + benutzer.Person.Email); return(_mapper.Map <LoginResultViewModel>(dbBenutzer)); }
public IActionResult Register(ExtendedBenutzerViewModel benutzerViewModel) { return(Execute(() => { var result = _authService.Register(benutzerViewModel); SetToken(result); return result; })); }