Example #1
0
        private List <MazeServiceScraper.Domain.ShowDomain.Show> GetCachedShowsIfThereIsAny()
        {
            var cachedValues = _showRepository.GetShowsCreatedBeforeSecond(_mazeCacheConfig.Value.DbCacheSecond);
            var shows        = new List <Domain.ShowDomain.Show>();

            foreach (var cachedShow in cachedValues)
            {
                var dbCasts = cachedShow.Casts.Select(x => new Domain.ShowDomain.Cast(x.CastId, x.Name, x.Birthday)).ToList();
                var dbShow  = new Domain.ShowDomain.Show(cachedShow.ShowId, cachedShow.Name, dbCasts);
                shows.Add(dbShow);
            }

            return(shows);
        }
Example #2
0
        private Infrastructure.Database.Show CreateRepositoryShow(Domain.ShowDomain.Show show)
        {
            var dbShow = new Infrastructure.Database.Show()
            {
                Name        = show.Name,
                ShowId      = show.Id,
                CreatedTime = DateTime.Now,
                Casts       = show.Casts.Select(x => new Infrastructure.Database.Cast()
                {
                    Name     = x.Name,
                    Birthday = x.Birthday,
                    CastId   = x.Id
                }).ToList()
            };

            return(dbShow);
        }
        public async Task <IList <Domain.ShowDomain.Show> > GetShowAsync(GetShowRequest getShowRequest)
        {
            var shows = await _mazeService.GetShowsAsync();

            var domainShows = new List <Domain.ShowDomain.Show>();

            foreach (var show in shows)
            {
                var casts = await _mazeService.GetCastOfAShowAsync(show.id);

                var domainCasts = casts.Select(x =>
                {
                    var birthday = x.person.birthday != null
                                                        ? DateTime.Parse(x.person.birthday)
                                                        : DateTime.MinValue;
                    return(new MazeServiceScraper.Domain.ShowDomain.Cast(x.person.id, x.person.name, birthday));
                }).ToList();
                var domainShow = new Domain.ShowDomain.Show(show.id, show.name, domainCasts);
                domainShows.Add(domainShow);
            }

            return(domainShows);
        }