Esempio n. 1
0
        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
            }));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        public void CadastrarProduto(Guid clienteId, string codigoProdutoItem)
        {
            var cadastrarProdutoCommand = new CadastrarProdutoCommand(clienteId, codigoProdutoItem);

            _bus.SendCommand(cadastrarProdutoCommand);
        }