Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 public IActionResult Register(ExtendedBenutzerViewModel benutzerViewModel)
 {
     return(Execute(() =>
     {
         var result = _authService.Register(benutzerViewModel);
         SetToken(result);
         return result;
     }));
 }