private async void Save()
        {
            SettingsViewModel settingsViewModel = this;

            try
            {
                settingsViewModel.IsLoading = true;
                if (settingsViewModel.CurrentSettings.UserSettings.IsMusic && settingsViewModel.SoundVolume == 0.0)
                {
                    if (await settingsViewModel.ShowYesOrNoDialogAsync("Запрос", "Вы уверены что хотите отключить звук уведомлений?") == MessageDialogResult.Negative)
                    {
                        return;
                    }
                    settingsViewModel.CurrentSettings.UserSettings.SoundVolume = settingsViewModel._settigs.UserSettings.SoundVolume;
                    settingsViewModel.CurrentSettings.UserSettings.IsMusic     = false;
                }
                settingsViewModel.CurrentSettings.UserSettings.BookmakersList = settingsViewModel.Bookmakers.ToList <Bookmaker>();
                SettingsValidator.CheckOnErrors(settingsViewModel.CurrentSettings);
                if (settingsViewModel._client != null)
                {
                    try
                    {
                        if (SettingsValidator.IsHaveChangeForServer(settingsViewModel._settigs, settingsViewModel.CurrentSettings))
                        {
                            await settingsViewModel._client.UpdateSettingsAsync(SettingsHelper.SettingConverter(settingsViewModel.CurrentSettings));
                        }
                        if (new SettingsValidatorForPositiveOptions().IsHaveChangeForServer(settingsViewModel._settigs, settingsViewModel.CurrentSettings))
                        {
                            await settingsViewModel._client.UpdateBookmakersSettingsAsync(SettingsHelper.SettingConverterToBookmaker(settingsViewModel.CurrentSettings));
                        }
                    }
                    catch
                    {
                    }
                }
                settingsViewModel.CurrentSettings.UserSettings.SoundFile              = settingsViewModel.CurrentSoundFile;
                settingsViewModel.CurrentSettings.UserSettings.SoundVolume            = settingsViewModel.SoundVolume;
                settingsViewModel.CurrentSettings.UserSettings.ChromeLanguage         = settingsViewModel.CurrentLanguageInfo.Language;
                settingsViewModel.CurrentSettings.UserSettings.NewListForksFilterType = settingsViewModel.ENewListForksFilter;
                settingsViewModel.CurrentSettings.UserSettings.IsHighlightingNewForks = settingsViewModel.IsHighlightingNewForks;
                settingsViewModel.CurrentSettings.IsAllowMultiProxy = settingsViewModel.IsAllowMultiProxy;
                try
                {
                    await settingsViewModel._currencyItemManager.UpdateCurses();
                }
                catch (Exception ex)
                {
                    await settingsViewModel.ShowErrorDialogAsync("Ошибка обновления курсов. Будут использованы старые", ex);
                }
                foreach (Api allApi in Api.AllApis)
                {
                    allApi.Request.BlockManager.IsBlocked = settingsViewModel.CurrentSettings.UserSettings.IsBlockedScripts;
                }
                Api.IsBLockedScripts = settingsViewModel.CurrentSettings.UserSettings.IsBlockedScripts;
                Settings.Save(settingsViewModel.CurrentSettings);
                await settingsViewModel.ShowSuccessDialogAsync("Настройки успешно сохранены.");
            }
            catch (Exception ex)
            {
                await settingsViewModel.ShowErrorDialogAsync("Не удалось сохранить настройки. " + Environment.NewLine + ex.Message);
            }
            finally
            {
                settingsViewModel.IsLoading = false;
            }
        }