Beispiel #1
0
        public Task <Person?> GetAsync(Guid id)
        {
            return(ManagerInvoker.Current.InvokeAsync(this, async() =>
            {
                ExecutionContext.Current.OperationType = OperationType.Read;
                Cleaner.CleanUp(id);
                if (_getOnPreValidateAsync != null)
                {
                    await _getOnPreValidateAsync(id).ConfigureAwait(false);
                }

                MultiValidator.Create()
                .Add(id.Validate(nameof(id)).Mandatory())
                .Additional((__mv) => _getOnValidate?.Invoke(__mv, id))
                .Run().ThrowOnError();

                if (_getOnBeforeAsync != null)
                {
                    await _getOnBeforeAsync(id).ConfigureAwait(false);
                }
                var __result = await _dataService.GetAsync(id).ConfigureAwait(false);
                if (_getOnAfterAsync != null)
                {
                    await _getOnAfterAsync(__result, id).ConfigureAwait(false);
                }
                return Cleaner.Clean(__result);
            }));
        }
Beispiel #2
0
        public Task <Person?> GetAsync(Guid id) => ManagerInvoker.Current.InvokeAsync(this, async() =>
        {
            Cleaner.CleanUp(id);
            await MultiValidator.Create()
            .Add(id.Validate(nameof(id)).Mandatory())
            .RunAsync(throwOnError: true).ConfigureAwait(false);

            return(Cleaner.Clean(await _dataService.GetAsync(id).ConfigureAwait(false)));
        }, BusinessInvokerArgs.Read);