public ButtonInfo[][] GetButtons() { ButtonInfo[][] buttons = new ButtonInfo[Buttons.Count][]; for (int i = 0; i < Buttons.Count; i++) { buttons[i] = new ButtonInfo[Buttons[i].Count]; for (int j = 0; j < Buttons[i].Count; j++) { buttons[i][j] = Buttons[i][j]; } } return(buttons); }
public ButtonInfo[][] GetButtons(User user, UserData userData) { var selectedRows = Buttons.Where(row => row.Any(bi => !bi.HideCondition(user, userData))).ToList(); ButtonInfo[][] buttons = new ButtonInfo[selectedRows.Count][]; for (int i = 0; i < selectedRows.Count; i++) { var selectedButtons = selectedRows[i].Where(b => !b.HideCondition(user, userData)).ToList(); buttons[i] = new ButtonInfo[selectedButtons.Count]; for (int j = 0; j < selectedButtons.Count; j++) { buttons[i][j] = selectedButtons[j]; } } return(buttons); }