Exemple #1
0
        public async Task <IActionResult> ResetPassword([FromBody] ResetPassDto model)
        {
            Response response = new Response();

            //get user by email
            var userInfo = _userManager.Users.SingleOrDefault(x => x.SecurityStamp == model.Token);


            if (userInfo != null && !string.IsNullOrEmpty(model.Token))
            {
                var result = await _userManager.ResetPasswordAsync(userInfo, userInfo.SecurityStamp, model.Password);

                if (result.Succeeded)
                {
                    response.Messages.Add("Password cambiada con exito");

                    return(Ok(response));
                }
                else
                {
                    response.AddErrors(result.Errors);
                    return(BadRequest(response));
                }
            }

            return(NotFound());
        }
        public async Task <ActionResult> ResetPassword(ResetPassDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var intialInfo = await GetTenantDbInfo(model.HostName);

                if (intialInfo == null || string.IsNullOrEmpty(intialInfo.TenantDBServer))
                {
                    ModelState.AddModelError("", "Invalid Host Name.");
                    return(BadRequest(ModelState));
                }

                string userResult = await _loginService.ResetUserPassByToken(intialInfo.GetConnectionString(), model.Email, model.Token, model.Password);

                if (!string.IsNullOrEmpty(userResult))
                {
                    return(StatusCode(StatusCodes.Status401Unauthorized, userResult));
                }
                else
                {
                    return(Ok("Password Reset Successfully."));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(StatusCode(StatusCodes.Status500InternalServerError, "Something went wrong!"));
            }
        }