public async Task <IList <CommentGraphType> > Comments([Inject] IMediator mediator, [Inject] DataLoaderContext loaderContext) { var loader = loaderContext.GetOrAddCollectionBatchLoader <long, Comment>( nameof(GetCommentsByQuoteIds), (ids, ct) => mediator.Send(new GetCommentsByQuoteIds.Query(ids), ct)); var comments = await loader.LoadAsync(data.Id); return(comments.Select(x => new CommentGraphType(x)).ToList()); }
public async Task <TransactionCode[]> Codes( [Inject] DataLoaderContext dataLoaderContext, [Inject] OutputTypesMapperResolver mapperResolver, [Inject] ITransactionRepository repository) { IEnumerable <Models.TransactionCode> codes = await dataLoaderContext .GetOrAddCollectionBatchLoader <Guid, Models.TransactionCode>(nameof(repository.GetTransactionCodesInBatch), repository.GetTransactionCodesInBatch) .LoadAsync(Id); return(mapperResolver().Map <TransactionCode[]>(codes)); }
public async Task <IEnumerable <Datasource> > Datasource([Inject] IDatasourceRepository repository, [Inject] DataLoaderContext dataLoaderContext) { var loader = dataLoaderContext.GetOrAddCollectionBatchLoader <int, Data.Models.Datasource>("Projects_Datasources", repository.GetDatasourcesPerProject); return(Mapper.Map <Datasource[]>(await loader.LoadAsync(Id))); }
public async Task <Actor[]> Actors([Inject] IActorRepository repository, [Inject] DataLoaderContext dataLoaderContext) { var loader = dataLoaderContext.GetOrAddCollectionBatchLoader <Guid, Models.Actor>("Movie_Actors", repository.GetActorsPerMovie); return(Mapper.Map <Actor[]>(await loader.LoadAsync(Id))); }