public async Task <AddContractPayload> AddContract( AddContractInput input, [Service] IServiceProvider serviceProvider, CancellationToken cancellationToken) { var addContractCommand = new AddContractCommand() { Name = input.Name }; using (var scope = serviceProvider.CreateScope()) { var mediator = scope.ServiceProvider.GetRequiredService <IMediator>(); try { var response = await mediator.Send(addContractCommand, cancellationToken); return(new AddContractPayload(response)); } catch (ValidationException e) { var userErrors = new List <UserError>(); e.Message.Split(";").ForAll(item => { userErrors.Add(new UserError(item, item)); }); return(new AddContractPayload(userErrors)); } } }
public async Task <IActionResult> AddContract(AddContractCommand request) { return(Ok(await _mediator.Send(request))); }