public void Devo_Conseguir_Validar_Um_Cliente_Em_Alteracao_Se_Nao_For_Encontrado_Nenhum_CPF_Igual_Ao_Dele() { Cliente clienteEmAlteracao = ClienteStub.GetInstance(1, "LIONEL MESSI", DateTime.Now); clienteEmAlteracao.AdicionaDocumento(new CPF("12345678901234")); ValidadorCliente validador = new ValidadorCliente(null); validador.ValidarDuplicidadeCPFDeClienteEmAlteracao(clienteEmAlteracao); }
public void Nao_Devo_Conseguir_Validar_Um_Novo_Cliente_Com_CPF_Cadastrado_Para_Outro_Cliente() { Cliente novoCliente = ClienteStub.GetInstance(0, "LIONEL MESSI", DateTime.Now); novoCliente.AdicionaDocumento(new CPF("12345678901234")); Cliente clienteCadastradoNoBancoDeDados = this._clientePadrao; clienteCadastradoNoBancoDeDados.AdicionaDocumento(new CPF("12345678901234")); ValidadorCliente validador = new ValidadorCliente(clienteCadastradoNoBancoDeDados); validador.ValidarDuplicidadeCPFDeNovoCliente(novoCliente); }
public void Nao_Devo_Conseguir_Validar_Um_Cliente_Em_Alteracao_Com_CPF_Cadastrado_Para_Outro_Cliente() { Cliente clienteEmAlteracao = ClienteStub.GetInstance(1, "LIONEL MESSI", DateTime.Now); clienteEmAlteracao.AdicionaDocumento(new CPF("12345678901234")); Cliente clienteCadastradoNoBancoDeDados = ClienteStub.GetInstance(2, "LIONEL MESSI", DateTime.Now); clienteCadastradoNoBancoDeDados.AdicionaDocumento(new CPF("12345678901234")); ValidadorCliente validador = new ValidadorCliente(clienteCadastradoNoBancoDeDados); validador.ValidarDuplicidadeCPFDeClienteEmAlteracao(clienteEmAlteracao); }
public void Nao_Devo_Conseguir_Validar_Sem_Nenhum_Endereco() { this._clientePadrao.AdicionaDocumento(new CPF("12345678901234")); this._clientePadrao.AdicionaTelefone(this._telefonePadrao); ValidadorCliente validador = new ValidadorCliente(null); try { validador.ValidarCamposObrigatorios(this._clientePadrao); } catch (ExcecaoNenhumEnderecoInformado) { this._clientePadrao.AdicionaEndereco(this._enderecoPadrao); this._clientePadrao.RemoveEndereco(this._enderecoPadrao); validador.ValidarCamposObrigatorios(this._clientePadrao); } }
public void Nao_Devo_Conseguir_Validar_Sem_Nenhum_CPF_Adicionado() { this._clientePadrao.AdicionaTelefone(this._telefonePadrao); this._clientePadrao.AdicionaEndereco(this._enderecoPadrao); ValidadorCliente validador = new ValidadorCliente(null); try { // Primeiro testo se não há nenhum cpf com a coleção nula validador.ValidarCamposObrigatorios(this._clientePadrao); } catch (ExcecaoCPFNaoInformado) { // Depois testo com a coleção instânciada this._clientePadrao.AdicionaDocumento(new RG("89457968")); validador.ValidarCamposObrigatorios(this._clientePadrao); } }
public Boolean Gravar(DTOPessoa dtoClienteQueVaiSerPersistido) { if (dtoClienteQueVaiSerPersistido == null) { return(false); } Pessoa pessoa = this._repositorio.Obter(dtoClienteQueVaiSerPersistido.ID); if (pessoa == null) { pessoa = new Cliente(dtoClienteQueVaiSerPersistido.Nome, dtoClienteQueVaiSerPersistido.DtNascimento); } else { pessoa.Nome = dtoClienteQueVaiSerPersistido.Nome; pessoa.DtNascimento = dtoClienteQueVaiSerPersistido.DtNascimento; } pessoa.LimparColecoes(); foreach (DTODocumento dto in dtoClienteQueVaiSerPersistido.Documentos) { pessoa.AdicionaDocumento(dto.ConverteDTOParaDocumento()); } foreach (DTOTelefone dto in dtoClienteQueVaiSerPersistido.Telefones) { pessoa.AdicionaTelefone(dto.ConverteDTOParaTelefone()); } foreach (DTOEndereco dto in dtoClienteQueVaiSerPersistido.Enderecos) { pessoa.AdicionaEndereco(dto.ConverteDTOParaEndereco(x => this._repositorioCidade.Obter(x.ID))); } DTODocumento dtoDocumento = dtoClienteQueVaiSerPersistido.Documentos.SingleOrDefault(d => (d.TipoDocumento.Equals(TipoDocumento.CPF))); CPF cpf; try { cpf = dtoDocumento.ValorDocumento; } catch (NullReferenceException) { cpf = null; } Pessoa pessoaComOMesmoCPF = this._repositorio.ObterPorDocumento(cpf); Cliente clienteEncontradoNoBD; try { if (pessoaComOMesmoCPF != null) { clienteEncontradoNoBD = (Cliente)pessoaComOMesmoCPF; } else { clienteEncontradoNoBD = null; } } catch (InvalidCastException) { clienteEncontradoNoBD = null; } // Efetuando as validações ValidadorCliente validador = new ValidadorCliente(clienteEncontradoNoBD); Cliente clienteQueVaiSerPersistido = (Cliente)pessoa; validador.ValidarCamposObrigatorios(clienteQueVaiSerPersistido); if (dtoClienteQueVaiSerPersistido.IsNovo()) { validador.ValidarDuplicidadeCPFDeNovoCliente(clienteQueVaiSerPersistido); } else { validador.ValidarDuplicidadeCPFDeClienteEmAlteracao(clienteQueVaiSerPersistido); } this._repositorio.Salvar(pessoa); dtoClienteQueVaiSerPersistido.ID = pessoa.Id;; return(true); }