private string GetTableNameForGroup(GroupDeleteTableType groupDeleteTableType) { string tbleName = ""; if (groupDeleteTableType == GroupAdministration.GroupDeleteTableType.Main) { tbleName = GroupQB.GROUP_TBLE_NAME; } if (groupDeleteTableType == GroupAdministration.GroupDeleteTableType.XRefContents) { tbleName = GroupQB.GROUP_CONTENT_XREF_TBL; } if (groupDeleteTableType == GroupAdministration.GroupDeleteTableType.XRefDisplay) { tbleName = GroupQB.GROUP_DISPLAY_XREF_TBL; } if (groupDeleteTableType == GroupAdministration.GroupDeleteTableType.XRefFunctionality) { tbleName = GroupQB.GROUP_FUNCTION_XREF_TBL; } if (groupDeleteTableType == GroupAdministration.GroupDeleteTableType.XRefUsers) { tbleName = GroupQB.GROUP_USER_XREF_TBL; } return(tbleName); }
private bool DeleteGroupEntryFromXrefTable(int groupID, GroupDeleteTableType groupDeleteTableType) { bool isDeleted = false; int count = -1; int countDeleted = -1; string tableName = GetTableNameForGroup(groupDeleteTableType); string sql = ""; Logger.Log("Start deleting records from table '" + tableName + "' for group id " + groupID); try { DbInfo = new DatabaseWrapper(Lcf); DbInfo.Connect(); Logger.Log("Getting records from table '" + tableName + "' for group id " + groupID); count = GetRecordsForAGroupFromXref(groupID, tableName); if (count > 0) { Logger.Log("Start deleting records from '" + tableName + "' for group id = " + groupID); sql = GroupQB.GetDelteGroupSql(groupID, tableName, false); bool success = false; countDeleted = DbInfo.ExecuteSQL(sql, ref success); if (count == countDeleted) { Logger.Log("Successfully deleted " + count + " records from " + tableName + " for group id = " + groupID); isDeleted = true; } else { Logger.Log("Failed to delte " + count + " records from " + tableName + " for group id = " + groupID); } } else if (count == 0) { Logger.Log("No records was found in table '" + tableName + "' for group id " + groupID); return(true); } } catch (Exception ex) { Logger.Log("Error deleting records from table '" + tableName + "' for group id " + groupID + " at: " + ex); return(false); } finally { if (isDeleted) { SecureContentWrapper.SecurityHasBeenModifiedThisSession = true; } if (DbInfo != null) { DbInfo.Disconnect(); } } return(isDeleted); }