public async Task <ActionResult> UpdateWithdrawSettings(UpdateWithdrawModel model)
        {
            if (!await IsSettingsUnlocked())
            {
                return(JsonError());
            }

            if (model.DisableConfirmation)
            {
                var twofactor = await UserManager.GetUserTwoFactorAsync(User.Identity.GetUserId(), TwoFactorComponent.Withdraw);

                if (twofactor == null || twofactor.Type == TwoFactorType.None)
                {
                    return(JsonError(Resources.User.securityTfaEmailErrorMessage));
                }
            }

            var result = await UserSecurityWriter.UpdateWithdrawSettings(User.Identity.GetUserId(), model);

            if (!result.Success)
            {
                return(Json(result));
            }

            await UserSyncService.SyncUser(User.Identity.GetUserId());

            return(Json(result));
        }
        public async Task <ActionResult> UpdateApiSettings(UpdateApiModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_UpdateApi", model));
            }

            if (!await IsSettingsUnlocked())
            {
                ModelState.AddModelError("Error", Resources.User.securityUnlockTokenExpiredError);
                return(PartialView("_UpdateApi", model));
            }

            var result = await UserSecurityWriter.UpdateApiSettings(User.Identity.GetUserId(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(PartialView("_UpdateApi", model));
            }

            await UserSyncService.SyncUser(User.Identity.GetUserId());

            await ApiKeyStore.UpdateApiAuthKey(model);

            return(PartialView("_UpdateApi", model));
        }