コード例 #1
0
        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;
            });
        }
コード例 #2
0
 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;
 }
コード例 #3
0
        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);
            }
        }