public void CadastrarProdutoSucesso() { var produtoServiceMock = new ProdutoServicoMock(); var produtoServico = produtoServiceMock.ConfigurarCadastrarSucesso().Build(); var cadastrarCommand = new CadastrarProdutoCommand(produtoServico, new CadastrarProdutoValidador()); Assert.DoesNotThrowAsync(() => cadastrarCommand.Executar(new CadastrarProdutosInput { Descricao = "Caneta", Categoria = "Escolar", ValorUnitario = 1.52M })); }
public Task <bool> Handle(CadastrarProdutoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var cliente = _clienteRepository.GetById(message.ClienteId); if (cliente == null) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "Cliente não cadastrado.", message)); return(Task.FromResult(false)); } var clienteProduto = _clienteProdutoRepository.Find(cp => cp.ClienteId.Equals(message.ClienteId)).FirstOrDefault(); if (clienteProduto == null) { clienteProduto = new ClienteProduto(Guid.NewGuid(), message.CodigoProdutoItem, message.ClienteId); _clienteProdutoRepository.Add(clienteProduto); } else { clienteProduto.Update(message.CodigoProdutoItem); _clienteProdutoRepository.Update(clienteProduto); } if (Commit()) { } return(Task.FromResult(true)); }
public void CadastrarProduto(Guid clienteId, string codigoProdutoItem) { var cadastrarProdutoCommand = new CadastrarProdutoCommand(clienteId, codigoProdutoItem); _bus.SendCommand(cadastrarProdutoCommand); }