コード例 #1
0
        public async Task <IActionResult> UpdatePassword([FromBody] Club entity)
        {
            try {
                var    decodedToken = authentication.DecodeTokenFromRequest(Request.Headers["Authorization"]);
                string role         = authentication.GetRoleFromToken(decodedToken);
                int    id           = authentication.GetIDFromToken(decodedToken);

                if (role == "Club")
                {
                    // Update club info
                    string email = _clubLogic.GetEmailById(id);
                    var    user  = await userManager.FindByNameAsync(email);

                    if (user != null)
                    {
                        var result = await userManager.ChangePasswordAsync(user, entity.Password, entity.NewPassword);

                        if (result.Succeeded)
                        {
                            return(Ok());
                        }
                        else
                        {
                            return(StatusCode(400, "Invalid password"));
                        }
                    }
                }
                return(StatusCode(500, "Failed"));
            }
            catch (Exception) {
                return(StatusCode(500, "Failed"));
            }
        }