Ejemplo n.º 1
0
        public async Task <Unit> Handle(CreateProdutoCommand request, CancellationToken cancellationToken)
        {
            var produto = mapper.Map <Produto>(request);

            var validation = new ProdutoValidation().Validate(produto);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            produtoDomainService.Add(produto);

            await mediator.Publish(new ProdutoNotification
            {
                Produto = produto,
                Action  = ActionNotification.Criar
            });

            return(Unit.Value);
        }