Example #1
0
        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());
        }
Example #2
0
        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)));
        }
Example #4
0
        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)));
        }