コード例 #1
0
        public async Task <IEnumerable <Tuple <URN, URN> > > GetSportEventsForTournamentAsync(URN id, CultureInfo culture, ISportEventCI requester)
        {
            RecordCall("GetSportEventsForTournamentAsync");
            var filePath         = GetFile(TourScheduleXml, culture);
            var restDeserializer = new Deserializer <tournamentSchedule>();
            var mapper           = new TournamentScheduleMapperFactory();
            var stream           = FileHelper.OpenFile(filePath);
            var result           = mapper.CreateMapper(restDeserializer.Deserialize(stream)).Map();

            await ExecuteDelayAsync(id, culture).ConfigureAwait(false);

            if (result != null)
            {
                await LogSaveDtoAsync(URN.Parse($"sr:sport_events:{result.Items.Count()}"), result, culture, DtoType.SportEventSummaryList, requester).ConfigureAwait(false);

                var urns = new List <Tuple <URN, URN> >();
                foreach (var item in result.Items)
                {
                    urns.Add(new Tuple <URN, URN>(item.Id, item.SportId));
                }
                return(urns.AsEnumerable());
            }

            return(null);
        }
コード例 #2
0
        public static void Init(TestContext context)
        {
            var deserializer  = new Deserializer <tournamentSchedule>();
            var dataFetcher   = new TestDataFetcher();
            var mapperFactory = new TournamentScheduleMapperFactory();

            var dataProvider = new DataProvider <tournamentSchedule, EntityList <SportEventSummaryDTO> >(
                TestData.RestXmlPath + InputXml,
                dataFetcher,
                deserializer,
                mapperFactory);

            _entity = dataProvider.GetDataAsync("", "en").Result;
        }
コード例 #3
0
        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);
        }