public void Configure(IConfiguration config) { m_settings = new RandomDataSettings(); config.Bind(m_settings); m_pmu = new AdaptDevice(m_settings.PMUName); m_random = new Random(); }
/// <summary> /// Opens the Select Device Window /// </summary> private void SelectDevice(Mapping mapping) { SelectSignal deviceSelection = new SelectSignal(); SelectSignalMappingVM <AdaptDevice> deviceSelectionVM = new SelectSignalMappingVM <AdaptDevice>((d) => { mapping.SourceDeviceID = d.ID; mapping.SourceDeviceName = d.Name; mapping.ChannelMappings = new Dictionary <int, string>(); // Validate Signals on that device List <TemplateInputSignal> targetSignals; using (AdoDataConnection connection = new AdoDataConnection(ConnectionString, DataProviderString)) targetSignals = new TableOperations <TemplateInputSignal>(connection) .QueryRecordsWhere("DeviceID = {0}", mapping.TargetDeviceID).ToList(); List <AdaptSignal> sourceSignals = AdaptSignal.Get(DataSource, DataSourceModel.ID, ConnectionString, DataProviderString) .Where(s => s.Device == d.ID).ToList(); mapping.IsValid = sourceSignals.Count() >= targetSignals.Count(); for (int i = 0; i < targetSignals.Count(); i++) { int index = sourceSignals.FindIndex(item => item.Phase == targetSignals[i].Phase && item.Type == targetSignals[i].MeasurmentType); if (index == -1) { mapping.ChannelMappings.Add(targetSignals[i].ID, ""); } else { mapping.ChannelMappings.Add(targetSignals[i].ID, sourceSignals[index].ID); } } mapping.IsValid = !mapping.ChannelMappings.Any(item => string.IsNullOrEmpty(item.Value)); mapping.IsSelected = true; DeviceMappings = new ObservableCollection <Mapping>(DeviceMappings); OnPropertyChanged(nameof(DeviceMappings)); OnPropertyChanged(nameof(Valid)); }, (d, s) => d.Name.ToLower().Contains(s.ToLower()), (d) => d.Name, AdaptDevice.Get(DataSource, DataSourceModel.ID, ConnectionString, DataProviderString)); deviceSelection.DataContext = deviceSelectionVM; deviceSelection.Show(); }