public Task <PersonDetailCollectionResult> GetDetailByArgsAsync(PersonArgs?args, PagingArgs?paging) { return(ManagerInvoker.Current.InvokeAsync(this, async() => { ExecutionContext.Current.OperationType = OperationType.Read; Cleaner.CleanUp(args); if (_getDetailByArgsOnPreValidateAsync != null) { await _getDetailByArgsOnPreValidateAsync(args, paging).ConfigureAwait(false); } MultiValidator.Create() .Add(args.Validate(nameof(args)).Entity(PersonArgsValidator.Default)) .Additional((__mv) => _getDetailByArgsOnValidate?.Invoke(__mv, args, paging)) .Run().ThrowOnError(); if (_getDetailByArgsOnBeforeAsync != null) { await _getDetailByArgsOnBeforeAsync(args, paging).ConfigureAwait(false); } var __result = await _dataService.GetDetailByArgsAsync(args, paging).ConfigureAwait(false); if (_getDetailByArgsOnAfterAsync != null) { await _getDetailByArgsOnAfterAsync(__result, args, paging).ConfigureAwait(false); } return Cleaner.Clean(__result); })); }
public Task <PersonDetailCollectionResult> GetDetailByArgsAsync(PersonArgs?args, PagingArgs?paging) => ManagerInvoker.Current.InvokeAsync(this, async() => { Cleaner.CleanUp(args); await(_getDetailByArgsOnPreValidateAsync?.Invoke(args, paging) ?? Task.CompletedTask).ConfigureAwait(false); await MultiValidator.Create() .Add(args.Validate(nameof(args)).Entity().With <IValidator <PersonArgs> >()) .Additional((__mv) => _getDetailByArgsOnValidate?.Invoke(__mv, args, paging)) .RunAsync(throwOnError: true).ConfigureAwait(false); await(_getDetailByArgsOnBeforeAsync?.Invoke(args, paging) ?? Task.CompletedTask).ConfigureAwait(false); var __result = await _dataService.GetDetailByArgsAsync(args, paging).ConfigureAwait(false); await(_getDetailByArgsOnAfterAsync?.Invoke(__result, args, paging) ?? Task.CompletedTask).ConfigureAwait(false); return(Cleaner.Clean(__result)); }, BusinessInvokerArgs.Read);