Beispiel #1
0
        private List <Redesim_RegistroStruct> Insert_Registro(List <Redesim_RegistroStruct> _listaRegistro, string _guid)
        {
            Redesim_bll redesimRepository = new Redesim_bll(_connection);
            Empresa_bll empresaRepository = new Empresa_bll(_connection);
            int         _pos = 0;

            foreach (Redesim_RegistroStruct item in _listaRegistro)
            {
                bool             _existe = redesimRepository.Existe_Registro(item.Protocolo);
                Redesim_Registro reg     = new Redesim_Registro()
                {
                    Protocolo         = item.Protocolo,
                    Arquivo           = _guid,
                    Cnpj              = item.Cnpj.Contains("E") ? "" : item.Cnpj,
                    Razao_Social      = item.NomeEmpresarial.ToUpper(),
                    Cep               = Convert.ToInt32(item.Cep),
                    Complemento       = Functions.TrimEx(item.Complementos),
                    MatrizFilial      = item.MatrizFilial,
                    Natureza_Juridica = item.NaturezaJuridicaCodigo,
                    Porte_Empresa     = item.PorteEmpresaCodigo,
                    Cnae_Principal    = item.CnaePrincipal
                };
                if (!_existe)
                {
                    string _num = Functions.RetornaNumero(item.Numero);
                    if (_num == "")
                    {
                        reg.Numero = 0;
                    }
                    else
                    {
                        reg.Numero = Convert.ToInt32(_num);
                    }
                    Exception ex = redesimRepository.Incluir_Registro(reg);
                }
                _listaRegistro[_pos].Duplicado = _existe;
                _listaRegistro[_pos].Arquivo   = _guid;

                //Master
                _existe = redesimRepository.Existe_Master(item.Protocolo);
                if (_existe)
                {
                    if (item.Cnpj.Length == 14)
                    {
                        int _inscricao = empresaRepository.ExisteEmpresaCnpj(item.Cnpj);
                        if (_inscricao > 0)
                        {
                            reg.Inscricao = _inscricao;
                        }
                    }
                    Exception ex = redesimRepository.Atualizar_Master_Registro(reg);
                }


                _pos++;
            }
            return(_listaRegistro);
        }
Beispiel #2
0
        private List <Redesim_licenciamentoStruct> Read_Licenciamento(string _path)
        {
            int         _linha            = 1;
            Redesim_bll redesimRepository = new Redesim_bll(_connection);
            List <Redesim_licenciamentoStruct> _listaLic = new List <Redesim_licenciamentoStruct>();
            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_licenciamentoStruct _linhaReg;
                        _linhaReg = new Redesim_licenciamentoStruct()
                        {
                            Protocolo           = values[0],
                            IdSolicitacao       = values[1],
                            SituacaoSolicitacao = values[2],
                            Orgao                      = values[3],
                            DataSolicitacao            = values[4],
                            IdLicenca                  = values[5],
                            ProtocoloOrgao             = values[6],
                            NumeroLicenca              = values[7],
                            DetalheLicenca             = values[8],
                            OrgaoLicenca               = values[9],
                            Risco                      = values[10],
                            SituacaoLicenca            = values[11],
                            DataEmissao                = values[12],
                            DataValidade               = values[13],
                            DataProtocolo              = values[14],
                            Cnpj                       = values[15],
                            RazaoSocial                = values[16],
                            TipoLogradouro             = values[17],
                            Logradouro                 = values[18],
                            Numero                     = values[19],
                            Bairro                     = values[20],
                            Municipio                  = values[21],
                            Complemento                = values[22],
                            Cep                        = values[23],
                            TipoInscricao              = values[24],
                            NumeroInscricao            = values[25],
                            PorteEmpresaMei            = values[26],
                            EmpresaTeraEstabelecimento = values[27],
                            Cnae                       = values[28].Split(','),
                            AtividadesAuxiliares       = values[29].Split(',')
                        };

                        _listaLic.Add(_linhaReg);
                    }
                }
                _linha++;
            }
            return(_listaLic);
        }
Beispiel #3
0
        private List <Redesim_licenciamentoStruct> Insert_Licenciamento(List <Redesim_licenciamentoStruct> _listaLicenciamento, string _guid)
        {
            Redesim_bll  redesimRepository  = new Redesim_bll(_connection);
            Endereco_bll enderecoRepository = new Endereco_bll(_connection);
            Empresa_bll  empresaRepository  = new Empresa_bll(_connection);
            Imovel_bll   imovelRepository   = new Imovel_bll(_connection);
            int          _pos = 0;

            foreach (Redesim_licenciamentoStruct item in _listaLicenciamento)
            {
                bool _existe = redesimRepository.Existe_Licenciamento(item.Protocolo, Convert.ToDateTime(item.DataSolicitacao));
                if (!_existe)
                {
                    string _cnae_principal = "";
                    int    _size           = item.Cnae.Length;
                    if (_size > 0)
                    {
                        string[] _listaCnae = new string[_size];
                        int      _indexCnae = 0;

                        foreach (string ev in item.Cnae)
                        {
                            if (_indexCnae == 0)
                            {
                                _cnae_principal = ev;
                            }
                            else
                            {
                                if (ev.Length == 7)
                                {
                                    _listaCnae[_indexCnae] = ev;
                                }
                            }
                            _indexCnae++;
                        }
                        redesimRepository.Incluir_Cnae(item.Protocolo, _listaCnae);
                    }

                    Redesim_licenciamento reg = new Redesim_licenciamento()
                    {
                        Arquivo              = _guid,
                        Protocolo            = item.Protocolo,
                        Data_Solicitacao     = Convert.ToDateTime(item.DataSolicitacao),
                        Situacao_Solicitacao = Convert.ToInt32(item.SituacaoSolicitacao),
                        Data_Validade        = Functions.IsDate(item.DataValidade) ? Convert.ToDateTime(item.DataValidade) : DateTime.MinValue,
                        Mei            = item.PorteEmpresaMei == "Não" ? false : true,
                        Cnpj           = item.Cnpj.Contains("E") ? "" : item.Cnpj,
                        Razao_Social   = item.RazaoSocial.ToUpper(),
                        Cep            = item.Cep == ""?0 : Convert.ToInt32(item.Cep),
                        Complemento    = Functions.TrimEx(item.Complemento),
                        Cnae_Principal = _cnae_principal
                    };
                    Exception ex = redesimRepository.Incluir_Licenciamento(reg);
                }
                _listaLicenciamento[_pos].Duplicado = _existe;
                _listaLicenciamento[_pos].Arquivo   = _guid;

                //Master
                _existe = redesimRepository.Existe_Master(item.Protocolo);
                if (!_existe)
                {
                    Redesim_master _master = new Redesim_master()
                    {
                        Protocolo      = item.Protocolo,
                        Data_licenca   = Convert.ToDateTime(item.DataSolicitacao),
                        Cnpj           = item.Cnpj.Contains("E")?"":item.Cnpj,
                        Razao_Social   = item.RazaoSocial.ToUpper(),
                        Cep            = item.Cep,
                        Complemento    = Functions.TrimEx(item.Complemento),
                        Cnae_Principal = item.Cnae[0],
                        Data_Validade  = Functions.IsDate(item.DataValidade) ? Convert.ToDateTime(item.DataValidade) : DateTime.MinValue,
                    };
                    string _num = Functions.RetornaNumero(item.Numero);
                    if (_num == "")
                    {
                        _master.Numero = 0;
                    }
                    else
                    {
                        _master.Numero = Convert.ToInt32(_num);
                    }

                    item.Cep = item.Cep == "" ? "0" : item.Cep;
                    LogradouroStruct _log = enderecoRepository.Retorna_Logradouro_Cep(Convert.ToInt32(item.Cep));
                    int _logradouro       = 0;
                    if (_log != null && _log.CodLogradouro != null)
                    {
                        _logradouro = (int)_log.CodLogradouro;
                    }
                    _master.Logradouro = _logradouro;

                    if (_master.Cnpj != "")
                    {
                        int _inscricao = empresaRepository.ExisteEmpresaCnpj(_master.Cnpj);
                        if (_inscricao > 0)
                        {
                            _master.Inscricao = _inscricao;
                            _master.Situacao  = "Cadastrada";
                        }
                    }
                    _master.Numero_Imovel = imovelRepository.Retorna_Codigo_Endereco(_master.Logradouro, _master.Numero);
                    Exception ex = redesimRepository.Incluir_Master(_master);
                }

                _existe = redesimRepository.Existe_Registro(item.Protocolo);
                if (_existe)
                {
                    Redesim_Registro _registro = redesimRepository.Retorna_Registro(item.Protocolo);
                    Exception        ex        = redesimRepository.Atualizar_Master_Registro(_registro);
                }

                _existe = redesimRepository.Existe_Viabilidade(item.Protocolo);
                if (_existe)
                {
                    Redesim_Viabilidade _via = redesimRepository.Retorna_Viabilidade(item.Protocolo);
                    Exception           ex   = redesimRepository.Atualizar_Master_Viabilidade(_via);
                }

                _pos++;
            }
            return(_listaLicenciamento);
        }
Beispiel #4
0
        private List <Redesim_ViabilidadeStuct> Insert_Viabilidade(List <Redesim_ViabilidadeStuct> _listaViabilidade, string _guid)
        {
            Redesim_bll redesimRepository = new Redesim_bll(_connection);
            Empresa_bll empresaRepository = new Empresa_bll(_connection);
            int         _pos = 0;

            foreach (Redesim_ViabilidadeStuct item in _listaViabilidade)
            {
                Redesim_Viabilidade reg = new Redesim_Viabilidade()
                {
                    Arquivo             = _guid,
                    Protocolo           = item.Protocolo,
                    Analise             = item.AnaliseCodigo,
                    Nire                = item.Nire.Trim(),
                    EmpresaEstabelecida = item.EmpresaEstabelecida == "Sim" ? true : false,
                    DataProtocolo       = Convert.ToDateTime(item.DataProtocolo),
                    AreaImovel          = Convert.ToDecimal(item.AreaImovel),
                    AreaEstabelecimento = Convert.ToDecimal(item.AreaEstabelecimento),
                    Cnpj                = item.Cnpj.Contains("E") ? "" : item.Cnpj
                };
                bool _existe = redesimRepository.Existe_Viabilidade(item.Protocolo);
                if (!_existe)
                {
                    string _num = Functions.RetornaNumero(item.NumeroInscricaoImovel);
                    if (_num == "" || item.TipoInscricaoImovel.Trim() != "Número IPTU")
                    {
                        reg.NumeroInscricaoImovel = 0;
                    }
                    else
                    {
                        try {
                            reg.NumeroInscricaoImovel = Convert.ToInt32(_num);
                        } catch  {
                            reg.NumeroInscricaoImovel = 0;
                        }
                    }

                    Exception ex = redesimRepository.Incluir_Viabilidade(reg);
                }
                _listaViabilidade[_pos].Duplicado = _existe;
                _listaViabilidade[_pos].Arquivo   = _guid;

                //Master
                _existe = redesimRepository.Existe_Master(item.Protocolo);
                if (_existe)
                {
                    if (item.Cnpj.Length == 14)
                    {
                        int _inscricao = empresaRepository.ExisteEmpresaCnpj(item.Cnpj);
                        if (_inscricao > 0)
                        {
                            reg.Inscricao = _inscricao;
                        }
                    }
                    Exception ex = redesimRepository.Atualizar_Master_Viabilidade(reg);
                }

                _pos++;
            }
            return(_listaViabilidade);
        }
Beispiel #5
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);
        }
Beispiel #6
0
        public ActionResult UploadFiles(RedesimImportViewModel model)
        {
            List <RedesimImportFilesViewModel> Lista_Files = new List <RedesimImportFilesViewModel>();
            int    _id = 0;
            string _msg = "", _tipo = "", _guid = "", _tipoSigla = "";
            bool   _ok      = false;
            var    fileName = "";

            if (model.ListaArquivo == null)
            {
                model.ListaArquivo = new List <RedesimImportFilesViewModel>();
            }

            Redesim_bll redesimRepository = new Redesim_bll(_connection);


            foreach (var file in model.Files)
            {
                List <Redesim_RegistroStruct>      _listaRegistro      = new List <Redesim_RegistroStruct>();
                List <Redesim_ViabilidadeStuct>    _listaViabilidade   = new List <Redesim_ViabilidadeStuct>();
                List <Redesim_licenciamentoStruct> _listaLicenciamento = new List <Redesim_licenciamentoStruct>();
                if (file == null)
                {
                    goto Fim;
                }
                fileName = Path.GetFileName(file.FileName);
                if (file.ContentLength > 0)
                {
                    if (file.ContentType == "application/vnd.ms-excel" || file.ContentType == "text/csv")
                    {
                        _guid = Guid.NewGuid().ToString("N");
                        string _path = "~/Files/Redesim/";
                        var    path  = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(_path), _guid);
                        file.SaveAs(path);

                        //###Verifica tipo de arquivo####
                        bool         _bRegistro = false, _bViabilidade = false, _bLicenciamento = false;
                        StreamReader reader     = new StreamReader(@path, Encoding.Default);
                        string       line       = reader.ReadLine();
                        char         _delimeter = line.Contains(";")?';':',';

                        if (!string.IsNullOrWhiteSpace(line))
                        {
                            string[] values = line.Split(_delimeter);
                            if (values[0].ToString().ToUpper() == "PROTOCOLO" && values[1].ToString().ToUpper() == "CNPJ")
                            {
                                _tipo      = "Registro";
                                _bRegistro = true;
                            }
                            else
                            {
                                if (values[0].ToString().ToUpper() == "PROTOCOLO" && values[1].ToString().ToUpper() == "ANALISE")
                                {
                                    _tipo         = "Viabilidade";
                                    _bViabilidade = true;
                                }
                                else
                                {
                                    if (values[0].ToString().ToUpper() == "PROTOCOLOLICENCA" && values[1].ToString().ToUpper() == "IDSOLICITACAO")
                                    {
                                        _tipo           = "Licenciamento";
                                        _bLicenciamento = true;
                                    }
                                }
                            }
                        }
                        reader.Close();
                        if (!_bRegistro && !_bViabilidade && !_bLicenciamento)
                        {
                            _ok  = false;
                            _msg = "Arquivo inválido";
                            goto ProximoArquivo;
                        }
                        _listaRegistro.Clear();
                        _listaViabilidade.Clear();
                        //Lê Registro
                        if (_bRegistro)
                        {
                            _listaRegistro = Read_Registro(path);
                            _listaRegistro = Insert_Registro(_listaRegistro, _guid);
                            _ok            = true;
                            _tipoSigla     = "R";
                        }

                        //Lê Viabilidade
                        if (_bViabilidade)
                        {
                            _listaViabilidade = Read_Viabilidade(path);
                            _listaViabilidade = Insert_Viabilidade(_listaViabilidade, _guid);
                            _ok        = true;
                            _tipoSigla = "V";
                        }

                        //Lê Licenciamento
                        if (_bLicenciamento)
                        {
                            _listaLicenciamento = Read_Licenciamento(path);
                            _listaLicenciamento = Insert_Licenciamento(_listaLicenciamento, _guid);
                            _ok        = true;
                            _tipoSigla = "L";
                        }


                        if (_ok)
                        {
                            Redesim_arquivo reg = new Redesim_arquivo()
                            {
                                Guid = _guid,
                                Tipo = _tipoSigla
                            };
                            Exception ex = redesimRepository.Incluir_Arquivo(reg);
                            _msg = "Arquivo importado";
                        }
                        //#####FIM ARQUIVO DE REGISTRO  #######
                    }
                    else if (file.ContentType == "text/xml")
                    {
                        _guid = Guid.NewGuid().ToString("N");
                        string _path = "~/Files/Redesim";
                        var    path  = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(_path), _guid);
                        file.SaveAs(path);
                        _tipo = Read_Xml(Path.Combine(_path, _guid));
                        if (_tipo == "L")
                        {
                            _listaLicenciamento = Read_Licenciamento_Xml(Path.Combine(_path, _guid));
                            _listaLicenciamento = Insert_Licenciamento(_listaLicenciamento, _guid);
                            _ok        = true;
                            _tipoSigla = "L";
                        }
                        else if (_tipo == "R")
                        {
                            _listaRegistro = Read_Registro(Path.Combine(_path, _guid));
                            //                            _listaRegistro = Insert_Registro(_listaRegistro, _guid);
                            _ok        = true;
                            _tipoSigla = "R";
                        }
                        else
                        {
                            _ok  = false;
                            _msg = "Arquivo inválido";
                        }
                        if (_ok)
                        {
                            Redesim_arquivo reg = new Redesim_arquivo()
                            {
                                Guid = _guid,
                                Tipo = _tipoSigla
                            };
                            // Exception ex = redesimRepository.Incluir_Arquivo(reg);
                            _msg = "Arquivo importado";
                        }
                    }
                    else
                    {
                        _ok  = false;
                        _msg = "Arquivo inválido";
                    }
                }
                else
                {
                    _ok  = false;
                    _msg = "Tamanho inválido";
                }
ProximoArquivo:
                RedesimImportFilesViewModel _reg = new RedesimImportFilesViewModel()
                {
                    Guid               = _guid,
                    NomeArquivo        = fileName,
                    Mensagem           = _msg,
                    Valido             = _ok,
                    Tipo               = _tipo,
                    ListaRegistro      = _listaRegistro,
                    ListaViabilidade   = _listaViabilidade,
                    ListaLicenciamento = _listaLicenciamento
                };
                Lista_Files.Add(_reg);
                _id++;
            }
Fim:
            model.ListaArquivo = Lista_Files;
            return(View(model));
        }
Beispiel #7
0
        private List <Redesim_RegistroStruct> Read_Registro(string _path)
        {
            int         _linha            = 1;
            Redesim_bll redesimRepository = new Redesim_bll(_connection);
            List <Redesim_natureza_juridica> _listaNatJuridica = redesimRepository.Lista_Natureza_Juridica();
            List <Redesim_evento>            _listaEvento      = redesimRepository.Lista_Evento();
            List <Redesim_porte_empresa>     _listaPorte       = redesimRepository.Lista_Porte_Empresa();
            List <Redesim_forma_atuacao>     _listaForma       = redesimRepository.Lista_Forma_Atuacao();

            List <Redesim_RegistroStruct> _listaRegistro = new List <Redesim_RegistroStruct>();
            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_RegistroStruct _linhaReg;
                        if (values[14] == "Sim" || values[14] == "Não")
                        {
                            _linhaReg = new Redesim_RegistroStruct()
                            {
                                Protocolo                   = values[0],
                                Cnpj                        = values[1],
                                Evento                      = values[2].Split(','),
                                NomeEmpresarial             = values[3],
                                MatrizFilial                = values[4],
                                DataAberturaEstabelecimento = values[5],
                                DataAberturaEmpresa         = values[6],
                                Logradouro                  = values[7],
                                Numero                      = values[8],
                                Complementos                = values[9],
                                Bairro                      = values[10],
                                Cep                     = values[11],
                                Municipio               = values[12],
                                Referencia              = values[13],
                                EmpresaEstabelecida     = values[14],
                                NaturezaJuridica        = values[15],
                                OrgaoRegistro           = values[16],
                                NumeroOrgaoRegistro     = values[17],
                                CapitalSocial           = values[18],
                                CpfResponsavel          = values[19],
                                NomeResponsavel         = values[20],
                                QualificacaoResponsavel = values[21],
                                TelefoneResponsavel     = values[22],
                                EmailResponsavel        = values[23],
                                PorteEmpresa            = values[24],
                                CnaePrincipal           = values[25],
                                CnaeSecundaria          = values[26].Split(','),
                                AtividadeAuxiliar       = values[27],
                                TipoUnidade             = values[28],
                                FormaAtuacao            = values[29].Split(','),
                                Qsa                     = values[30],
                                CpfRepresentante        = values[31],
                                NomeRepresentante       = values[32]
                            };
                        }
                        else
                        {
                            //Criado para corrigir um erro no arquivo, onde alguns registros vem com posição errada
                            _linhaReg = new Redesim_RegistroStruct()
                            {
                                Protocolo                   = values[0],
                                Cnpj                        = values[1],
                                Evento                      = values[2].Split(','),
                                NomeEmpresarial             = values[3],
                                MatrizFilial                = values[4],
                                DataAberturaEstabelecimento = values[5],
                                DataAberturaEmpresa         = values[6],
                                Logradouro                  = values[7],
                                Numero                      = values[8],
                                Complementos                = values[9],
                                Bairro                      = values[10],
                                Cep                     = values[11],
                                Municipio               = values[12],
                                Referencia              = "",
                                EmpresaEstabelecida     = values[15],
                                NaturezaJuridica        = values[16],
                                OrgaoRegistro           = values[17],
                                NumeroOrgaoRegistro     = values[18],
                                CapitalSocial           = values[19],
                                CpfResponsavel          = values[20],
                                NomeResponsavel         = values[21],
                                QualificacaoResponsavel = values[22],
                                TelefoneResponsavel     = values[23],
                                EmailResponsavel        = values[24],
                                PorteEmpresa            = values[25],
                                CnaePrincipal           = values[26],
                                CnaeSecundaria          = values[27].Split(','),
                                AtividadeAuxiliar       = values[28],
                                TipoUnidade             = values[29],
                                FormaAtuacao            = values[30].Split(','),
                                Qsa                     = values[31],
                                CpfRepresentante        = values[32],
                                NomeRepresentante       = values[33]
                            };
                        }

                        //Natureza Juridica
                        int _codigo = 0;
                        foreach (Redesim_natureza_juridica item in _listaNatJuridica)
                        {
                            if (item.Nome == _linhaReg.NaturezaJuridica)
                            {
                                _codigo = item.Codigo;
                                break;
                            }
                        }
                        if (_codigo == 0)
                        {
                            _codigo = redesimRepository.Incluir_Natureza_Juridica(_linhaReg.NaturezaJuridica);
                            _listaNatJuridica.Add(new Redesim_natureza_juridica()
                            {
                                Codigo = _codigo, Nome = _linhaReg.NaturezaJuridica
                            });
                        }
                        _linhaReg.NaturezaJuridicaCodigo = _codigo;

                        //Evento
                        _codigo = 0;
                        int[] _listaCod    = new int[_linhaReg.Evento.Length];
                        int   _indexEvento = 0;
                        foreach (string ev in _linhaReg.Evento)
                        {
                            foreach (Redesim_evento item in _listaEvento)
                            {
                                if (item.Nome == ev)
                                {
                                    _codigo = item.Codigo;
                                    break;
                                }
                            }
                            if (_codigo == 0)
                            {
                                _codigo = redesimRepository.Incluir_Evento(ev);
                                _listaEvento.Add(new Redesim_evento()
                                {
                                    Codigo = _codigo, Nome = ev
                                });
                            }
                            _listaCod[_indexEvento] = _codigo;
                            _indexEvento++;
                        }
                        _linhaReg.EventoCodigo = _listaCod;
                        redesimRepository.Incluir_Registro_Evento(_linhaReg.Protocolo, _listaCod);

                        //Porte Empresa
                        _codigo = 0;
                        foreach (Redesim_porte_empresa item in _listaPorte)
                        {
                            if (item.Nome == _linhaReg.PorteEmpresa)
                            {
                                _codigo = item.Codigo;
                                break;
                            }
                        }
                        if (_codigo == 0)
                        {
                            _codigo = redesimRepository.Incluir_Porte_Empresa(_linhaReg.PorteEmpresa);
                            _listaPorte.Add(new Redesim_porte_empresa()
                            {
                                Codigo = _codigo, Nome = _linhaReg.PorteEmpresa
                            });
                        }
                        _linhaReg.PorteEmpresaCodigo = _codigo;

                        //Forma Atuação
                        _codigo = 0;
                        int[] _listaFormaCod = new int[_linhaReg.FormaAtuacao.Length];
                        int   _indexForma    = 0;
                        foreach (string ev in _linhaReg.FormaAtuacao)
                        {
                            foreach (Redesim_forma_atuacao item in _listaForma)
                            {
                                if (item.Nome == ev)
                                {
                                    _codigo = item.Codigo;
                                    break;
                                }
                            }
                            if (_codigo == 0)
                            {
                                _codigo = redesimRepository.Incluir_Forma_Atuacao(ev);
                                _listaForma.Add(new Redesim_forma_atuacao()
                                {
                                    Codigo = _codigo, Nome = ev
                                });
                            }
                            _listaFormaCod[_indexForma] = _codigo;
                            _indexForma++;
                        }
                        _linhaReg.FormaAtuacaoCodigo = _listaFormaCod;
                        redesimRepository.Incluir_Registro_Forma_Atuacao(_linhaReg.Protocolo, _listaFormaCod);

                        //Cnae Secundária
                        //int _size = _linhaReg.CnaeSecundaria.Length;
                        //if (_size > 0) {
                        //    string[] _listaCnae = new string[_size];
                        //    int _indexCnae = 0;
                        //    foreach (string ev in _linhaReg.CnaeSecundaria) {
                        //        _listaCnae[_indexCnae] = ev;
                        //        _indexCnae++;
                        //    }
                        //    redesimRepository.Incluir_Cnae(_linhaReg.Protocolo, _listaCnae);
                        //}

                        _listaRegistro.Add(_linhaReg);
                    }
                }
                _linha++;
            }
            return(_listaRegistro);
        }