예제 #1
0
        private void AtualizePessoa(IPessoa pessoa, DataRow linha)
        {
            var temQAtualizar = false;

            if (pessoa.Enderecos ==null || pessoa.Enderecos.Count ==0)
            {
                var enderecos = MonteEndereco(linha);

                if (enderecos.Count != 0)
                    pessoa.AdicioneEnderecos(enderecos);

                temQAtualizar = true;
            }

            if (pessoa.Contatos() == null || pessoa.Contatos().Count == 0)
            {
                pessoa.AdicioneContatos(ObtenhaContatosDaPessoa(linha));
                temQAtualizar = true;
            }

            if (pessoa.Telefones == null || pessoa.Telefones.Count == 0)
            {
                pessoa.AdicioneTelefones(MonteTelefones(linha));
                temQAtualizar = true;
            }

            if (temQAtualizar)
                if (pessoa.Tipo == TipoDePessoa.Fisica)
                    using (var servico = FabricaGenerica.GetInstancia().CrieObjeto<IServicoDePessoaFisica>())
                        servico.Modificar((IPessoaFisica) pessoa);
                else
                    using (var servico = FabricaGenerica.GetInstancia().CrieObjeto<IServicoDePessoaJuridica>())
                        servico.Modificar((IPessoaJuridica)pessoa);
        }