コード例 #1
0
        public List <Empresa> ObterPorFiltro(FiltroEmpresaDto filtro)
        {
            filtro.Nome = string.IsNullOrWhiteSpace(filtro.Nome) ? null : filtro.Nome.Trim();
            filtro.Cnpj = string.IsNullOrWhiteSpace(filtro.Cnpj) ? null : CnpjHelper.RemoveMascara(filtro.Cnpj);

            return(_empresaRepositorio.ObterPorFiltro(filtro.Nome, filtro.Cnpj, filtro.DataFundacao));
        }
コード例 #2
0
        public void DeveRetornarUmaStringCom14CaracteresExatosAposRemoverMascara()
        {
            string cnpj = "87.375.265/0001-52";

            string cnpjSemMascara = CnpjHelper.RemoveMascara(cnpj);

            Assert.True(cnpjSemMascara.Length == 14);
        }
コード例 #3
0
        public void DeveAdicionarEmpresaComDataFundacao()
        {
            EmpresaDto dto = new EmpresaDto()
            {
                Id           = 0,
                Nome         = _faker.Company.CompanyName(),
                Cnpj         = _faker.Company.Cnpj(),
                DataFundacao = DateTime.Now
            };

            string cnpjSemMascara = CnpjHelper.RemoveMascara(dto.Cnpj);

            _empresaRepositorioMock.Setup(x => x.ObterPorFiltro(string.Empty, cnpjSemMascara, null)).Returns(new List <Empresa>());

            _armazenadorDeEmpresa.Armazenar(dto);

            _empresaRepositorioMock.Verify(x => x.Post(
                                               It.Is <Empresa>(
                                                   c => c.Nome == dto.Nome &&
                                                   c.Cnpj == dto.Cnpj &&
                                                   c.DataFundacao == dto.DataFundacao
                                                   )),
                                           Times.Once);
        }
コード例 #4
0
        public void Armazenar(EmpresaDto dto)
        {
            if (!CnpjHelper.Valido(dto.Cnpj))
            {
                _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Cnpj inválido");
                return;
            }

            dto.Cnpj = CnpjHelper.RemoveMascara(dto.Cnpj);

            Empresa empresa;

            if (dto.Id == 0)
            {
                empresa = EmpresaBuilder.Novo()
                          .ComNome(dto.Nome)
                          .ComCnpj(dto.Cnpj)
                          .ComDataFundacao(dto.DataFundacao)
                          .Build();
            }
            else
            {
                empresa = _empresaRepositorio.ObterPorId(dto.Id);
                if (empresa == null)
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Empresa não encontrada");
                    return;
                }

                List <Empresa> empresas = _empresaRepositorio.ObterPorFiltro(string.Empty, dto.Cnpj, null);

                if (empresas.Count > 0 && empresas.Any(x => x.Id != empresa.Id))
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "CNPJ utilizado");
                    return;
                }

                empresa.Nome         = dto.Nome;
                empresa.Cnpj         = dto.Cnpj;
                empresa.DataFundacao = dto.DataFundacao;

                _empresaRepositorio.Put(empresa);
            }

            if (!empresa.Validar())
            {
                _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Empresa inválida");
                return;
            }

            if (dto.Id == 0)
            {
                List <Empresa> empresas = _empresaRepositorio.ObterPorFiltro(string.Empty, dto.Cnpj, null);

                if (empresas.Count > 0)
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "CNPJ utilizado");
                    return;
                }

                _empresaRepositorio.Post(empresa);
            }
        }