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)); }
public void DeveRetornarUmaStringCom14CaracteresExatosAposRemoverMascara() { string cnpj = "87.375.265/0001-52"; string cnpjSemMascara = CnpjHelper.RemoveMascara(cnpj); Assert.True(cnpjSemMascara.Length == 14); }
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); }
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); } }