using System.Collections.Generic;
private sealed class PermissionData {
public string PageId { get; private set; }
public bool HasSaveToggle { get; private set; }
public string SaveToggleName { get; private set; }
public PermissionData(string pageId, bool hasSaveToggle, string saveToggleName) {
HasSaveToggle = hasSaveToggle;
SaveToggleName = saveToggleName;
protected static bool ValidateButtonSecurity(string pageID, string buttonName) {
protected static bool CheckPageLevelAccess(string pageID) {
public static void Main()
Dictionary<string, PermissionData> WorkItemDictionary = new Dictionary<string, PermissionData>{
{ "assessments", new PermissionData("C301", true, "Save") }
string folderName = "assessments";
Console.WriteLine("{0}, {1}, {2}",WorkItemDictionary[folderName].PageId, WorkItemDictionary[folderName].HasSaveToggle, WorkItemDictionary[folderName].SaveToggleName);
bool userHasAccessToEditItem = false;
if(WorkItemDictionary[folderName].HasSaveToggle) {
userHasAccessToEditItem = ValidateButtonSecurity(WorkItemDictionary[folderName].PageId, WorkItemDictionary[folderName].SaveToggleName);
userHasAccessToEditItem = CheckPageLevelAccess(WorkItemDictionary[folderName].PageId);
Console.WriteLine("{0}",folderName == "servicepack" || userHasAccessToEditItem);