private List <Redesim_ViabilidadeStuct> Read_Viabilidade(string _path) { int _linha = 1; Redesim_bll redesimRepository = new Redesim_bll(_connection); List <Redesim_ViabilidadeStuct> _listaViabilidade = new List <Redesim_ViabilidadeStuct>(); List <Redesim_viabilidade_analise> _listaAnalise = redesimRepository.Lista_Viabilidade_Analise(); StreamReader reader = new StreamReader(@_path, Encoding.Default); while (!reader.EndOfStream) { string line = reader.ReadLine(); char _delimeter = line.Contains(";") ? ';' : ','; if (!string.IsNullOrWhiteSpace(line)) { if (_linha > 1) { string[] values = line.Split(_delimeter); Redesim_ViabilidadeStuct _linhaReg; _linhaReg = new Redesim_ViabilidadeStuct() { Protocolo = values[0], Analise = values[1], Nire = values[2], Cnpj = values[3], EmpresaEstabelecida = values[4], Cnae = values[5].Split(','), AtividadeAuxiliar = values[6], DataProtocolo = values[7], DataResultadoAnalise = values[8], DataResultadoViabilidade = values[9], TempoAndamento = values[10], cdEvento = values[11].Split(','), Evento = values[12].Split(','), Cep = values[13], TipoInscricaoImovel = values[14], NumeroInscricaoImovel = values[15], TipoLogradouro = values[16], Logradouro = values[17], Numero = values[18], Bairro = values[19], Complemento = values[20], TipoUnidade = values[21], FormaAtuacao = values[22], Municipio = values[23], RazaoSocial = values[24], Orgao = values[25], AreaImovel = values[26], AreaEstabelecimento = values[27] }; //Analise int _codigo = 0; foreach (Redesim_viabilidade_analise item in _listaAnalise) { if (item.Nome == _linhaReg.Analise) { _codigo = item.Codigo; break; } } if (_codigo == 0) { _codigo = redesimRepository.Incluir_Viabilidade_Analise(_linhaReg.Analise); _listaAnalise.Add(new Redesim_viabilidade_analise() { Codigo = _codigo, Nome = _linhaReg.Analise }); } _linhaReg.AnaliseCodigo = _codigo; _listaViabilidade.Add(_linhaReg); } } _linha++; } return(_listaViabilidade); }