Example #1
0
        public override async Task <TModelEntityReadAllResult> Handle(ReadAllQuery <TReadAllParams, TModelEntityReadAllResult> request, CancellationToken cancellationToken)
        {
            var result = await CrudApiManager
                         .ExecuteAsync((ct, api) => api.ReadAll(request.Parameters, request.Priority, ct), cancellationToken)
                         .ConfigureAwait(false);

            return(Map <TApiEntityReadAllResult, TModelEntityReadAllResult>(result));
        }
Example #2
0
        public GraphSetup Add <T>() where T : GraphItem
        {
            async Task <List <GraphItem> > Download()
            {
                var query       = new ReadAllQuery <T>();
                var batchQuery  = new OrientQueryBatch(Connection, query.Query);
                var batch       = new Batch <List <T> >(batchQuery, Client);
                var batchResult = await batch.Execute();

                var result = batchResult switch
                {
                    Result <List <T>, Exception> .OkCase ok => ok.Payload,
                    Result <List <T>, Exception> .ErrCase err => throw err.Payload,
                          _ => throw new InvalidOperationException()
                };

                return(result.Cast <GraphItem>().ToList());
            }

            Downloads.Add(typeof(T), Download());
            return(this);
        }