コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EntityCollectionResult{TColl, TEntity}"/> class.
 /// </summary>
 /// <param name="paging">Defaults the <see cref="Paging"/> to the requesting <see cref="PagingArgs"/>.</param>
 protected EntityCollectionResult(PagingArgs?paging = null)
 {
     if (paging != null)
     {
         _paging = new PagingResult(paging);
     }
 }
コード例 #2
0
        public Task <RobotCollectionResult> GetByArgsAsync(RobotArgs?args, PagingArgs?paging)
        {
            return(ManagerInvoker.Default.InvokeAsync(this, async() =>
            {
                ExecutionContext.Current.OperationType = OperationType.Read;
                EntityBase.CleanUp(args);
                if (_getByArgsOnPreValidateAsync != null)
                {
                    await _getByArgsOnPreValidateAsync(args, paging).ConfigureAwait(false);
                }

                MultiValidator.Create()
                .Add(args.Validate(nameof(args)).Entity(RobotArgsValidator.Default))
                .Additional((__mv) => _getByArgsOnValidate?.Invoke(__mv, args, paging))
                .Run().ThrowOnError();

                if (_getByArgsOnBeforeAsync != null)
                {
                    await _getByArgsOnBeforeAsync(args, paging).ConfigureAwait(false);
                }
                var __result = await RobotDataSvc.GetByArgsAsync(args, paging).ConfigureAwait(false);
                if (_getByArgsOnAfterAsync != null)
                {
                    await _getByArgsOnAfterAsync(__result, args, paging).ConfigureAwait(false);
                }
                Cleaner.Clean(__result);
                return __result;
            }));
        }
コード例 #3
0
        public Task <PersonCollectionResult> GetAllAsync(PagingArgs?paging)
        {
            return(ManagerInvoker.Current.InvokeAsync(this, async() =>
            {
                ExecutionContext.Current.OperationType = OperationType.Read;
                if (_getAllOnPreValidateAsync != null)
                {
                    await _getAllOnPreValidateAsync(paging).ConfigureAwait(false);
                }

                MultiValidator.Create()
                .Additional((__mv) => _getAllOnValidate?.Invoke(__mv, paging))
                .Run().ThrowOnError();

                if (_getAllOnBeforeAsync != null)
                {
                    await _getAllOnBeforeAsync(paging).ConfigureAwait(false);
                }
                var __result = await _dataService.GetAllAsync(paging).ConfigureAwait(false);
                if (_getAllOnAfterAsync != null)
                {
                    await _getAllOnAfterAsync(__result, paging).ConfigureAwait(false);
                }
                return Cleaner.Clean(__result);
            }));
        }
コード例 #4
0
 public Task <AccountCollectionResult> GetAccountsAsync(AccountArgs?args, PagingArgs?paging)
 {
     return(DataSvcInvoker.Current.InvokeAsync(this, async() =>
     {
         var __result = await _data.GetAccountsAsync(args, paging).ConfigureAwait(false);
         return __result;
     }));
 }
コード例 #5
0
 public Task <EmployeeBaseCollectionResult> GetByArgsAsync(EmployeeArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Current.InvokeAsync(this, async() =>
     {
         EmployeeBaseCollectionResult __result = new EmployeeBaseCollectionResult(paging);
         var __dataArgs = EmployeeBaseData.EfMapper.Default.CreateArgs(__result.Paging !);
         __result.Result = _ef.Query(__dataArgs, q => _getByArgsOnQuery?.Invoke(q, args, __dataArgs) ?? q).SelectQuery <EmployeeBaseCollection>();
         return await Task.FromResult(__result).ConfigureAwait(false);
     }));
コード例 #6
0
 public Task <ProductCollectionResult> GetByArgsAsync(ProductArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Current.InvokeAsync(this, async() =>
     {
         ProductCollectionResult __result = new ProductCollectionResult(paging);
         var __dataArgs = ODataMapper.Default.CreateArgs(__result.Paging !, "Products");
         __result.Result = _odata.Query(__dataArgs, q => _getByArgsOnQuery?.Invoke(q, args, __dataArgs) ?? q).SelectQuery <ProductCollection>();
         return await Task.FromResult(__result).ConfigureAwait(false);
     }));
コード例 #7
0
 public Task <RobotCollectionResult> GetByArgsAsync(RobotArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Current.InvokeAsync(this, async() =>
     {
         RobotCollectionResult __result = new RobotCollectionResult(paging);
         var __dataArgs = CosmosMapper.Default.CreateArgs("Items", __result.Paging !, PartitionKey.None, onCreate: _onDataArgsCreate);
         __result.Result = _cosmos.Container(__dataArgs).Query(q => _getByArgsOnQuery?.Invoke(q, args, __dataArgs) ?? q).SelectQuery <RobotCollection>();
         return await Task.FromResult(__result).ConfigureAwait(false);
     }));
コード例 #8
0
 public Task <ProductCollectionResult> GetByArgsAsync(ProductArgs?args, PagingArgs?paging)
 {
     return(ManagerInvoker.Current.InvokeAsync(this, async() =>
     {
         ExecutionContext.Current.OperationType = OperationType.Read;
         Cleaner.CleanUp(args);
         args.Validate(nameof(args)).Entity(ProductArgsValidator.Default).Run().ThrowOnError();
         return Cleaner.Clean(await _dataService.GetByArgsAsync(args, paging).ConfigureAwait(false));
     }));
 }
コード例 #9
0
        /// <summary>
        /// Sets the paging from the <see cref="PagingArgs"/>.
        /// </summary>
        private IQueryable <TModel> SetPaging(IQueryable <TModel> query, PagingArgs?paging)
        {
            var q = query;

            if (paging != null && paging.Skip > 0)
            {
                q = q.Skip((int)paging.Skip);
            }

            return(q.Take((int)(paging == null ? PagingArgs.DefaultTake : paging.Take)));
        }
コード例 #10
0
        public Task<ProductCollectionResult> GetByArgsAsync(ProductArgs? args, PagingArgs? paging)
        {
            return DataInvoker.Default.InvokeAsync(this, async () =>
            {
                ProductCollectionResult __result = new ProductCollectionResult(paging);
                var __dataArgs = ODataMapper.Default.CreateArgs(__result.Paging!);
                if (_getByArgsOnBeforeAsync != null) await _getByArgsOnBeforeAsync(args, __dataArgs).ConfigureAwait(false);
                __result.Result = await TestOData.Default.SelectQueryAsync<ProductCollection, Product>(__dataArgs,
                    q => _getByArgsOnQuery == null ? q : _getByArgsOnQuery(q, args, __dataArgs)).ConfigureAwait(false);

                if (_getByArgsOnAfterAsync != null) await _getByArgsOnAfterAsync(__result, args).ConfigureAwait(false);
                return __result;
            }, new BusinessInvokerArgs { ExceptionHandler = _getByArgsOnException });
コード例 #11
0
        public Task <PersonCollectionResult> GetAllAsync(PagingArgs?paging) => ManagerInvoker.Current.InvokeAsync(this, async() =>
        {
            await(_getAllOnPreValidateAsync?.Invoke(paging) ?? Task.CompletedTask).ConfigureAwait(false);

            await MultiValidator.Create()
            .Additional((__mv) => _getAllOnValidate?.Invoke(__mv, paging))
            .RunAsync(throwOnError: true).ConfigureAwait(false);

            await(_getAllOnBeforeAsync?.Invoke(paging) ?? Task.CompletedTask).ConfigureAwait(false);
            var __result = await _dataService.GetAllAsync(paging).ConfigureAwait(false);
            await(_getAllOnAfterAsync?.Invoke(__result, paging) ?? Task.CompletedTask).ConfigureAwait(false);
            return(Cleaner.Clean(__result));
        }, BusinessInvokerArgs.Read);
コード例 #12
0
        public Task <PersonCollectionResult> GetByArgsAsync(PersonArgs?args, PagingArgs?paging) => ManagerInvoker.Current.InvokeAsync(this, async() =>
        {
            Cleaner.CleanUp(args);
            await(_getByArgsOnPreValidateAsync?.Invoke(args, paging) ?? Task.CompletedTask).ConfigureAwait(false);

            await MultiValidator.Create()
            .Add(args.Validate(nameof(args)).Entity().With <IValidator <PersonArgs> >())
            .Additional((__mv) => _getByArgsOnValidate?.Invoke(__mv, args, paging))
            .RunAsync(throwOnError: true).ConfigureAwait(false);

            await(_getByArgsOnBeforeAsync?.Invoke(args, paging) ?? Task.CompletedTask).ConfigureAwait(false);
            var __result = await _dataService.GetByArgsAsync(args, paging).ConfigureAwait(false);
            await(_getByArgsOnAfterAsync?.Invoke(__result, args, paging) ?? Task.CompletedTask).ConfigureAwait(false);
            return(Cleaner.Clean(__result));
        }, BusinessInvokerArgs.Read);
コード例 #13
0
 public Task <PersonCollectionResult> GetAllAsync(PagingArgs?paging)
 {
     return(DataInvoker.Current.InvokeAsync(this, async() =>
     {
         PersonCollectionResult __result = new PersonCollectionResult(paging);
         var __dataArgs = DbMapper.Default.CreateArgs("[Demo].[spPersonGetAll]", __result.Paging !);
         if (_getAllOnBeforeAsync != null)
         {
             await _getAllOnBeforeAsync(__dataArgs).ConfigureAwait(false);
         }
         __result.Result = await _db.Query(__dataArgs, p => _getAllOnQuery?.Invoke(p, __dataArgs)).SelectQueryAsync <PersonCollection>().ConfigureAwait(false);
         if (_getAllOnAfterAsync != null)
         {
             await _getAllOnAfterAsync(__result).ConfigureAwait(false);
         }
         return __result;
     }, new BusinessInvokerArgs {
コード例 #14
0
ファイル: PersonManager.cs プロジェクト: mtikoian/Beef
 public Task <PersonCollectionResult> GetAllAsync(PagingArgs?paging)
 {
     return(ManagerInvoker.Current.InvokeAsync(this, async() =>
     {
         ExecutionContext.Current.OperationType = OperationType.Read;
         if (_getAllOnBeforeAsync != null)
         {
             await _getAllOnBeforeAsync(paging).ConfigureAwait(false);
         }
         var __result = await _dataService.GetAllAsync(paging).ConfigureAwait(false);
         if (_getAllOnAfterAsync != null)
         {
             await _getAllOnAfterAsync(__result, paging).ConfigureAwait(false);
         }
         return Cleaner.Clean(__result);
     }));
 }
コード例 #15
0
ファイル: RobotData.cs プロジェクト: mdesenfants/Beef
 public Task <RobotCollectionResult> GetByArgsAsync(RobotArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Default.InvokeAsync(this, async() =>
     {
         RobotCollectionResult __result = new RobotCollectionResult(paging);
         var __dataArgs = CosmosMapper.Default.CreateArgs("Items", __result.Paging !, PartitionKey.None);
         _onDataArgsCreate?.Invoke(__dataArgs);
         if (_getByArgsOnBeforeAsync != null)
         {
             await _getByArgsOnBeforeAsync(args, __dataArgs).ConfigureAwait(false);
         }
         __result.Result = CosmosDb.Default.Container(__dataArgs).Query(q => _getByArgsOnQuery == null ? q : _getByArgsOnQuery(q, args, __dataArgs)).SelectQuery <RobotCollection>();
         if (_getByArgsOnAfterAsync != null)
         {
             await _getByArgsOnAfterAsync(__result, args).ConfigureAwait(false);
         }
         return __result;
     }, new BusinessInvokerArgs {
コード例 #16
0
ファイル: ProductAgent.cs プロジェクト: mdesenfants/Beef
 public Task <WebApiAgentResult <ProductCollectionResult> > GetByArgsAsync(ProductArgs?args, PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null)
 => ProductServiceAgent.GetByArgsAsync(args, paging, requestOptions);
コード例 #17
0
 public EmployeeBaseCollectionResult(IEnumerable <EmployeeBase> collection, PagingArgs?paging = null) : base(paging) => Result.AddRange(collection);
コード例 #18
0
 public Task <WebApiAgentResult <TransactionCollectionResult> > GetTransactionsAsync(string?accountId, TransactionArgs?args, PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null)
 {
     return(base.GetCollectionResultAsync <TransactionCollectionResult, TransactionCollection, Transaction>("api/v1/banking/accounts/{accountId}/transactions", requestOptions: requestOptions,
                                                                                                            args: new WebApiArg[] { new WebApiArg <string?>("accountId", accountId), new WebApiArg <TransactionArgs?>("args", args, WebApiArgType.FromUriUseProperties), new WebApiPagingArgsArg("paging", paging) }));
 }
コード例 #19
0
ファイル: PersonAgent.cs プロジェクト: FascinariM/Beef
 public Task <WebApiAgentResult <PersonCollectionResult> > GetAllAsync(PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null)
 {
     return(PersonServiceAgent.GetAllAsync(paging, requestOptions));
 }
コード例 #20
0
ファイル: PerformanceReview.cs プロジェクト: Avanade/Beef
 public PerformanceReviewCollectionResult(IEnumerable <PerformanceReview> collection, PagingArgs?paging = null) : base(paging) => Result.AddRange(collection);
コード例 #21
0
ファイル: PerformanceReview.cs プロジェクト: Avanade/Beef
 public PerformanceReviewCollectionResult(PagingArgs?paging) : base(paging)
 {
 }
コード例 #22
0
        public Task <GrpcAgentResult <RobotCollectionResult> > GetByArgsAsync(RobotArgs?args, PagingArgs?paging = null, GrpcRequestOptions?requestOptions = null)
        {
            var __req = new proto.RobotGetByArgsRequest {
                Args = Transformers.RobotArgs.MapToDest(args), Paging = Transformers.PagingArgsToPagingArgsConverter.ConvertToDest(paging !)
            };

            return(InvokeAsync((c, o) => c.GetByArgsAsync(__req, o), __req, Transformers.RobotCollectionResult, requestOptions));
        }
    }
コード例 #23
0
 public Task <TransactionCollectionResult> GetTransactionsAsync(string?accountId, TransactionArgs?args, PagingArgs?paging) => DataInvoker.Current.InvokeAsync(this, async() =>
 {
コード例 #24
0
ファイル: PersonAgent.cs プロジェクト: FascinariM/Beef
 public Task <WebApiAgentResult <PersonCollectionResult> > GetByArgsWithEfAsync(PersonArgs?args, PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null)
 {
     return(PersonServiceAgent.GetByArgsWithEfAsync(args, paging, requestOptions));
 }
コード例 #25
0
ファイル: EmployeeData.cs プロジェクト: Avanade/Beef
 public Task <EmployeeBaseCollectionResult> GetByArgsAsync(EmployeeArgs?args, PagingArgs?paging) => DataInvoker.Current.InvokeAsync(this, async() =>
 {
コード例 #26
0
ファイル: AccountAgent.cs プロジェクト: edjo23/Beef
 public Task <WebApiAgentResult <AccountCollectionResult> > GetAccountsAsync(AccountArgs?args, PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null)
 => AccountServiceAgent.GetAccountsAsync(args, paging, requestOptions);
コード例 #27
0
ファイル: Contact.cs プロジェクト: ostat/Beef
 public ContactCollectionResult(IEnumerable <Contact> collection, PagingArgs?paging = null) : base(paging) => Result.AddRange(collection);
コード例 #28
0
 public Task <WebApiAgentResult <EmployeeBaseCollectionResult> > GetByArgsAsync(EmployeeArgs?args, PagingArgs?paging = null, WebApiRequestOptions?requestOptions = null) =>
 GetCollectionResultAsync <EmployeeBaseCollectionResult, EmployeeBaseCollection, EmployeeBase>("api/employees", requestOptions: requestOptions,
                                                                                               args: new WebApiArg[] { new WebApiArg <EmployeeArgs?>("args", args, WebApiArgType.FromUriUseProperties), new WebApiPagingArgsArg("paging", paging) });
コード例 #29
0
ファイル: TransactionManager.cs プロジェクト: mtikoian/Beef
        public Task <TransactionCollectionResult> GetTransactionsAsync(string?accountId, TransactionArgs?args, PagingArgs?paging)
        {
            return(ManagerInvoker.Current.InvokeAsync(this, async() =>
            {
                ExecutionContext.Current.OperationType = OperationType.Read;
                Cleaner.CleanUp(accountId, args);
                MultiValidator.Create()
                .Add(accountId.Validate(nameof(accountId)).Mandatory().Common(Validators.AccountId))
                .Add(args.Validate(nameof(args)).Entity(TransactionArgsValidator.Default))
                .Run().ThrowOnError();

                return Cleaner.Clean(await _dataService.GetTransactionsAsync(accountId, args, paging).ConfigureAwait(false));
            }));
        }
コード例 #30
0
ファイル: Contact.cs プロジェクト: ostat/Beef
 public ContactCollectionResult(PagingArgs?paging) : base(paging)
 {
 }