public async Task <IActionResult> ChangePassword(ChangePasswordViewModel model, CancellationToken ct)
        {
            var user = await UserApplication.GetbyEmail(model.Email, ct);

            if (user == null)
            {
                return(BadRequest("User dose not exist"));
            }
            var obj = await UserApplication.CheckPasswordSignInAsync(user, model.Password, lockoutOnFailure : false);

            if (obj.Succeeded)
            {
                var result = await UserApplication.ResetPasswordAsync(user, model.Code, model.NewPassword);

                if (result.Succeeded)
                {
                    return(Ok());
                }
            }

            return(BadRequest("you have entered an invalid password"));
        }