Beispiel #1
0
		void OnCallbackOperationResult(CallbackOperationResult callbackOperationResult)
		{
			if (callbackOperationResult.CallbackOperationResultType == CallbackOperationResultType.GetArchivePage
				&& User.Identity.Name == callbackOperationResult.UserName)
			{
				_journalItems = callbackOperationResult.JournalItems;
				_autoResetEvent.Set();
			}
		}
Beispiel #2
0
		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;
				});
			}
		}
Beispiel #3
0
		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, "Ошибка при чтении конфигурации из прибора");
						}
					}
				});
			}
		}