public ConnectionGroupViewModel(
            ConnectionGroup connectionGroup,
            KnownConnections knownConnections,
            ConnectionParameterViewModelFactory connectionParameterViewModelFactory)
        {
            _connectionGroup  = connectionGroup;
            _knownConnections = knownConnections;
            _connectionParameterViewModelFactory = new ConnectionParameterViewModelFactory();

            ConnectionViewModels = new ObservableCollection <ConnectionDescriptionViewModel>(
                connectionGroup.Connections
                .Select(c => new ConnectionDescriptionViewModel(c, this, _knownConnections, new SelectFileView(), _connectionParameterViewModelFactory))
                .ToList());

            GroupViewModels = new ObservableCollection <ConnectionGroupViewModel>(
                connectionGroup.Groups
                .Select(gr => new ConnectionGroupViewModel(gr, knownConnections, _connectionParameterViewModelFactory))
                .ToList());

            ParameterViewModels = connectionGroup.Parameters
                                  .Select(p => connectionParameterViewModelFactory.Create(p))
                                  .ToList();

            Name = connectionGroup.Name;
        }
Ejemplo n.º 2
0
        public ConnectionDescriptionViewModel(
            ConnectionDescription source,
            ConnectionGroupViewModel parent,
            KnownConnections knownConnections,
            IFileSelector fileSelector,
            ConnectionParameterViewModelFactory connectionParameterViewModelFactory)
        {
            Parent            = parent;
            _knownConnections = knownConnections;
            _fileSelector     = fileSelector;

            _autoCheckTimer          = new Timer(1000);
            _autoCheckTimer.Elapsed += AutoCheckTimer_Elapsed;
            _uiScheduler             = TaskScheduler.FromCurrentSynchronizationContext();
            _networkService          = new NetworkService();
            _connectionParameterViewModelFactory = connectionParameterViewModelFactory;

            PingAccessibilityIconUri = new Uri("pack://application:,,,/Images/gray-icon.png");
            PortAccessibilityIconUri = new Uri("pack://application:,,,/Images/gray-icon.png");

            InitFromSource(source);

            ConnectionTypes        = _knownConnections._knownConnectionProfiles.Keys.Except(new[] { "NetCat" }).ToList();
            SelectedConnectionType = Source.ConnectionTypeName;
        }