public CertificateViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient, CertificateDetails pCertificate) { _dialogs = pDialogs; _configClient = pConfigClient; _certificate = pCertificate; DeleteCommand = new BasicCommand(OnDelete); }
public ConnectionsViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient) { _dialogs = pDialogs; _configClient = pConfigClient; if (_configClient.Configurations != null) { UpdateConfigurations(); } _configClient.ConfigurationsChanged += OnConfigurationsChanged; ImportCommand = new BasicCommand(OnImport); }
public void ShowReconnecting(ConfigurationPipeClient pConfigClient) { if (!_restarting && !_reconnecting) { _reconnecting = true; var dialog = new ReconnectingDialog(); pConfigClient.Connected += () => Application.Current.Dispatcher.BeginInvoke(new Action(dialog.Close)); dialog.Owner = _parentWindow; dialog.ShowDialog(); _reconnecting = false; } }
public GeneralViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient) { var thread = new Thread(() => { var interfaces = Configuration.Current.TapInterfaces.ToArray(); Dispatch(() => TapDevices = interfaces.Select(pX => pX.Name)); }); thread.Priority = ThreadPriority.BelowNormal; thread.Start(); }
public ConfigurationViewModel(IViewModelDialogs pDialogs) { _dialogs = pDialogs; try { _configClient = new ConfigurationPipeClient(); _configClient.Disconnected += () => Dispatch(() => pDialogs.ShowReconnecting(_configClient)); ControllerAccess = new GroupAccessViewModel(pDialogs, Configuration.Current.ControllerAccess); Certificates = new CertificatesViewModel(pDialogs, _configClient); Connections = new ConnectionsViewModel(pDialogs, _configClient); General = new GeneralViewModel(pDialogs, _configClient); CloseCommand = new BasicCommand(() => Application.Current.Shutdown()); AboutCommand = new BasicCommand(pDialogs.ShowAbout); } catch (Exception e) { MessageBox.Show(e.Message); } }
public CertificatesViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient) { _dialogs = pDialogs; _configClient = pConfigClient; _configClient.EnrollRequestResponse += OnEnrollRequestResponse; _configClient.Enrolled += OnEnrolled; _configClient.CertificatesChanged += OnCertificatesChanged; if (_configClient.Certificates != null && _configClient.Certificates.Length > 0) { UpdateCertificates(); } CreateEnrollCommand = new BasicCommand( () => { var certDetails = pDialogs.CreateEnrollRequestCertificate(); if (certDetails == null) { return; } _configClient.SendRequestEnrollCommand(certDetails); }); ImportEnrollCommand = new BasicCommand( () => { var file = pDialogs.GetEntrollmentFile(); if (file == null) { return; } _configClient.SendEnrollCommand(file); }); ImportCommand = new BasicCommand( () => { var file = pDialogs.GetImportCertificateFile(); if (file == null || !File.Exists(file)) { return; } var ext = Path.GetExtension(file); byte[] pfxData = null; var password = string.Empty; switch (ext.ToLower()) { case ".cer": case ".crt": var keyFileName = Path.GetDirectoryName(file) + "\\" + Path.GetFileNameWithoutExtension(file) + ".key"; if (!File.Exists(keyFileName)) { _dialogs.ShowError("Missing corrosponding key file"); return; } pfxData = CertificateManager.Current.CreatePfx(file, keyFileName); password = "******"; break; default: pfxData = File.ReadAllBytes(file); break; } _configClient.SendImportPfxCommand(pfxData, password); }); }
public ConnectionViewModel(ConfigurationPipeClient pConfigClient, ConfigurationInfo pConfigurationInfo) { _configClient = pConfigClient; _configurationInfo = pConfigurationInfo; }