public static void SaveConfiguration(MulticlientConfiguration configuration, string password)
		{
			try
			{
				if (!Directory.Exists(AppDataFolderHelper.GetMulticlientDirectory()))
					Directory.CreateDirectory(AppDataFolderHelper.GetMulticlientDirectory());

				using (var memoryStream = new MemoryStream())
				{
					var dataContractSerializer = new DataContractSerializer(typeof(MulticlientConfiguration));
					dataContractSerializer.WriteObject(memoryStream, configuration);

					using (var fileStream = new FileStream(AppDataFolderHelper.GetTempMulticlientFile(), FileMode.Create))
					{
						fileStream.Write(memoryStream.GetBuffer(), 0, (int)memoryStream.Position);
					}
					EncryptHelper.EncryptFile(AppDataFolderHelper.GetTempMulticlientFile(), AppDataFolderHelper.GetMulticlientFile(), password);
					File.Delete(AppDataFolderHelper.GetTempMulticlientFile());
				}
			}
			catch (Exception e)
			{
				Logger.Error(e, "MulticlientConfigurationHelper.SaveConfiguration");
			}
		}
Ejemplo n.º 2
0
		public void Initialize(MulticlientConfiguration multiclientConfiguration)
		{
			if (multiclientConfiguration == null)
				return;

			foreach (var multiclientData in multiclientConfiguration.MulticlientDatas)
			{
				var appItemViewModel = new AppItemViewModel(multiclientData);
				AppItems.Add(appItemViewModel);
			}
			SelectedAppItem = AppItems.FirstOrDefault();
		}
Ejemplo n.º 3
0
		public void Initialize(MulticlientConfiguration multiclientConfiguration)
		{
			if (multiclientConfiguration != null)
			{
				int index = 0;
				foreach (var multiclientData in multiclientConfiguration.MulticlientDatas)
				{
					if (!multiclientData.IsNotUsed)
					{
						multiclientData.Id = index++.ToString();
						var hostViewModel = new HostViewModel(multiclientData);
						hostViewModel.StateTypeChanged += new Action<HostViewModel>(OnStateTypeChanged);
						Hosts.Add(hostViewModel);
					}
				}
			}
		}
Ejemplo n.º 4
0
		void OnSave()
		{
			var savePasswordViewModel = new LoadPasswordViewModel();
			DialogService.ShowModalWindow(savePasswordViewModel);
			var password = savePasswordViewModel.Password;
			if (string.IsNullOrEmpty(password))
				return;

			var configuration = new MulticlientConfiguration();
			foreach (var appItem in AppItems)
			{
				var multiclientData = new MulticlientData()
				{
					Name = appItem.Name,
					Address = appItem.Address,
					Port = appItem.Port,
					Login = appItem.Login,
					Password = appItem.Password,
					IsNotUsed = appItem.IsNotUsed
				};
				configuration.MulticlientDatas.Add(multiclientData);
			}
			MulticlientConfigurationHelper.SaveConfiguration(configuration, password);
			HasChanges = false;
		}