コード例 #1
0
        public IHttpActionResult ChangePasswordWithToken([FromBody] ChangePasswordWithTokenModel model)
        {
            using (var dbContext = new DataContext())
            {
                var credentialResetToken = dbContext.CredentialResetTokens.SingleOrDefault(f => f.Token == model.Token);
                if (credentialResetToken == null)
                {
                    return(this.BadRequestEx(Error.TokenDoesNotExist));
                }

                if (credentialResetToken.ExpiryTimestamp <= DateTime.Now)
                {
                    return(this.BadRequestEx(Error.TokenExpired));
                }

                var credential = credentialResetToken.Credential;
                if (credential.EntityType != Data.Enums.EntityType.Company && credential.EntityType != Data.Enums.EntityType.User)
                {
                    return(this.BadRequestEx(Error.CredentialInvalidEntityType));
                }

                credential.Password = model.NewPassword;

                dbContext.SaveChanges();

                return(Ok());
            }
        }
コード例 #2
0
ファイル: UserService.cs プロジェクト: pvandyk-tmt/ITS
        public void ChangePasswordWithToken(ChangePasswordWithTokenModel model)
        {
            var request = new RestRequest("/api/User/PasswordWithToken", Method.PUT);

            request.AddJsonBody(model);

            var response = RestClient.Execute(request);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw CreateException(response);
            }
        }
コード例 #3
0
ファイル: AccountController.cs プロジェクト: pvandyk-tmt/ITS
        public ActionResult ChangePasswordWithToken(ChangePasswordWithTokenModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                var userService = new UserService();
                userService.ChangePasswordWithToken(model);

                return(RedirectToAction("ConfirmChangePasswordWithToken"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(View(model));
            }
        }