Пример #1
0
        public async Task LoadCharacterEpisode()
        {
            episodesCharacterAppearedOn.Clear();
            characterRelatives.Clear();

            var request = new EpisodesSeasonRequest {
                CharacterId = Character.Id
            };
            var episodes = await _episodeApiService.Get <List <MEpisode> >(request);

            if (episodes.Count > 0)
            {
                foreach (var episode in episodes)
                {
                    if (episode.Season != null)
                    {
                        episodesCharacterAppearedOn.Add(episode);
                    }
                }
            }

            var family = await _familyApiService.GetById <MFamily>(Character.FamilyId);

            familyString = family.Name;
            foreach (var item in family.Members)
            {
                characterRelatives.Add(item);
            }
        }
Пример #2
0
        private async Task InsertSeason(ListView.CheckedListViewItemCollection checkedEpisodes)
        {
            var episodesRequest = new EpisodesSeasonRequest {
                EpisodesIds = new List <int>()
            };

            foreach (ListViewItem item in checkedEpisodes)
            {
                int id = Int32.Parse(item.Text);
                episodesRequest.EpisodesIds.Add(id);
            }

            var episodes = await _episodeApiService.Get <List <MEpisode> >(episodesRequest);

            _request.Episodes = episodes;

            await _seasonApiService.Insert <MSeason>(_request);
        }
 public List <MEpisode> Get([FromQuery] EpisodesSeasonRequest search)
 {
     return(_service.Get(search));
 }
Пример #4
0
        public List <MEpisode> Get(EpisodesSeasonRequest request)
        {
            var result = new List <Episode>();

            if (request.SeasonId != null)
            {
                var query = ctx.Episodes.Include(x => x.Season).Include(x => x.MediaFile).Where(x => x.SeasonId == request.SeasonId).ToList();
                result = query;
            }

            else if (request.isAssigned != null && request.CharacterId == null)
            {
                if (request.isAssigned == true)
                {
                    var query2 = ctx.Episodes.Include(x => x.Season).Include(x => x.MediaFile).Where(x => x.Season != null).ToList();
                    result = query2;
                }
                else
                {
                    var query3 = ctx.Episodes.Include(x => x.Season).Include(x => x.MediaFile).Where(x => x.Season == null).ToList();
                    result = query3;
                }
            }

            else if (request.EpisodesIds != null)
            {
                var query4 = ctx.Episodes.Include(x => x.Season).Include(x => x.MediaFile).Where(x => request.EpisodesIds.Contains(x.Id)).ToList();
                result = query4;
            }
            else if (request.CharacterId != null)
            {
                if (request.isAssigned == true)
                {
                    var query5a = ctx.EpisodeCharacters.Where(x => x.CharacterId == request.CharacterId && x.Episode.Season != null).Select(x => new MEpisode
                    {
                        AirDate   = x.Episode.AirDate,
                        Id        = x.Episode.Id,
                        MediaFile = _mapper.Map <MMediaFile>(x.Episode.MediaFile),
                        OverallNumberOfEpisode = (int)x.Episode.OverallNumberOfEpisode,
                        Season = _mapper.Map <MSeason>(x.Episode.Season),
                        SeasonEpisodeNumber = x.Episode.SeasonEpisodeNumber,
                        Summary             = x.Episode.Summary,
                        Title      = x.Episode.Title,
                        Viewcount  = x.Episode.Viewcount,
                        SeasonId   = (int)x.Episode.SeasonId,
                        Characters = _mapper.Map <List <MCharacter> >(ctx.EpisodeCharacters.Include(z => z.Character.CharacterMediaFile).Where(z => z.EpisodeId == x.Episode.Id).Select(x => x.Character).ToList())
                    }).ToList();

                    return(query5a);
                }
                else
                {
                    var query5b = ctx.EpisodeCharacters.Where(x => x.CharacterId == request.CharacterId).Select(x => new MEpisode
                    {
                        AirDate   = x.Episode.AirDate,
                        Id        = x.Episode.Id,
                        MediaFile = _mapper.Map <MMediaFile>(x.Episode.MediaFile),
                        OverallNumberOfEpisode = (int)x.Episode.OverallNumberOfEpisode,
                        Season = _mapper.Map <MSeason>(x.Episode.Season),
                        SeasonEpisodeNumber = x.Episode.SeasonEpisodeNumber,
                        Summary             = x.Episode.Summary,
                        Title      = x.Episode.Title,
                        Viewcount  = x.Episode.Viewcount,
                        SeasonId   = (int)x.Episode.SeasonId,
                        Characters = _mapper.Map <List <MCharacter> >(ctx.EpisodeCharacters.Include(z => z.Character.CharacterMediaFile).Where(z => z.EpisodeId == x.Episode.Id).Select(x => x.Character).ToList())
                    }).ToList();

                    return(query5b);
                }
            }

            else
            {
                var query6 = ctx.Episodes.Include(x => x.Season).Include(x => x.MediaFile).Include(x => x.EpisodesCharacters).Select(x => new MEpisode {
                    Id        = x.Id,
                    MediaFile = _mapper.Map <MMediaFile>(x.MediaFile),
                    Title     = x.Title,
                    AirDate   = (DateTime)x.AirDate,
                    OverallNumberOfEpisode = (int)x.OverallNumberOfEpisode,
                    SeasonEpisodeNumber    = x.SeasonEpisodeNumber,
                    Season     = _mapper.Map <MSeason>(x.Season),
                    Summary    = x.Summary,
                    Viewcount  = x.Viewcount,
                    Characters = _mapper.Map <List <MCharacter> >(ctx.EpisodeCharacters.Include(z => z.Character.CharacterMediaFile).Where(z => z.EpisodeId == x.Id).Select(x => x.Character).ToList())
                }).ToList();

                return(query6);
            }

            return(_mapper.Map <List <MEpisode> >(result));
        }