public Task <AccountDetail?> GetDetailAsync(string?accountId) { return(ManagerInvoker.Default.InvokeAsync(this, async() => { ExecutionContext.Current.OperationType = OperationType.Read; EntityBase.CleanUp(accountId); if (_getDetailOnPreValidateAsync != null) { await _getDetailOnPreValidateAsync(accountId).ConfigureAwait(false); } MultiValidator.Create() .Add(accountId.Validate(nameof(accountId)).Mandatory()) .Additional((__mv) => _getDetailOnValidate?.Invoke(__mv, accountId)) .Run().ThrowOnError(); if (_getDetailOnBeforeAsync != null) { await _getDetailOnBeforeAsync(accountId).ConfigureAwait(false); } var __result = await AccountDataSvc.GetDetailAsync(accountId).ConfigureAwait(false); if (_getDetailOnAfterAsync != null) { await _getDetailOnAfterAsync(__result, accountId).ConfigureAwait(false); } Cleaner.Clean(__result); return __result; })); }
public Task <AccountCollectionResult> GetAccountsAsync(AccountArgs?args, PagingArgs?paging) { return(ManagerInvoker.Default.InvokeAsync(this, async() => { ExecutionContext.Current.OperationType = OperationType.Read; EntityBase.CleanUp(args); if (_getAccountsOnPreValidateAsync != null) { await _getAccountsOnPreValidateAsync(args, paging).ConfigureAwait(false); } MultiValidator.Create() .Add(args.Validate(nameof(args)).Entity(AccountArgsValidator.Default)) .Additional((__mv) => _getAccountsOnValidate?.Invoke(__mv, args, paging)) .Run().ThrowOnError(); if (_getAccountsOnBeforeAsync != null) { await _getAccountsOnBeforeAsync(args, paging).ConfigureAwait(false); } var __result = await AccountDataSvc.GetAccountsAsync(args, paging).ConfigureAwait(false); if (_getAccountsOnAfterAsync != null) { await _getAccountsOnAfterAsync(__result, args, paging).ConfigureAwait(false); } Cleaner.Clean(__result); return __result; })); }