public async Task <Employee> CreateAsync(Employee value) => await ManagerInvoker.Current.InvokeAsync(this, async() => { await value.Validate().Mandatory().RunAsync(throwOnError: true).ConfigureAwait(false); Cleaner.CleanUp(value); await value.Validate().Entity().With <IValidator <Employee> >().RunAsync(throwOnError: true).ConfigureAwait(false); return(Cleaner.Clean(await _dataService.CreateAsync(value).ConfigureAwait(false))); }, BusinessInvokerArgs.Create).ConfigureAwait(false);
public Task <Employee> CreateAsync(Employee value) { value.Validate(nameof(value)).Mandatory().Run().ThrowOnError(); return(ManagerInvoker.Current.InvokeAsync(this, async() => { ExecutionContext.Current.OperationType = OperationType.Create; Cleaner.CleanUp(value); value.Validate(nameof(value)).Entity(EmployeeValidator.Default).Run().ThrowOnError(); return Cleaner.Clean(await _dataService.CreateAsync(value).ConfigureAwait(false)); })); }