public async Task Update(ClienteProduto entity)
        {
            if (!IsValid(entity))
            {
                return;
            }

            await _clienteProdutoRepository.Update(entity);
        }
Пример #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));
        }