public ViewController( ISessionFactory sessionFactory, IProjectFactory projectFactory, IIbtFileParser telemetryFileParser, IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor, ILog log, IServiceProvider serviceProvider, IDisplayInfoService displayInfoService) { _serviceProvider = serviceProvider; _sessionFactory = (sessionFactory == null) ? throw new ArgumentNullException(nameof(sessionFactory)) : sessionFactory; _projectFactory = (projectFactory == null) ? throw new ArgumentNullException(nameof(projectFactory)) : projectFactory; _displayInfoService = (displayInfoService == null) ? throw new ArgumentNullException(nameof(displayInfoService)) : displayInfoService; _telemetryFileParser = (telemetryFileParser == null) ? throw new ArgumentNullException(nameof(telemetryFileParser)) : telemetryFileParser; _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue; Log = (log == null) ? throw new ArgumentNullException(nameof(log)) : log; MdiChildren = new ObservableCollection <IMdiChildForm>(); MdiChildren.CollectionChanged += MdiChildren_CollectionChanged; PropertyChanged += TelemetryViewController_PropertyChanged; ProjectClosing += TelemetryViewController_ProjectClosing; Task.Run(async() => { await LoadFieldDefinitionsAsync(); FieldDefinitions.CollectionChanged += FieldDefinitions_CollectionChanged; await LoadFieldDisplayInfos(); FieldDisplayInfos.CollectionChanged += FieldDisplayInfos_CollectionChanged; }); }
public SessionFactory( IIbtFileParser telemetryFileParser, IIbtSessionParser telemetrySessionParser, IIbtFileReader telemetryFileReader) { _telemetryFileParser = (telemetryFileParser == null) ? throw new ArgumentNullException(nameof(telemetryFileParser)) : telemetryFileParser; _telemetrySessionParser = (telemetrySessionParser == null) ? throw new ArgumentNullException(nameof(telemetrySessionParser)) : telemetrySessionParser; _telemetryFileReader = (telemetryFileReader == null) ? throw new ArgumentNullException(nameof(telemetryFileReader)) : telemetryFileReader; }
private async void TrackMapBuilderView_Load(object sender, EventArgs e) { try { _trackMapRepo = ServiceProvider.GetRequiredService <ITrackMapRepository>(); _imageHelper = ServiceProvider.GetRequiredService <IImageHelper>(); _mapService = ServiceProvider.GetRequiredService <ITrackMapService>(); _telemetryFileParser = ServiceProvider.GetRequiredService <IIbtFileParser>(); IOptionsMonitor <iRacingTelemetryOptions> optionsAccessor = ServiceProvider.GetRequiredService <IOptionsMonitor <iRacingTelemetryOptions> >(); _options = (optionsAccessor == null) ? throw new ArgumentNullException(nameof(optionsAccessor)) : optionsAccessor.CurrentValue; await GetTrackMapList(); _loading = false; } catch (Exception ex) { ExceptionHandler(ex); } }