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"); } }
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(); }
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); } } } }
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; }