public void AdicionarDocumento(DTODocumento dtoDocumento) { if (this._documentos == null) this._documentos = new List<DTODocumento>(); this._documentos.Add(dtoDocumento); }
public void AdicionarDocumento(DTODocumento dtoDocumento) { if (this._documentos == null) { this._documentos = new List <DTODocumento>(); } this._documentos.Add(dtoDocumento); }
protected DTOPessoa ConverteEntidadeParaDTO(Pessoa entidade) { DTOPessoa dto = null; if (entidade != null) { dto = new DTOPessoa(); dto.ID = entidade.Id; dto.DtNascimento = entidade.DtNascimento; dto.Nome = entidade.Nome; dto.Status = entidade.Status; foreach (Documento doc in entidade.Documentos) { DTODocumento dtoDoc = new DTODocumento(); dtoDoc.ValorDocumento = doc.ToStringFormatado(); dtoDoc.TipoDocumento = doc.TipoDocumento; dto.AdicionarDocumento(dtoDoc); } foreach (Telefone tel in entidade.Telefones) { DTOTelefone dtoTel = new DTOTelefone(); dtoTel.Telefone = tel.ToStringFormatado(); dtoTel.Tipo = tel.Tipo; dto.AdicionarTelefone(dtoTel); } foreach (Endereco end in entidade.Enderecos) { DTOEndereco dtoEnd = new DTOEndereco(); dtoEnd.Logradouro = end.Logradouro; dtoEnd.Numero = end.Numero; dtoEnd.TipoEndereco = end.TipoEndereco; dtoEnd.Cep = end.Cep; DTOCidade dtoCidade = _fachadaCidade.Obter(end.Cidade.Id); dtoEnd.Cidade = dtoCidade; dto.AdicionarEndereco(dtoEnd); } } return(dto); }
protected DTOPessoa ConverteEntidadeParaDTO(Pessoa entidade) { DTOPessoa dto = null; if (entidade != null) { dto = new DTOPessoa(); dto.ID = entidade.Id; dto.DtNascimento = entidade.DtNascimento; dto.Nome = entidade.Nome; dto.Status = entidade.Status; foreach (Documento doc in entidade.Documentos) { DTODocumento dtoDoc = new DTODocumento(); dtoDoc.ValorDocumento = doc.ToStringFormatado(); dtoDoc.TipoDocumento = doc.TipoDocumento; dto.AdicionarDocumento(dtoDoc); } foreach (Telefone tel in entidade.Telefones) { DTOTelefone dtoTel = new DTOTelefone(); dtoTel.Telefone = tel.ToStringFormatado(); dtoTel.Tipo = tel.Tipo; dto.AdicionarTelefone(dtoTel); } foreach (Endereco end in entidade.Enderecos) { DTOEndereco dtoEnd = new DTOEndereco(); dtoEnd.Logradouro = end.Logradouro; dtoEnd.Numero = end.Numero; dtoEnd.TipoEndereco = end.TipoEndereco; dtoEnd.Cep = end.Cep; DTOCidade dtoCidade = _fachadaCidade.Obter(end.Cidade.Id); dtoEnd.Cidade = dtoCidade; dto.AdicionarEndereco(dtoEnd); } } return dto; }
public Boolean Gravar(DTOPessoa dtoEmpresaQueVaiSerPersistida) { if (dtoEmpresaQueVaiSerPersistida == null) { return(false); } Pessoa pessoa = this._repositorio.Obter(dtoEmpresaQueVaiSerPersistida.ID); if (pessoa == null) { pessoa = new Empresa(dtoEmpresaQueVaiSerPersistida.Nome, dtoEmpresaQueVaiSerPersistida.DtNascimento); } else { pessoa.Nome = dtoEmpresaQueVaiSerPersistida.Nome; pessoa.DtNascimento = dtoEmpresaQueVaiSerPersistida.DtNascimento; } pessoa.LimparColecoes(); foreach (DTODocumento dto in dtoEmpresaQueVaiSerPersistida.Documentos) { pessoa.AdicionaDocumento(dto.ConverteDTOParaDocumento()); } foreach (DTOTelefone dto in dtoEmpresaQueVaiSerPersistida.Telefones) { pessoa.AdicionaTelefone(dto.ConverteDTOParaTelefone()); } foreach (DTOEndereco dto in dtoEmpresaQueVaiSerPersistida.Enderecos) { pessoa.AdicionaEndereco(dto.ConverteDTOParaEndereco(x => this._repositorioCidade.Obter(x.ID))); } DTODocumento dtoDocumento = dtoEmpresaQueVaiSerPersistida.Documentos.SingleOrDefault(d => (d.TipoDocumento.Equals(TipoDocumento.CNPJ))); CNPJ cnpj; try { cnpj = dtoDocumento.ValorDocumento; } catch (NullReferenceException) { cnpj = null; } Pessoa pessoaComOMesmoCNPJ = this._repositorio.ObterPorDocumento(cnpj); Empresa empresaEncontradaNoBD; if (pessoaComOMesmoCNPJ != null) { empresaEncontradaNoBD = (Empresa)pessoaComOMesmoCNPJ; } else { empresaEncontradaNoBD = null; } // Efetuando as validações ValidadorEmpresa validador = new ValidadorEmpresa(empresaEncontradaNoBD); Empresa empresaQueVaiSerPersistida = (Empresa)pessoa; validador.ValidarCamposObrigatorios(empresaQueVaiSerPersistida); if (dtoEmpresaQueVaiSerPersistida.IsNovo()) { validador.ValidarDuplicidadeCNPJDeNovaEmpresa(empresaQueVaiSerPersistida); } else { validador.ValidarDuplicidadeCNPJDeEmpresaEmAlteracao(empresaQueVaiSerPersistida); } this._repositorio.Salvar(pessoa); dtoEmpresaQueVaiSerPersistida.ID = pessoa.Id;; return(true); }
public void Gravar() { DTOPessoa dto = new DTOPessoa(); dto.ID = this._visao.GetID(); dto.Nome = this._visao.GetNome(); dto.DtNascimento = this._visao.GetDtFundacao(); IList <String> TiposInválidos = new List <String>(); for (int i = 0; i < this._visao.GetTotalDeDocumentosDoGrid(); i++) { DTODocumento dtoDoc = new DTODocumento(); dtoDoc.ValorDocumento = this._visao.GetValorDocumentoDoGrid(i); try { dtoDoc.TipoDocumento = NomeTipoDocumento.ObtemTipo(this._visao.GetTipoDocumentoDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o Documento número " + (i + 1).ToString()); } dto.AdicionarDocumento(dtoDoc); } for (int i = 0; i < this._visao.GetTotalDeEnderecosDoGrid(); i++) { DTOEndereco dtoEnd = new DTOEndereco(); dtoEnd.Logradouro = this._visao.GetLogradouroDoGrid(i); dtoEnd.Numero = this._visao.GetNumeroDoGrid(i); dtoEnd.Cep = this._visao.GetCEPDoGrid(i); dtoEnd.Cidade.ID = this._visao.GetIDCidadeDoGrid(i); dtoEnd.Cidade.Nome = this._visao.GetCidadeDoGrid(i); try { dtoEnd.TipoEndereco = NomeTipoEndereco.ObtemTipo(this._visao.GetTipoEnderecoDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o endereço " + (i + 1).ToString()); } dto.AdicionarEndereco(dtoEnd); } for (int i = 0; i < this._visao.GetTotalDeTelefonesDoGrid(); i++) { DTOTelefone dtoTel = new DTOTelefone(); dtoTel.Telefone = this._visao.GetTelefoneDoGrid(i); try { dtoTel.Tipo = NomeTipoTelefone.ObtemTipo(this._visao.GetTipoTelefoneDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o telefone " + (i + 1).ToString()); } dto.AdicionarTelefone(dtoTel); } if (TiposInválidos.Count.CompareTo(0) != 0) { string ErrosTiposInvalidos = string.Join("\n", TiposInválidos.ToArray()); this._visaoPadrao.ExibirErro(ErrosTiposInvalidos); return; } try { if (this._fachada.Gravar(dto)) { this._visaoPadrao.Avisar("Empresa gravada com sucesso!"); this._visao.VoltarParaTelaAnterior(); } } #region Exceções geradas pela classe Pessoa #region ExcecaoParametroInvalido catch (ExcecaoParametroInvalido ex) { // Pessoa if (ex.Message.Contains("Pessoa")) { if (ex.Message.Contains("Nome")) { this._visaoPadrao.ExibirErro("Informe uma razão social válida!", "edtRazaoSocial"); this._visao.MandarFocoNoNome(); } else if (ex.Message.Contains("DtAniversario")) { this._visaoPadrao.ExibirErro("Informe uma data de fundação válida", "edtDtFundacao"); this._visao.MandarFocoNaDtFundacao(); } } // Endereço else if (ex.Message.Contains("Endereco")) { if (ex.Message.Contains("Logradouro")) { this._visaoPadrao.ExibirErro("Informe o logradouro para todos os endereços"); } else if (ex.Message.Contains("Numero")) { this._visaoPadrao.ExibirErro("Informe o número para todos os endereços"); } else if (ex.Message.Contains("Cep")) { this._visaoPadrao.ExibirErro("Informe o CEP para todos os endereços!"); } else if (ex.Message.Contains("Cidade")) { this._visaoPadrao.ExibirErro("Informe a cidade para todos os endereços!"); } } // Telefone else if (ex.Message.Contains("Telefone")) { this._visaoPadrao.ExibirErro("Informe ao menos um telefone válido (xx)xxxx-xxxx para todos os tipos de telefone adicionados!"); } } #endregion #region ExcecaoDocumentoNaoPermitido catch (ExcecaoDocumentoNaoPermitido ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoTelefoneNaoPermitido catch (ExcecaoTelefoneNaoPermitido ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoEnderecoNaoPermitido catch (ExcecaoEnderecoNaoPermitido ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoParametroRepetido catch (ExcecaoParametroRepetido ex) { if (ex.Message.Contains("Documento")) { this._visaoPadrao.ExibirErro("Não é possível cadastrar documentos iguais. Verifique!"); } if (ex.Message.Contains("Telefone")) { this._visaoPadrao.ExibirErro("Não é possível cadastrar telefones iguais. Verifique!"); } else if (ex.Message.Contains("Endereco")) { this._visaoPadrao.ExibirErro("Não é possível cadastrar endereços iguais. Verifique!"); } } #endregion #region ExcecaoTipoDocumentoDuplicado catch (ExcecaoTipoDocumentoDuplicado ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #endregion #region Exceções geradas pela class ValidadorEmpresa #region ExcecaoCNPJJaCadastrado catch (ExcecaoCNPJJaCadastrado ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoCNPJNaoInformado catch (ExcecaoCNPJNaoInformado ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoNenhumTelefoneInformado catch (ExcecaoNenhumTelefoneInformado ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #region ExcecaoEnderecoComercialNaoInformado catch (ExcecaoEnderecoComercialNaoInformado ex) { this._visaoPadrao.ExibirErro(ex.Message); } #endregion #endregion }
protected override DTOPessoa GetDTOQueVaiSerPersistido() { DTOPessoa dto = new DTOPessoa(); dto.ID = this._visao.GetID(); dto.Nome = this._visao.GetNome(); dto.DtNascimento = this._visao.GetDtNascimento(); if (base._visaoCadastroPadrao.GetBloqueado()) { dto.Status = TipoStatus.Bloqueado; } else { dto.Status = TipoStatus.Normal; } IList <String> TiposInválidos = new List <String>(); for (int i = 0; i < this._visao.GetTotalDeDocumentosDoGrid(); i++) { DTODocumento dtoDoc = new DTODocumento(); dtoDoc.ValorDocumento = this._visao.GetValorDocumentoDoGrid(i); try { dtoDoc.TipoDocumento = NomeTipoDocumento.ObtemTipo(this._visao.GetTipoDocumentoDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o Documento número " + (i + 1).ToString()); } dto.AdicionarDocumento(dtoDoc); } for (int i = 0; i < this._visao.GetTotalDeEnderecosDoGrid(); i++) { DTOEndereco dtoEnd = new DTOEndereco(); dtoEnd.Logradouro = this._visao.GetLogradouroDoGrid(i); dtoEnd.Numero = this._visao.GetNumeroDoGrid(i); dtoEnd.Cep = this._visao.GetCEPDoGrid(i); dtoEnd.Cidade.ID = this._visao.GetIDCidadeDoGrid(i); dtoEnd.Cidade.Nome = this._visao.GetCidadeDoGrid(i); try { dtoEnd.TipoEndereco = NomeTipoEndereco.ObtemTipo(this._visao.GetTipoEnderecoDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o endereço " + (i + 1).ToString()); } dto.AdicionarEndereco(dtoEnd); } for (int i = 0; i < this._visao.GetTotalDeTelefonesDoGrid(); i++) { DTOTelefone dtoTel = new DTOTelefone(); dtoTel.Telefone = this._visao.GetTelefoneDoGrid(i); try { dtoTel.Tipo = NomeTipoTelefone.ObtemTipo(this._visao.GetTipoTelefoneDoGrid(i)); } catch (ExcecaoParametroInvalido) { TiposInválidos.Add("Informe um tipo válido para o telefone " + (i + 1).ToString()); } dto.AdicionarTelefone(dtoTel); } if (TiposInválidos.Count.CompareTo(0) != 0) { string ErrosTiposInvalidos = string.Join("\n", TiposInválidos.ToArray()); this._visaoPadrao.ExibirErro(ErrosTiposInvalidos); return(null); } return(dto); }
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); }