示例#1
0
        public async Task Adicionar(Fornecedor fornecedor)
        {
            // Validar estado da entidade
            if (!ExecutarValidacao(new FornecedorValidation(), fornecedor) ||
                !ExecutarValidacao(new EnderecoValidation(), fornecedor.Endereco))
            {
                return;
            }

            // Validar se não existe um fornecedor com o mesmo documento
            if (_fornecedorRepository.BuscarTodos(f => f.Documento == fornecedor.Documento).Result.Any())
            {
                Notificar("Já existe um fornecedor com este documento informado.");
                return;
            }

            await _fornecedorRepository.Adicionar(fornecedor);
        }
        public async Task Adicionar_Fornecedor_Invalido_Com_Documento_Repetido()
        {
            // Arrange
            Fornecedor fornecedor = ObterInstanciaFornecedor();

            var fornecedoresDocumentoRepetido = new List <Fornecedor> {
                fornecedor
            };

            _fornecedorRepositoryMock
            .BuscarTodos(Arg.Any <Expression <Func <Fornecedor, bool> > >())
            .Returns(fornecedoresDocumentoRepetido);

            // Act
            await _sut.Adicionar(fornecedor);

            // Assert
            Assert.True(_notificador.TemNotificacao());
            Assert.Contains(fornecedor, fornecedoresDocumentoRepetido);
        }
 public async Task <IEnumerable <Fornecedor> > BuscarTodos()
 {
     try
     {
         return(await _repository.BuscarTodos());
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }