private static RejMis ProcessaLinhaRejMis(string linha)
        {
            var rej_mis = new RejMis();

            string[] campos;
            campos                    = linha.Split('|');
            rej_mis.cpf               = campos[4];
            rej_mis.contrato          = campos[6];
            rej_mis.descricao_produto = campos[10];
            rej_mis.parcela           = campos[11];
            rej_mis.data_pagamento    = string.IsNullOrEmpty(campos[13]) ? DateTime.MinValue : DateTime.ParseExact(campos[13], "dd/MM/yy", CultureInfo.InvariantCulture);
            rej_mis.uf_resid          = campos[21];
            rej_mis.valor_prestacao   = Decimal.Parse(campos[23].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture);
            rej_mis.erro              = campos[24];
            rej_mis.atraso            = Decimal.Parse(campos[27].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture);
            return(rej_mis);
        }
        public static void Insert(string[] AllLines, string fileName)
        {
            for (int i = 0; i < AllLines.Length; i += 5000)
            {
                StringBuilder query = new StringBuilder("INSERT INTO `Itau.RejMis`" +
                                                        " (`cpf`, `contrato`, `descricao_produto`, `parcela`," +
                                                        " `data_pagamento`, `uf_resid`, `valor_prestacao`," +
                                                        " `erro`, `atraso`, `nomeArquivo`)" +
                                                        " VALUES ");

                using (MySqlConnection mConnection = new MySqlConnection(_Global.ConnectionString))
                {
                    List <string> Rows = new List <string>();

                    for (int j = 1; j <= 5000; j++)
                    {
                        if (i + j >= AllLines.Length)
                        {
                            break;
                        }

                        RejMis rej_mis = new RejMis();
                        rej_mis             = ProcessaLinhaRejMis(AllLines[i + j]);
                        rej_mis.nomeArquivo = fileName;

                        Rows.Add(string.Format("({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9})",
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.cpf)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.contrato)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.descricao_produto)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.parcela)),
                                               MySqlHelper.EscapeString(CheckDateNull(rej_mis.data_pagamento)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.uf_resid)),
                                               MySqlHelper.EscapeString(rej_mis.valor_prestacao.ToString("F", CultureInfo.InvariantCulture)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.erro)),
                                               MySqlHelper.EscapeString(rej_mis.atraso.ToString("F", CultureInfo.InvariantCulture)),
                                               MySqlHelper.EscapeString(CheckStrNull(rej_mis.nomeArquivo))));
                    }

                    query.Append(string.Join(','.ToString(), Rows));
                    query.Replace(@"\", string.Empty);
                    query.Append(" ON DUPLICATE KEY UPDATE id=id");

                    try
                    {
                        mConnection.Open();
                        using (MySqlCommand myCmd = new MySqlCommand(query.ToString(), mConnection))
                        {
                            myCmd.ExecuteNonQuery();
                        }
                    }
                    catch (MySqlException ex)
                    {
                        Console.WriteLine($"**********ERRO: " + ex.Message);
                    }
                    finally
                    {
                        mConnection.Close();
                    }
                }
            }
        }