Example #1
0
        /*
         * public static Workspace GetCurrentWorkspace(string viewName)
         * {
         *  Durados.Workspace workspace = null;
         *  if (!string.IsNullOrEmpty(viewName) && Map.Database.Views.ContainsKey(viewName) && Map.Database.Workspaces.ContainsKey(Map.Database.Views[viewName].WorkspaceID))
         *  {
         *      workspace = Map.Database.Workspaces[Map.Database.Views[viewName].WorkspaceID];
         *  }
         *  else if (!string.IsNullOrEmpty(viewName) && Map.GetConfigDatabase().Views.ContainsKey(viewName))
         *  {
         *      workspace = Map.Database.Workspaces[Map.Database.GetAdminWorkspaceId()];
         *  }
         *  else
         *  {
         *      object o = Map.Session["workspaceId"];
         *      if (o == null)
         *      {
         *          workspace = Map.Database.GetDefaultWorkspace();
         *          if (workspace == null)
         *              workspace = Map.Database.GetWorkspace("Public");
         *          //if (workspace == null)
         *          //    workspace = Map.Database.Workspaces[Map.Database.GetPublicWorkspaceId()];
         *      }
         *      else
         *      {
         *          int workspaceId = Convert.ToInt32(o);
         *          if (Map.Database.Workspaces.ContainsKey(workspaceId))
         *              workspace = Map.Database.Workspaces[workspaceId];
         *          else
         *              workspace = Map.Database.Workspaces[Map.Database.GetPublicWorkspaceId()];
         *      }
         *  }
         *
         *  return workspace;
         * }
         */
        public static bool IsHidden(this SpecialMenu menu)
        {
            string role = ((Database)Map.Database).GetUserRole().ToLower();

            if (role == "developer" && Map.IsDebug())
            {
                return(false);
            }

            if (menu.DisplayState)
            {
                object displayState = Map.Session["MenuDisplayState"];
                if (displayState == null)
                {
                    if (role == "admin")
                    {
                        Map.Session["MenuDisplayState"] = false;
                        return(false);
                    }
                    return(false);
                }
                else
                {
                    return(!(bool)displayState);
                }
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        private static void AddNewSpecial(Ability item, AbilityInfo data)
        {
            MyAbilities.OffensiveAbilities.Add(NameManager.Name(item) + "special", item);
            if (!Specials.SpecialsTogglerCreated)
            {
                Specials.SpecialsTogglerCreated = true;
                MainMenu.Menu.AddItem(
                    new MenuItem("specialsToggler", "Specials:").SetValue(
                        new AbilityToggler(new Dictionary <string, bool>())));
                MainMenu.Menu.Item("specialsToggler").GetValue <AbilityToggler>().Add(NameManager.Name(item));
                MainMenu.AbilitiesMenu.AddSubMenu(Specials.SpecialsMenu);
            }
            else
            {
                MainMenu.Menu.Item("specialsToggler").GetValue <AbilityToggler>().Add(NameManager.Name(item));
            }
            var menu = SpecialMenu.Create(NameManager.Name(item));

            Specials.SpecialsMenuDictionary.Add(NameManager.Name(item), menu);
            Specials.SpecialsMenu.AddSubMenu(menu);
        }
Example #3
0
        public static Workspace GetCurrentWorkspace(string viewName)
        {
            Durados.Workspace workspace = null;

            if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.QueryString["menuId"]))
            {
                int menuId = Convert.ToInt32(System.Web.HttpContext.Current.Request.QueryString["menuId"].TrimEnd('#'));

                workspace = Map.Database.GetWorkspaceByMenu(menuId);

                if (workspace != null)
                {
                    return(workspace);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(viewName))
                {
                    foreach (Workspace w in Map.Database.Workspaces.Values)
                    {
                        SpecialMenu menu = w.GetSpecialMenu(viewName);
                        if (menu != null)
                        {
                            return(w);
                        }
                    }
                }
            }

            object o = Map.Session["workspaceId"];

            if (o == null)
            {
                workspace = Map.Database.GetDefaultWorkspace();
                if (workspace == null)
                {
                    if (!string.IsNullOrEmpty(viewName) && Map.Database.Views.ContainsKey(viewName) && Map.Database.Workspaces.ContainsKey(Map.Database.Views[viewName].WorkspaceID))
                    {
                        workspace = Map.Database.Workspaces[Map.Database.Views[viewName].WorkspaceID];
                    }
                    else if (!string.IsNullOrEmpty(viewName) && Map.GetConfigDatabase().Views.ContainsKey(viewName))
                    {
                        workspace = Map.Database.Workspaces[Map.Database.GetAdminWorkspaceId()];
                    }
                    else
                    {
                        workspace = Map.Database.GetPublicWorkspace();
                    }
                }

                //if (workspace == null)
                //    workspace = Map.Database.Workspaces[Map.Database.GetPublicWorkspaceId()];
            }
            else
            {
                int workspaceId = Convert.ToInt32(o);
                if (Map.Database.Workspaces.ContainsKey(workspaceId))
                {
                    workspace = Map.Database.Workspaces[workspaceId];
                }
                else
                {
                    workspace = Map.Database.Workspaces[Map.Database.GetPublicWorkspaceId()];
                }
            }



            return(workspace);
        }