static Linha_OO ConverterStringParaObjetos(string linha) { try { // string[] campos = linha.Split(';'); // var desc_uf = campos[0]; var desc_cidade = campos[1]; var desc_bairro = campos[2]; var nr_cep = campos[3]; var desc_logradouro = campos[4]; // var estado = new Estado(desc_uf); var cidade = new Cidade(estado, desc_cidade); var bairro = new Bairro(cidade, desc_bairro); var logradouro = new Logradouro(bairro, desc_logradouro, nr_cep); // return(new Linha_OO(estado, cidade, bairro, logradouro)); } catch (Exception) { throw; } }
public Linha_OO(Estado estado, Cidade cidade, Bairro bairro, Logradouro logradouro) { Estado = estado; Cidade = cidade; Bairro = bairro; Logradouro = logradouro; }
private static void CarregaCEPBrasil() { var enderecoDoArquivo = "cep-20190602.csv"; List <Estado> lista_estado = new List <Estado>(); // Estado v_estado = null; Cidade v_cidade = null; Bairro v_bairro = null; Logradouro v_logradouro = null; // string linha = null; Linha_OO linha_OO = null; // using (var fluxoDeArquivo = new FileStream(enderecoDoArquivo, FileMode.Open)) using (var leitor = new StreamReader(fluxoDeArquivo)) { while (!leitor.EndOfStream) { // linha = leitor.ReadLine(); // try { linha_OO = ConverterStringParaObjetos(linha); } catch (Exception) { Console.WriteLine($"Erro na linha: {linha}"); continue; } // v_estado = lista_estado.Where(e => e.Equals(linha_OO.Estado)).FirstOrDefault(); // if (v_estado == null) { v_estado = new Estado(linha_OO.Estado.UF); lista_estado.Add(v_estado); } // v_cidade = v_estado.Cidades.Where(c => c.Equals(linha_OO.Cidade)).FirstOrDefault(); // if (v_cidade == null) { v_cidade = new Cidade(v_estado, linha_OO.Cidade.Nome); } // v_bairro = v_cidade.Bairros.Where(b => b.Equals(linha_OO.Bairro)).FirstOrDefault(); // if (v_bairro == null) { v_bairro = new Bairro(v_cidade, linha_OO.Bairro.Nome); } // v_logradouro = new Logradouro(v_bairro, linha_OO.Logradouro.Nome, linha_OO.Logradouro.CEP); // } } using (var c = new CEPBrasilContext()) { foreach (var estado in lista_estado) { c.Estados.Add(estado); // c.SaveChanges(); } } }