public async Task GetSportEventFixtureAsync(URN id, CultureInfo culture, bool useCachedProvider, ISportEventCI requester) { RecordCall("GetSportEventFixtureAsync"); var filePath = GetFile(FixtureXml, culture); var restDeserializer = new Deserializer <fixturesEndpoint>(); var mapper = new FixtureMapperFactory(); var stream = FileHelper.OpenFile(filePath); var result = mapper.CreateMapper(restDeserializer.Deserialize(stream)).Map(); if (result != null) { await _cacheManager.SaveDtoAsync(id, result, culture, DtoType.Fixture, requester).ConfigureAwait(false); } }
private void InitSportEventCache() { var testDataFetcher = new TestDataFetcher(); _eventCache = new MemoryCache("test"); var fixtureDeserializer = new Deserializer <fixturesEndpoint>(); var fixtureMapperFactory = new FixtureMapperFactory(); var fixtureProvider = new DataProvider <fixturesEndpoint, FixtureDTO>( DirPath + FixtureXml, testDataFetcher, fixtureDeserializer, fixtureMapperFactory); var dateDeserializer = new Deserializer <scheduleEndpoint>(); var dateMapperFactory = new SportEventsScheduleMapperFactory(); var dateProvider = new DateScheduleProvider( DirPath + ScheduleXml, DirPath + ScheduleXml, testDataFetcher, dateDeserializer, dateMapperFactory); // tournament schedule provider var tourDeserializer = new Deserializer <tournamentScheduleEndpoint>(); var tourMapperFactory = new TournamentScheduleMapperFactory(); var tourProvider = new DataProvider <tournamentScheduleEndpoint, EntityList <MatchSummaryDTO> >( DirPath + TourXml, testDataFetcher, tourDeserializer, tourMapperFactory); var detailsDeserializer = new Deserializer <matchSummaryEndpoint>(); var detailsMapperFactory = new SportEventDetailsMapperFactory(); var eventDetailsProvider = new DataProvider <matchSummaryEndpoint, SportEventDetailsDTO>( DirPath + DetailsXml, testDataFetcher, detailsDeserializer, detailsMapperFactory); var timer = new TestTimer(false); _sportEventCacheItemFactory = new SportEventCacheItemFactory(fixtureProvider, eventDetailsProvider, DefaultCulture); _sportEventCache = new SportEventCache(_eventCache, dateProvider, tourProvider, _sportEventCacheItemFactory, timer, Cultures); }
public async Task GetSportEventFixtureAsync(URN id, CultureInfo culture, bool useCachedProvider, ISportEventCI requester) { RecordCall("GetSportEventFixtureAsync"); var filePath = GetFile(FixtureXml, culture); var restDeserializer = new Deserializer <fixturesEndpoint>(); var mapper = new FixtureMapperFactory(); var stream = FileHelper.OpenFile(filePath); var result = mapper.CreateMapper(restDeserializer.Deserialize(stream)).Map(); await ExecuteDelayAsync(id, culture).ConfigureAwait(false); if (result == null) { Debug.WriteLine($"GetSportEventFixtureAsync for {id} and {culture.TwoLetterISOLanguageName}: no result."); return; } await LogSaveDtoAsync(id, result, culture, DtoType.Fixture, requester).ConfigureAwait(false); }