public Boolean AlterarStatus(DTOPessoa dtoSelecionado) { Pessoa cliente = this._repositorio.Obter(dtoSelecionado.ID); cliente.AlteraStatus(); return true; }
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 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; }
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; }