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); }