Ejemplo n.º 1
0
 public CertificateViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient,
                             CertificateDetails pCertificate)
 {
     _dialogs      = pDialogs;
     _configClient = pConfigClient;
     _certificate  = pCertificate;
     DeleteCommand = new BasicCommand(OnDelete);
 }
Ejemplo n.º 2
0
 public ConnectionsViewModel(IViewModelDialogs pDialogs, ConfigurationPipeClient pConfigClient)
 {
     _dialogs      = pDialogs;
     _configClient = pConfigClient;
     if (_configClient.Configurations != null)
     {
         UpdateConfigurations();
     }
     _configClient.ConfigurationsChanged += OnConfigurationsChanged;
     ImportCommand = new BasicCommand(OnImport);
 }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
 public GroupAccessViewModel(IViewModelDialogs pDialogs, BaseAccessConfiguration pConfiguration)
 {
     _dialogs       = pDialogs;
     _configuration = pConfiguration;
     SelectCommand  = new BasicCommand(pValue =>
     {
         if (pValue != null)
         {
             Select(pValue.ToString());
         }
     });
     UnselectCommand = new BasicCommand(pValue =>
     {
         if (pValue != null)
         {
             Unselect(pValue.ToString());
         }
     });
     RestartServiceCommand = new BasicCommand(RestartService);
 }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
            });
        }
Ejemplo n.º 7
0
 public RestartServiceViewModel(IViewModelDialogs pDialogs)
 {
     _dialogs = pDialogs;
     _thread  = new Thread(Run);
     _thread.Start();
 }