public MenuOption[] GetOptions(string AppName) { MenuOption[] optionArray2; string str = "Option" + ConfigurationSettings.AppSettings[AppName] + "Name"; string str2 = "Choice" + ConfigurationSettings.AppSettings[AppName] + "Name"; SqlConnection connection = null; try { int num; DataRow row; connection = ConnectDB.GetConnection(); SqlCommand selectCommand = new SqlCommand("GetMenuOptions", connection); selectCommand.CommandType = CommandType.StoredProcedure; SqlDataAdapter adapter = new SqlDataAdapter(selectCommand); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); DataTable table = dataSet.Tables[0]; MenuOption[] optionArray = new MenuOption[table.Rows.Count]; for (num = 0; num < table.Rows.Count; num++) { row = table.Rows[num]; int optionID = (int) row["OptionID"]; string optionName = row[str].ToString(); int num4 = (int) row["Cnt"]; optionArray[num] = new MenuOption(optionID, optionName); if (num4 > 0) { optionArray[num].OptionChoices = new OptionChoice[num4]; } } table = dataSet.Tables[1]; int index = 0; int num6 = 0; int num7 = 0; for (num = 0; num < table.Rows.Count; num++) { row = table.Rows[num]; int choiceID = (int) row["ChoiceID"]; int num9 = (int) row["OptionID"]; string choiceName = row[str2].ToString(); if (num7 != num9) { int num2 = 0; while (num2 < optionArray.Length) { if (optionArray[num2].OptionID == num9) { index = num2; break; } num2++; } num6 = -1; if (optionArray[index].OptionChoices != null) { for (num2 = 0; num2 < optionArray[index].OptionChoices.Length; num2++) { if (optionArray[index].OptionChoices[num2] == null) { num6 = num2; break; } } } num7 = num9; } if (num6 >= 0) { optionArray[index].OptionChoices[num6] = new OptionChoice(optionArray[index], choiceID, choiceName); num6++; } } optionArray2 = optionArray; } catch (Exception) { optionArray2 = null; } finally { if (connection != null) { connection.Close(); } } return optionArray2; }
public OptionChoice(MenuOption menuOption, int choiceID, string choiceName) { this.OptionID = menuOption.OptionID; this.ChoiceID = choiceID; this.ChoiceName = choiceName; }