/// <summary> Вывод на экран исключений и логирование </summary> private void UnhandledExceptionCatch(Exception exception) { DataSourceLogScope.WriteExceptionToLog(exception); WindowException.ShowException(exception); if (exception.InnerException != null) { DataSourceLogScope.WriteExceptionToLog(exception.InnerException); WindowException.ShowException(exception.InnerException); } }
/// <summary> Конструктор </summary> public ViewModelUserSettings() { CurrentModelUserSettings = DataSourceUserSettings.GetModelUserSettings(); _countWhiteContact = DataSourceContact.GetCountWhiteContact(); _currentModelLanguage = CurrentModelUserSettings.ModelLanguageObj; CommandOpenUrl = new Command(OpenUrl); CommandOpenLogChat = new Command(obj => { OpenLog(DataSourceLogScope.GetChatLog()); }); CommandOpenLogDatabase = new Command(obj => { OpenLog(DataSourceLogScope.GetDatabaseLog()); }); CommandOpenLogRequest = new Command(obj => { OpenLog(DataSourceLogScope.GetRequestsLog()); }); CommandOpenLogVoip = new Command(obj => { OpenLog(DataSourceLogScope.GetVoipLog()); }); CommandOpenLogCallQuality = new Command(obj => { OpenLog(DataSourceLogScope.GetCallQualityLog()); }); CommandOpenLogCallHistory = new Command(obj => { OpenLog(DataSourceLogScope.GetCallHistoryLog()); }); CommandOpenLogGui = new Command(obj => { OpenLog(DataSourceLogScope.GetGuiLog()); }); CommandClearLogs = new Command(obj => { DataSourceLogScope.ClearLogs(); }); ExportAviable = CheckEncryptionkey(); CommandSave = new Command(obj => Save(obj as bool? ?? false)); CommandEnableWriteList = new Command(obj => EnableWriteList()); CommandPasteFromClipBoard = new Command(obj => { PasteFromClipBoard(); }); CurrentModelUserSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); }; foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsAudioWifi) { modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); }; } foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsAudioCell) { modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); }; } foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsVideo) { modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); }; } }
/// <summary> Отправить отчет об ошибке </summary> private void SendTroubleTicket() { try { if (DataSourceLogScope.SendTroubleTicket(_modelLogScope)) { Dispatcher.Invoke(() => { WindowMessageBox.Show(this, Application.Current.TryFindResource(@"ViewErrorReport_SendSuccessful") as string + " " + _modelLogScope.IssueId + "."); OnCloseWindow(); }); } else { Dispatcher.Invoke(() => WindowMessageBox.Show(this, Application.Current.TryFindResource(@"ViewErrorReport_SendFail") as string, WindowMessageBoxButonEnum.Ok, WindowMessageBoxTypeEnum.Error)); } } finally { OnLockWindow(false); } }