private void MontaPessoa(DataRow linha, ref IPessoa pessoa) { if (!Information.IsDBNull(linha["desricaogrupoatividade"])) if (!grupoDeAtividadeDoContato.ContainsKey(UtilidadesDePersistencia.GetValor(linha, "IDCONTATO"))) grupoDeAtividadeDoContato.Add(UtilidadesDePersistencia.GetValor(linha, "IDCONTATO"), UtilidadesDePersistencia.GetValor(linha, "desricaogrupoatividade")); pessoa.Nome = UtilidadesDePersistencia.GetValor(linha, "NOME_CONTATO").Trim(); if (!Information.IsDBNull(linha["EMAIL"])) { if(pessoa.EnderecosDeEmails == null) pessoa.EnderecosDeEmails = new List<EnderecoDeEmail>(); pessoa.EnderecosDeEmails.Add(UtilidadesDePersistencia.GetValor(linha, "EMAIL").Trim()); } if (!Information.IsDBNull(linha["DOMINIO"])) pessoa.Site = UtilidadesDePersistencia.GetValor(linha, "DOMINIO").Trim(); if (!Information.IsDBNull(linha["LOGRADOURO"])) { var endereco = FabricaGenerica.GetInstancia().CrieObjeto<IEndereco>(); endereco.Logradouro = UtilidadesDePersistencia.GetValor(linha, "LOGRADOURO").Trim(); if (!Information.IsDBNull(linha["BAIRRO"])) endereco.Bairro = UtilidadesDePersistencia.GetValor(linha, "BAIRRO").Trim(); var complemento = ""; var numero = "S/N"; if (!Information.IsDBNull(linha["COMPLEMENTO"])) complemento = UtilidadesDePersistencia.GetValor(linha, "COMPLEMENTO").Trim(); if (!Information.IsDBNull(linha["NUMERO"])) numero = "NÚMERO " + UtilidadesDePersistencia.GetValor(linha, "NUMERO").Trim(); endereco.Complemento = (complemento + " " + numero).Trim(); if (!Information.IsDBNull(linha["CEP"])) endereco.CEP = new CEP(UtilidadesDePersistencia.GetValorLong(linha, "CEP")); if (!Information.IsDBNull(linha["CIDADE"])) endereco.Municipio = DescubraMunicipio(UtilidadesDePersistencia.GetValor(linha, "CIDADE"), UtilidadesDePersistencia.GetValor(linha, "SG_ESTADO")); if (!Information.IsDBNull(linha["descricaotipoendereco"])) endereco.TipoDeEndereco = DescubraTipoDeEndereco(UtilidadesDePersistencia.GetValor(linha, "descricaotipoendereco")); else endereco.TipoDeEndereco = DescubraTipoDeEndereco("PADRÃO"); pessoa.AdicioneEndereco(endereco); } if (!Information.IsDBNull(linha["num_telefone"])) { var telefone = FabricaGenerica.GetInstancia().CrieObjeto<ITelefone>(); var numero = ObtenhaApenasNumeros(UtilidadesDePersistencia.GetValor(linha, "num_telefone")); short DDD = 0; long Numero; if (numero.Length == 10) { DDD = Convert.ToInt16((Strings.Mid(numero, 1, 2))); Numero = Convert.ToInt64((Strings.Mid(numero, 3))); } else { Numero = Convert.ToInt64(numero); } telefone.DDD = DDD; telefone.Numero = Numero; if (Numero.ToString().StartsWith("9")) telefone.Tipo = TipoDeTelefone.Celular; else telefone.Tipo = TipoDeTelefone.Comercial; pessoa.AdicioneTelefone(telefone); } }