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); } }
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)); }
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)); }