private static CarteiraAtual ProcessaLinhaCarteira_atual(string linha) { var carteira_atual = new CarteiraAtual(); decimal val; string[] campos; campos = linha.Split('|'); carteira_atual.CPF_CNPJ = campos[2]; carteira_atual.Nome = campos[3]; carteira_atual.UF_Resid = campos[4]; carteira_atual.CEP_Resid = campos[5]; carteira_atual.CIDADE_Resid = campos[6]; carteira_atual.UF_Comerc = campos[7]; carteira_atual.CEP_Comerc = campos[8]; carteira_atual.CIDADE_Comerc = campos[9]; carteira_atual.Codigo_Produto = campos[11]; carteira_atual.Produto_Recup = campos[12]; carteira_atual.Produto_BMG = campos[13]; carteira_atual.Contrato = campos[14]; carteira_atual.Distribuicao = string.IsNullOrEmpty(campos[15]) ? DateTime.MinValue : DateTime.ParseExact(campos[15], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Cod_Distri_Grupo = campos[16]; carteira_atual.Num_Fase = (Decimal.TryParse(campos[17].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Operador_Contrato = campos[18]; carteira_atual.COD_LOJA = campos[19]; carteira_atual.NOM_LOJA = campos[20]; carteira_atual.Atraso = (Decimal.TryParse(campos[21].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Parcela = (Decimal.TryParse(campos[22].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.PrincipalTotal = (Decimal.TryParse(campos[23].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Situacao_Codigo = campos[24]; carteira_atual.Situacao_Descricao = campos[25]; carteira_atual.Data_Expiracao = string.IsNullOrEmpty(campos[26]) ? DateTime.MinValue : DateTime.ParseExact(campos[26], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Acordo = campos[27]; carteira_atual.Renegociado = campos[28]; carteira_atual.CodEntidade = campos[29]; carteira_atual.Entidade = campos[30]; carteira_atual.Safra = string.IsNullOrEmpty(campos[31]) ? DateTime.MinValue : DateTime.ParseExact(campos[31], "MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Falecido = campos[32]; carteira_atual.Data_Carga = string.IsNullOrEmpty(campos[33]) ? DateTime.MinValue : DateTime.ParseExact(campos[33], "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); carteira_atual.Deposito = campos[34]; carteira_atual.Data_Acordo = string.IsNullOrEmpty(campos[36]) ? DateTime.MinValue : DateTime.ParseExact(campos[36], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.TotalParcelas_Acordo = (Decimal.TryParse(campos[37].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.ValorParcela_Acordo = (Decimal.TryParse(campos[38].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.TotalParcelasPagas_Acordo = (Decimal.TryParse(campos[39].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.TotalParcelas_EmAberto = (Decimal.TryParse(campos[40].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Valor_do_acordo = (Decimal.TryParse(campos[41].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Matricula = campos[42]; carteira_atual.Orgao = campos[43]; carteira_atual.SubOrgao = campos[44]; carteira_atual.Data_ultimo_desconto = string.IsNullOrEmpty(campos[45]) ? DateTime.MinValue : DateTime.ParseExact(campos[45], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Data_ultimo_pagamento = string.IsNullOrEmpty(campos[46]) ? DateTime.MinValue : DateTime.ParseExact(campos[46], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Plano_parcelas = (Decimal.TryParse(campos[47].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.ValorParcelas_Vencido = (Decimal.TryParse(campos[48].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.ValorParcela = (Decimal.TryParse(campos[49].Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, out val) ? val : 0); carteira_atual.Email_Cliente = campos[50]; carteira_atual.Data_Inicio_Contrato = string.IsNullOrEmpty(campos[51]) ? DateTime.MinValue : DateTime.ParseExact(campos[51], "dd/MM/yyyy", CultureInfo.InvariantCulture); carteira_atual.Promotora_SCH = campos[52]; return(carteira_atual); }
public static void Insert(string[] AllLines, string fileName) { for (int i = 0; i < AllLines.Length; i += 5000) { StringBuilder query = new StringBuilder("INSERT INTO carteira_atual " + "(`CPF_CNPJ`,`Nome`,`UF_Resid`,`CEP_Resid`,`CIDADE_Resid`,`UF_Comerc`, " + "`CEP_Comerc`,`CIDADE_Comerc`,`Codigo_Produto`,`Produto_Recup`,`Produto_BMG`," + "`Contrato`,`Distribuicao` ,`Cod_Distri_Grupo`,`Num_Fase`,`Operador_Contrato`, " + "`COD_LOJA`,`NOM_LOJA`,`Atraso`,`Parcela`,`PrincipalTotal`, `Situacao_Codigo`," + "`Situacao_Descricao`,`Data_Expiracao`,`Acordo`,`Renegociado`,`CodEntidade`, " + "`Entidade`,`Safra`,`Falecido`,`Data_Carga`,`Deposito`," + "`Data_Acordo`,`TotalParcelas_Acordo`,`ValorParcela_Acordo`," + "`TotalParcelasPagas_Acordo`,`TotalParcelas_EmAberto`,`Valor_do_acordo`," + "`Matricula`,`Orgao`,`SubOrgao`,`Data_ultimo_desconto`,`Data_ultimo_pagamento`," + "`Plano_parcelas`,`ValorParcelas_Vencido`,`ValorParcela`,`Email_Cliente`," + "`Data_Inicio_Contrato`,`Promotora_SCH`, `Data_Arquivo`)" + " 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; } CarteiraAtual carteira = new CarteiraAtual(); carteira = ProcessaLinhaCarteira_atual(AllLines[i + j]); carteira.linhaArquivo = i + j; carteira.nomeArquivo = fileName; Rows.Add(string.Format(@"({0},{1}, {2},{3}, {4},{5}, {6},{7}, {8},{9}, {10},{11}, {12},{13}, {14},{15}, {16},{17}, {18},{19}, {20},{21}, {22},{23}, {24},{25}, {26},{27}, {28},{29}, {30},{31}, {32},{33}, {34},{35}, {36},{37}, {38},{39}, {40},{41}, {42},{43}, {44},{45}, {46},{47}, {48}, {49})", MySqlHelper.EscapeString(CheckStrNull(carteira.CPF_CNPJ)), MySqlHelper.EscapeString(CheckStrNull(carteira.Nome)), MySqlHelper.EscapeString(CheckStrNull(carteira.UF_Resid)), MySqlHelper.EscapeString(CheckStrNull(carteira.CEP_Resid)), MySqlHelper.EscapeString(CheckStrNull(carteira.CIDADE_Resid)), MySqlHelper.EscapeString(CheckStrNull(carteira.UF_Comerc)), MySqlHelper.EscapeString(CheckStrNull(carteira.CEP_Comerc)), MySqlHelper.EscapeString(CheckStrNull(carteira.CIDADE_Comerc)), MySqlHelper.EscapeString(CheckStrNull(carteira.Codigo_Produto)), MySqlHelper.EscapeString(CheckStrNull(carteira.Produto_Recup)), MySqlHelper.EscapeString(CheckStrNull(carteira.Produto_BMG)), MySqlHelper.EscapeString(CheckStrNull(carteira.Contrato)), MySqlHelper.EscapeString(CheckDateNull(carteira.Distribuicao)), MySqlHelper.EscapeString(CheckStrNull(carteira.Cod_Distri_Grupo)), MySqlHelper.EscapeString(carteira.Num_Fase.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(CheckStrNull(carteira.Operador_Contrato)), MySqlHelper.EscapeString(CheckStrNull(carteira.COD_LOJA)), MySqlHelper.EscapeString(CheckStrNull(carteira.NOM_LOJA)), MySqlHelper.EscapeString(carteira.Atraso.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.Parcela.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.PrincipalTotal.ToString("F", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(CheckStrNull(carteira.Situacao_Codigo)), MySqlHelper.EscapeString(CheckStrNull(carteira.Situacao_Descricao)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_Expiracao)), MySqlHelper.EscapeString(CheckStrNull(carteira.Acordo.ToString())), MySqlHelper.EscapeString(CheckStrNull(carteira.Renegociado)), MySqlHelper.EscapeString(CheckStrNull(carteira.CodEntidade)), MySqlHelper.EscapeString(CheckStrNull(carteira.Entidade)), MySqlHelper.EscapeString(CheckDateNull(carteira.Safra)), MySqlHelper.EscapeString(CheckStrNull(carteira.Falecido)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_Carga)), MySqlHelper.EscapeString(CheckStrNull(carteira.Deposito)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_Acordo)), MySqlHelper.EscapeString(carteira.TotalParcelas_Acordo.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.ValorParcela_Acordo.ToString("F", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.TotalParcelasPagas_Acordo.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.TotalParcelas_EmAberto.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.Valor_do_acordo.ToString("F", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(CheckStrNull(carteira.Matricula)), MySqlHelper.EscapeString(CheckStrNull(carteira.Orgao)), MySqlHelper.EscapeString(CheckStrNull(carteira.SubOrgao)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_ultimo_desconto)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_ultimo_pagamento)), MySqlHelper.EscapeString(carteira.Plano_parcelas.ToString("F0", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.ValorParcelas_Vencido.ToString("F", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(carteira.ValorParcela.ToString("F", CultureInfo.InvariantCulture)), MySqlHelper.EscapeString(CheckStrNull(carteira.Email_Cliente)), MySqlHelper.EscapeString(CheckDateNull(carteira.Data_Inicio_Contrato)), MySqlHelper.EscapeString(CheckStrNull(carteira.Promotora_SCH)), MySqlHelper.EscapeString(CheckDateNull(CarteiraAtual.Data_Arquivo)))); } query.Append(string.Join(','.ToString(), Rows)); query.Replace(@"\", string.Empty); try { mConnection.Open(); using (MySqlCommand myCmd = new MySqlCommand(query.ToString(), mConnection)) { myCmd.ExecuteNonQuery(); } } catch (MySqlException ex) { Console.WriteLine($"**********ERRO: " + ex); //Console.WriteLine($"**********ERRO: " + query.ToString()); } finally { mConnection.Close(); } } } }