Esempio n. 1
0
        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));
                }
            }
        }
Esempio n. 2
0
 public async Task <IActionResult> AddContract(AddContractCommand request)
 {
     return(Ok(await _mediator.Send(request)));
 }