Ejemplo n.º 1
0
        public async Task DeleteProdutoCommandInvalido()
        {
            //Arrange
            var moqMediator          = MoqValidationTests.NewMediator();
            var moqProdutoRepository = new ProdutoRepositoryFake();

            //Act
            var handler = new Handler(moqMediator.Object, moqProdutoRepository);
            var command = new DeleteProdutoCommand(0);
            var result  = await handler.Handle(command);

            //Assert
            Assert.IsFalse(command.IsValid());
            Assert.IsTrue(result.HasErrors);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Delete(string id)
        {
            try
            {
                var command = new DeleteProdutoCommand {
                    Id = id
                };

                await produtoApplicationService.Remove(command);

                return(Ok(new { Message = "Produto excluído com sucesso" }));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Delete(int id)
        {
            try
            {
                if (id == 0)
                {
                    Result(new Result("Id do Produto não informado."));
                }

                var request = new DeleteProdutoCommand(id);
                var result  = await _mediator.Send(request);

                return(Result(result));
            }
            catch (Exception ex)
            {
                return(Result(new Result(ex.Message)));
            }
        }
Ejemplo n.º 4
0
        public async Task <Unit> Handle(DeleteProdutoCommand request, CancellationToken cancellationToken)
        {
            var produto = mapper.Map <Produto>(request);

            if (produto == null)
            {
                throw new Exception("Produto não encontrado.");
            }

            produtoDomainService.Remove(produto);

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

            return(Unit.Value);
        }
Ejemplo n.º 5
0
 public async Task Remove(DeleteProdutoCommand command)
 {
     await mediator.Send(command);
 }
Ejemplo n.º 6
0
 public ICommandResult <ResultProduto> Handle(DeleteProdutoCommand command)
 {
     return(Handler.Handle <DeleteProdutoCommand, ResultProduto>(command));
 }