Ejemplo n.º 1
0
        public async Task <IActionResult> ChangePassword(ChangePasswordInputModel model)
        {
            if (ModelState.IsValid)
            {
                var accountSettingModel = _mapper.Map <ChangePasswordInputModel>(model);

                var response = await _accountApiClient.ChangePasswordAsync(accountSettingModel);

                string result = await response.Content.ReadAsStringAsync();

                switch ((int)response.StatusCode)
                {
                case (int)HttpStatusCode.OK:
                    TempData["Message"] = "Şifrə başarıyla dəyişdirildi...!";
                    return(RedirectToAction("Logout"));

                case (int)HttpStatusCode.BadRequest:
                    var badRequest = JsonConvert.DeserializeObject <BadRequest>(result);
                    foreach (var key in badRequest.Errors.Keys)
                    {
                        foreach (var value in badRequest.Errors[key])
                        {
                            ModelState.AddModelError(key, value);
                        }
                    }
                    break;

                case (int)HttpStatusCode.Conflict:
                case (int)HttpStatusCode.InternalServerError:
                    var errors = JsonConvert.DeserializeObject <ResponseOutputModel>(result);
                    ModelState.AddModelError("", errors.Message);
                    break;
                }
            }

            return(View(model));
        }