protected bool ProcessCategories(ArrayList arrCategories, bool bConfirmTableName) { bool bResult = false; if (arrCategories.Count > 0) { string strTableName = "Documents"; foreach (CategoryInfo ci in arrCategories) { strTableName += "_" + ci.Category.Replace(" ", "_"); } bool bCreate = false; if (bConfirmTableName) { FormTableInfo formTableInfo = new FormTableInfo(); formTableInfo.TableName = strTableName; if (formTableInfo.ShowDialog() == DialogResult.OK) { strTableName = formTableInfo.TableName; bCreate = true; } } else { bCreate = true; } if (bCreate) { if (CreateTable(strTableName)) { var tableDocuments = new MainDataSet.DocumentsDataTable(); var adapter = new MainDataSetTableAdapters.DocumentsTableAdapter(); adapter.Fill(tableDocuments); int nNullRows = 0; foreach (CategoryInfo ci in arrCategories) { nNullRows += InsertDocuments(strTableName, ci, tableDocuments); } bResult = true; } } } else { MessageBox.Show("No categories selected", MainForm.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information); } return(bResult); }
protected int InsertDocuments(string strTableName, CategoryInfo ci, MainDataSet.DocumentsDataTable tableDocuments) { int nNullRows = 0; foreach (MainDataSet.DocumentsRow row in tableDocuments) { if (!row.IsCategoryNull()) { if (row.Category == ci.ID) { InsertDocument(strTableName, row, ci); } } else { nNullRows++; } } return(nNullRows); }