private void bLoad_Click(object sender, EventArgs e) { try { bLoad.Enabled = false; bLoad.Text = "Loading..."; if (cbDataSource.SelectedIndex == 0) { string dataObjectPath = Common.BuildPath(GenericTemplate.moduleParams.DataPath, GenericTemplate.constModuleDataFolder, GenericTemplate.constDataObjectsFolder); string dataObjectName = lbDataObjectList.Items[lbDataObjectList.SelectedIndex].ToString(); dataObjectName += ".xml"; RowCollectionIO rowCollectionIO = new RowCollectionIO(rowCollectionMenager, dataObjectPath + dataObjectName); rowCollectionIO.Load(); } else if (cbDataSource.SelectedIndex == 1) { // Input data from clipboard // new parser will add rows to rowCollection object TextParser textParser = new TextParser(rowCollectionMenager); textParser.AutomaticAddToRowCollectionMenager_ClipboardSource(tbRegexColumnSpliter.Text, tbRegexRowSpliter.Text, cbRegexFirstColumnAsColumnName.Checked); } else if (cbDataSource.SelectedIndex == 2) { // Input data from xml file //XMLParser xmlParser = new XMLParser(rowCollectionMenager, tbSourceFile.Text, int.Parse(tbSourceXMLStartDepth.Text)); XMLParser2 xmlParser = new XMLParser2(rowCollectionMenager, tbSourceFile.Text, tbXPath.Text); } else if (cbDataSource.SelectedIndex == 5) { FolderParser folderParser = new FolderParser(rowCollectionMenager); folderParser.AutomaticAddToRowCollectionMenager_FolderSource(tbFolderInputPath.Text, tbFolderInputFolderMatcher.Text, tbFolderInputColumnRegex.Text, cbFolderInputLookSubfolders.Checked); } else if (cbDataSource.SelectedIndex == 6) { FileParser folderParser = new FileParser(rowCollectionMenager); folderParser.AutomaticAddToRowCollectionMenager_FileSource(tbFileInputFolder.Text, tbFileInputFolderMatcher.Text, tbFileInputFileMatcher.Text, tbFileInputColumnSpliter.Text, cbFileInputSubfolders.Checked); } else { MessageBox.Show("Select data source"); } // save settings SaveSettingsToSettingsMenager(); } catch (Exception ex) { ModuleLog.Write(ex, this, "btnLoad_Click", ModuleLog.LogType.ERROR); } this.Close(); }
private void BrowseFolders(string path) { RowCollection rowCollection; RowCollectionRow objectRow; Regex regex; Match match; string[] folderColumns; int counter = 0; string[] folderList = Directory.GetDirectories(path); // define regex matcher regex = new Regex(regexFolderMatcher, RegexOptions.IgnoreCase); foreach (string folder in folderList) { match = regex.Match(folder); if (match.Length > 0) { ModuleLog.Write(new string[] { "Folder: " + path, "Match: yes" }, this, "BrowseFolders", ModuleLog.LogType.DEBUG); folderColumns = FolderParser.SplitRow(folder, regexSpliterColumn); // new rowcollection rowCollection = rowCollectionMenager.GetRowCollectionObjectFromCellNumber(2 + folderColumns.Length, true); objectRow = new RowCollectionRow(rowCollection, Common.MargeTwoStringArray(GetDefaultColumns(folder), folderColumns)); //rowCollectionMenager.AddRow(objectRow); rowCollection.Rows.Add(objectRow); if (subfolders == true) { BrowseFolders(folder); } } else { // dont import folder but browse childs if (subfolders == true) { ModuleLog.Write(new string[] { "Folder: " + path, "Match: no" }, this, "BrowseFolders", ModuleLog.LogType.DEBUG); BrowseFolders(folder); } else { ModuleLog.Write(new string[] { "Folder: " + path, "Match: skip" }, this, "BrowseFolders", ModuleLog.LogType.DEBUG); } } if ((counter++ % 1000) == 0) { System.Windows.Forms.Application.DoEvents(); } } }