Пример #1
0
        private void btnImportarArquivoCnpj_Click(object sender, EventArgs e)
        {
            int counter = 0;

            char[] str = "".ToCharArray();
            System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Desenv01\Desktop\Empresas\DADOS_ABERTOS_CNPJ (1)\F.K032001K.D90308");

            //C:\Users\Desenv01\Desktop\Empresas\DADOS_ABERTOS_CNPJ (1)\F.K032001K.D90308 86gb file
            //
            string line = string.Empty;

            var lista    = new List <ArquivoReceitaFederalLinhaPrincipal>();
            var listaSec = new List <ArquivoReceitaFederalLinhaSecundaria>();

            while ((line = file.ReadLine()) != null)
            {
                if (line.Substring(0, 1) == "1")
                {
                    var linhaPrincipal = new ArquivoReceitaFederalLinhaPrincipal(line);
                    inserirDadosLinhaPrincipal(linhaPrincipal);
                }

                if (line.Substring(0, 1) == "2")
                {
                    var linhaSecundaria = new ArquivoReceitaFederalLinhaSecundaria(line);
                    inserirDadosLinhaSecundaria(linhaSecundaria);
                }

                if (line.Substring(0, 1) == "6")
                {
                    var LinhaTerc = new ArquivoReceitaFederalLinhaTerciaria(line);
                }



                counter++;
                txt2.Text = counter.ToString();
                Application.DoEvents();
            }

            MessageBox.Show("Importação Finalizada");
        }
Пример #2
0
        public bool inserirDadosLinhaSecundaria(ArquivoReceitaFederalLinhaSecundaria Linha2)
        {
            var sql = @"INSERT INTO[dbo].[Socio]
           ([CNPJ]
           ,[IDENTIFICADOR_DE_SOCIO]
           ,[NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ]
           ,[CNPJ_CPF_DO_SOCIO]
           ,[CODIGO_QUALIFICACAO_SOCIO]
           ,[PERCENTUAL_CAPITAL_SOCIAL]
           ,[DATA_ENTRADA_SOCIEDADE]
           ,[CODIGO_PAIS]
           ,[NOME_PAIS_SOCIO]
           ,[CPF_REPRESENTANTE_LEGAL]
           ,[NOME_REPRESENTANTE]
           ,[CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL])
           
           VALUES
           (@CNPJ
           ,@IDENTIFICADOR_DE_SOCIO
           ,@NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ
           ,@CNPJ_CPF_DO_SOCIO
           ,@CODIGO_QUALIFICACAO_SOCIO
           ,@PERCENTUAL_CAPITAL_SOCIAL
           ,@DATA_ENTRADA_SOCIEDADE
           ,@CODIGO_PAIS
           ,@NOME_PAIS_SOCIO
           ,@CPF_REPRESENTANTE_LEGAL
           ,@NOME_REPRESENTANTE
           ,@CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL)";



            //var sqlConnectionString = "Data Source=localhost;Initial Catalog=Fenicio_Receita_Federal;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            var sqlConnectionString = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=fenicio_receita_federal;Integrated Security=true;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";


            using (var conn = new SqlConnection(sqlConnectionString))
            {
                DateTime DATA_ENTRADA_SOCIEDADE;
                if (!DateTime.TryParse(Linha2.DATA_ENTRADA_SOCIEDADE.Substring(6, 2) + "/" + Linha2.DATA_ENTRADA_SOCIEDADE.Substring(4, 2) + "/" + Linha2.DATA_ENTRADA_SOCIEDADE.Substring(0, 4), out DATA_ENTRADA_SOCIEDADE))
                {
                    sql = sql.Replace("@DATA_OPCAO_PELO_SIMPLES", "NULL");
                }
                //corrigir a data que deu estouro de datetime

                var cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue(@"CNPJ", Linha2.CNPJ);
                cmd.Parameters.AddWithValue(@"IDENTIFICADOR_DE_SOCIO", Linha2.IDENTIFICADOR_DE_SOCIO);
                cmd.Parameters.AddWithValue(@"NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ", Linha2.NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ);
                cmd.Parameters.AddWithValue(@"CNPJ_CPF_DO_SOCIO", Linha2.CNPJ_CPF_DO_SOCIO);
                cmd.Parameters.AddWithValue(@"CODIGO_QUALIFICACAO_SOCIO", Linha2.CODIGO_QUALIFICACAO_SOCIO);
                cmd.Parameters.AddWithValue(@"PERCENTUAL_CAPITAL_SOCIAL", Linha2.PERCENTUAL_CAPITAL_SOCIAL);
                //cmd.Parameters.AddWithValue(@"DATA_ENTRADA_SOCIEDADE", DATA_ENTRADA_SOCIEDADE);
                cmd.Parameters.Add("@DATA_ENTRADA_SOCIEDADE", System.Data.SqlDbType.DateTime2, 8).Value = DATA_ENTRADA_SOCIEDADE;
                cmd.Parameters.AddWithValue(@"CODIGO_PAIS", Linha2.CODIGO_PAIS);
                cmd.Parameters.AddWithValue(@"NOME_PAIS_SOCIO", Linha2.NOME_PAIS_SOCIO);
                cmd.Parameters.AddWithValue(@"CPF_REPRESENTANTE_LEGAL", Linha2.CPF_REPRESENTANTE_LEGAL);
                cmd.Parameters.AddWithValue(@"NOME_REPRESENTANTE", Linha2.NOME_REPRESENTANTE);
                cmd.Parameters.AddWithValue(@"CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL", Linha2.CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL);


                try
                {
                    conn.Open();
                    var reader = cmd.ExecuteScalar();
                    return(true);
                }
                catch (Exception e)
                {
                    sql = "INSERT INTO ErrosImportacao (Linha,Erro) VALUES(@Linha,@Erro)";

                    cmd = new SqlCommand(sql, conn);
                    cmd.Parameters.AddWithValue(@"Linha", Linha2.LinhaCompleta);
                    cmd.Parameters.AddWithValue(@"Erro", e.Message);
                    cmd.ExecuteScalar();
                    return(false);
                }
                finally
                {
                    conn.Close();
                }
            }
        }