예제 #1
0
        public IHttpActionResult Register(RegisterRequest request)
        {
            BaseViewModel      viewmodel = new BaseViewModel();
            UserDataController dataCtrl  = new UserDataController();

            try
            {
                Boolean checkEmail    = dataCtrl.CheckExistingEmail(request.Email);
                Boolean checkNickname = dataCtrl.CheckExistingNickname(request.Nickname);
                if (checkEmail)
                {
                    return(Warning(viewmodel, "Eingegebene Email wird bereits verwendet."));
                }
                else if (checkNickname)
                {
                    return(Warning(viewmodel, "Eingegebener Nickname wird bereits verwendet."));
                }
                else
                {
                    if (request.Password1 == request.Password2)
                    {
                        String Salt;
                        String HashedPassword = PasswordHelper.CreatePassword(request.Password1, out Salt);
                        dataCtrl.Insert(request.ToModel(HashedPassword, Salt));
                    }
                    else
                    {
                        return(Warning(viewmodel, "Die eingegebenen Passwörter stimmen nicht überein."));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Error(viewmodel, ex));
            }

            return(Ok(viewmodel, "Registrierung erfolgreich. Du kannst dich nun einloggen."));
        }