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); }
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)); } }
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))); } }
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); }
public async Task Remove(DeleteProdutoCommand command) { await mediator.Send(command); }
public ICommandResult <ResultProduto> Handle(DeleteProdutoCommand command) { return(Handler.Handle <DeleteProdutoCommand, ResultProduto>(command)); }