void OnCallbackOperationResult(CallbackOperationResult callbackOperationResult) { if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetArchivePage && User.Identity.Name == callbackOperationResult.UserName) { _journalItems = callbackOperationResult.JournalItems; _autoResetEvent.Set(); } }
void OnCallbackOperationResult(CallbackOperationResult callbackOperationResult) { if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetArchivePage) { ApplicationService.BeginInvoke(() => { JournalItems = new ObservableCollection<JournalItemViewModel>(); foreach (var item in callbackOperationResult.JournalItems) { JournalItems.Add(new JournalItemViewModel(item)); } IsLoading = false; }); } }
void OnCallbackOperationResult(CallbackOperationResult callbackOperationResult) { if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetJournal && callbackOperationResult.ClientUid == _uid) { ApplicationService.BeginInvoke(() => { JournalItems = new ObservableCollection<JournalItemViewModel>(); if (callbackOperationResult.JournalItems != null) foreach (var journalItem in callbackOperationResult.JournalItems) { var journalItemViewModel = new JournalItemViewModel(journalItem); JournalItems.Add(journalItemViewModel); } SelectedJournal = JournalItems.FirstOrDefault(); IsLoading = false; }); } }
void OnCallbackOperationResult(CallbackOperationResult callbackOperationResult) { if (callbackOperationResult != null) { ApplicationService.Invoke(() => { LoadingService.Close(); if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetGKUsers) { if (!callbackOperationResult.HasError) { GKUsersViewModel gkUsersViewModel = null; WaitHelper.Execute(() => { gkUsersViewModel = new GKUsersViewModel(callbackOperationResult.Users, callbackOperationResult.DeviceUID); }); //LoadingService.Close(); DialogService.ShowModalWindow(gkUsersViewModel); } else { //LoadingService.Close(); MessageBoxService.ShowWarning(callbackOperationResult.Error, "Ошибка при перезаписи пользователей"); } } if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetPmfUsers) { if (!callbackOperationResult.HasError) { ServiceFactoryBase.Events.GetEvent<GetPmfUsersEvent>().Publish(callbackOperationResult.Users); } else { //LoadingService.Close(); MessageBoxService.ShowWarning(callbackOperationResult.Error, "Ошибка при перезаписи пользователей"); } } if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.RewriteUsers) { if (!callbackOperationResult.HasError) { MessageBoxService.Show("Операция перезаписи пользователей завершилась успешно"); } else { MessageBoxService.ShowWarning(callbackOperationResult.Error, "Ошибка при получении пользователей"); } } if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.WriteConfiguration) { if (!callbackOperationResult.HasError) { MessageBoxService.Show("Операция записи конфигурации в прибор завершилась успешно"); } else { MessageBoxService.ShowWarning(callbackOperationResult.Error, "Ошибка при записи конфигурации в прибор"); } } if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.ReadConfigurationFromGKFile) { if (!callbackOperationResult.HasError) { var stream = ClientManager.RubezhService.GetServerFile(callbackOperationResult.FileName); if (stream != Stream.Null) { var folderName = AppDataFolderHelper.GetLocalFolder("GKFile"); var configFileName = Path.Combine(folderName, "Config.fscp"); if (Directory.Exists(folderName)) Directory.Delete(folderName, true); Directory.CreateDirectory(folderName); var configFileStream = File.Create(configFileName); ClientManager.CopyStream(stream, configFileStream); configFileStream.Close(); if (new FileInfo(configFileName).Length == 0) { MessageBoxService.ShowError("Ошибка при чтении конфигурации"); return; } try { var zipFile = ZipFile.Read(configFileName, new ReadOptions { Encoding = Encoding.GetEncoding("cp866") }); var fileInfo = new FileInfo(configFileName); var unzipFolderPath = fileInfo.Directory.FullName; zipFile.ExtractAll(unzipFolderPath); zipFile.Dispose(); var configurationFileName = Path.Combine(unzipFolderPath, "GKDeviceConfiguration.xml"); if (!File.Exists(configurationFileName)) { MessageBoxService.ShowError("Ошибка при распаковке файла"); return; } var deviceConfiguration = ZipSerializeHelper.DeSerialize<GKDeviceConfiguration>(configurationFileName); ConfigurationCompareViewModel configurationCompareViewModel = null; WaitHelper.Execute(() => { DescriptorsManager.Create(); deviceConfiguration.UpdateConfiguration(); deviceConfiguration.PrepareDescriptors(); configurationCompareViewModel = new ConfigurationCompareViewModel(GKManager.DeviceConfiguration, deviceConfiguration, DevicesViewModel.DeviceToCompareConfiguration, configFileName); }); //LoadingService.Close(); if (configurationCompareViewModel.Error != null) { MessageBoxService.ShowError(configurationCompareViewModel.Error, "Ошибка при чтении конфигурации"); return; } if (DialogService.ShowModalWindow(configurationCompareViewModel)) ServiceFactoryBase.Events.GetEvent<ConfigurationChangedEvent>().Publish(null); } catch (Exception) { MessageBoxService.ShowWarning("Ошибка: файл конфигурации содержит неправильную сигнатуру"); } } else { //LoadingService.Close(); MessageBoxService.ShowWarning("Ошибка при чтении конфигурационного файла"); } } else { MessageBoxService.ShowWarning(callbackOperationResult.Error, "Ошибка при чтении конфигурации из прибора"); } } }); } }