示例#1
0
        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);
        }