private void ReadFileXlsx_Bancomer(string pStrPath) { mObjForm.Freeze(true); string[] ArrStrWords; mIntCountCarga = 0; mIntTotalCarga = 0; //DataTable lDtbFileBancomer = new DataTable(); try { ArrStrWords = System.IO.File.ReadAllLines(pStrPath); //lDtbFileBancomer = GetDtbFileBancomer(pStrPath); mObjProgressBar = new ProgressBarManager(Application.SBO_Application, "Cargando extractos bancarios", ArrStrWords.Length); foreach (ExtractBanking lObjExtractBanking in GetBancomerExtractBanking(ArrStrWords)) { mObjBankPage = PopulateBankPages(lObjExtractBanking); int result = mObjBankPage.Add(); mIntTotalCarga++; if (result == 0) { mIntCountCarga++; } if (result != 0) { //Application.SBO_Application.MessageBox("No se cargo el movimiento número: " + mIntTotalCarga); Application.SBO_Application.StatusBar.SetText("No se cargo el movimiento número: " + mIntTotalCarga, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } mObjProgressBar.NextPosition(); } ((SAPbouiCOM.EditText)mObjForm.Items.Item("18").Specific).Value = ""; ((SAPbouiCOM.EditText)mObjForm.Items.Item("18").Specific).Value = lStrAccountCode; } catch (Exception ex) { Application.SBO_Application.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); BankStatementsLogService.WriteError(ex.Message); } finally { mObjForm.Freeze(false); MemoryUtility.ReleaseComObject(mObjBankPage); } Application.SBO_Application.MessageBox("Proceso Terminado. Se cargaron " + mIntCountCarga + " de " + mIntTotalCarga + " movimientos bancarios."); BankStatementsLogService.WriteSuccess("Proceso Terminado. Se cargaron " + mIntCountCarga + " de " + mIntTotalCarga + " movimientos bancarios."); }
/// <summary> /// /// </summary> private void ShowFolderBrowser() { using (System.Windows.Forms.OpenFileDialog oFile = new System.Windows.Forms.OpenFileDialog()) { string fileName = ""; string lStrBank = ""; try { IntPtr sapProc = GetForegroundWindow(); WindowWrapper MyWindow = null; MyWindow = new WindowWrapper(sapProc); oFile.Multiselect = false; lStrBank = ((SAPbouiCOM.ComboBox)mObjForm.Items.Item("cmbBanco").Specific).Value; GetFileDialogFilter(lStrBank, oFile); //oFile.Filter = "Archivos Excel(*.xls)|*.xls|Archivos TXT(*.txt)|*.txt|Archivos CSV(*.csv)|*.csv"; oFile.FilterIndex = 0; oFile.RestoreDirectory = true; var dialogResult = oFile.ShowDialog(MyWindow); if (dialogResult == System.Windows.Forms.DialogResult.OK) { fileName = oFile.FileName; string lStrExtencion = Path.GetExtension(fileName); switch (((SAPbouiCOM.ComboBox)mObjForm.Items.Item("cmbBanco").Specific).Value) { case "BANAMEX": if (lStrExtencion == ".csv") { ReadFileTxt_Banamex(fileName); } else { SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Formato incorrecto, cargue el archivo adecuado(txt)"); } break; case "BANCOMER": if (lStrExtencion == ".txt") { ReadFileXlsx_Bancomer(fileName); } else { SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Formato incorrecto, cargue el archivo adecuado(xlsx)"); } break; case "BANORTE": if (lStrExtencion == ".txt") { ReadFileTxt_Banorte(fileName); } else { SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Formato incorrecto, cargue el archivo adecuado(txt)"); } break; case "SANTANDER": if (lStrExtencion == ".csv") { ReadFileCsv_Santander(fileName); } else { SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Formato incorrecto, cargue el archivo adecuado(csv)"); } break; case "SCOTIABANK": if (lStrExtencion == ".txt") { ReadFileTxt_ScotiaBank(fileName); } else { SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Formato incorrecto, cargue el archivo adecuado(txt)"); } break; } } else { System.Windows.Forms.Application.ExitThread(); } } catch (Exception e) { fileName = ""; SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Archivo Excel se encuentra abierto o el archivo tiene un formato incorrecto"); BankStatementsLogService.WriteError(e.Message); System.Windows.Forms.Application.ExitThread(); } } }