public async Task <IReadOnlyCollection <EditionDTO> > GetAllByLanguage(string language) { var result = await this.dbContext .Set <Edition>() .Include(item => item.Details) .Include(item => item.Event) .ThenInclude(item => item.Details) .Select(item => EditionUtils.ToEditionDTO(item, language)) .ToListAsync(); return(new ReadOnlyCollection <EditionDTO>(result)); }
public async Task <EditionDTO> GetByLanguageAndId(string language, string id) { var query = this.dbContext .Set <Edition>() .Include(item => item.Details) .Include(item => item.Event) .ThenInclude(item => item.Details) .Include(item => item.EditionTickets) .Include(item => item.Organizers) .ThenInclude(organizer => organizer.User) .ThenInclude(user => user.Details) .Include(item => item.Organizers) .ThenInclude(organizer => organizer.User) .ThenInclude(user => user.SocialLinks) .Include(item => item.Sponsors) .ThenInclude(editionSponsor => editionSponsor.Sponsor) .Include(item => item.Activities) .ThenInclude(editionActivity => editionActivity.Details) .Include(item => item.Activities) .ThenInclude(editionActivity => editionActivity.Users) .ThenInclude(editionActivityUser => editionActivityUser.User) .ThenInclude(user => user.Details) .Include(item => item.Activities) .ThenInclude(editionActivity => editionActivity.Users) .ThenInclude(editionActivityUser => editionActivityUser.User) .ThenInclude(presenter => presenter.SocialLinks) .Include(item => item.Activities) .ThenInclude(editionActivity => editionActivity.Scores); var result = await query.FirstOrDefaultAsync(item => item.Id == id); if (result == null) { return(null); } return(EditionUtils.ToEditionDTO(result, language)); }