示例#1
0
 /// <summary>
 /// Returns the currently opened menu.
 /// </summary>
 /// <returns></returns>
 public static Menu GetCurrentMenu()
 {
     if (Menus.Any((m) => m.Visible))
     {
         return(Menus.Find((m) => m.Visible));
     }
     return(null);
 }
示例#2
0
 /// <summary>
 /// Returns true if any menu is currently open.
 /// </summary>
 /// <returns></returns>
 public static bool IsAnyMenuOpen() => Menus.Any((m) => m.Visible);
示例#3
0
 public bool IsAnyMenuOpen()
 {
     return(Menus.Any(m => m.Visible));
 }
示例#4
0
        public CodeGenerableResult GenerateCode(string varName = null, int space = 0)
        {
            var codeResult = new CodeGenerableResult
            {
                DeletingCode = $"versionContext.DeleteData<LetPortal.Portal.Entities.Apps.App>(\"{Id}\");"
            };
            var stringBuilder = new StringBuilder();

            varName = varName != null ? varName: Name.Replace("-", "", StringComparison.OrdinalIgnoreCase) + "App";
            _       = stringBuilder.AppendLine($"var {varName} = new LetPortal.Portal.Entities.Apps.App");
            _       = stringBuilder.AppendLine("{");
            _       = stringBuilder.AppendLine($"    Id = \"{Id}\",");
            _       = stringBuilder.AppendLine($"    Name = \"{Name}\",");
            _       = stringBuilder.AppendLine($"    Logo = \"{Logo}\",");
            _       = stringBuilder.AppendLine($"    Author = \"{Author}\",");
            _       = stringBuilder.AppendLine($"    DefaultUrl = \"{DefaultUrl}\",");
            _       = stringBuilder.AppendLine($"    CurrentVersionNumber = \"{CurrentVersionNumber}\",");
            _       = stringBuilder.AppendLine($"    DisplayName = \"{DisplayName}\",");
            _       = stringBuilder.AppendLine($"    CreatedDate = DateTime.Now,");
            _       = stringBuilder.AppendLine($"    ModifiedDate = DateTime.Now,");
            if (Menus != null && Menus.Any())
            {
                _ = stringBuilder.AppendLine($"    Menus = new List<LetPortal.Portal.Entities.Menus.Menu>");
                _ = stringBuilder.AppendLine("    {");
                foreach (var menu in Menus)
                {
                    _ = stringBuilder.AppendLine($"        new LetPortal.Portal.Entities.Menus.Menu");
                    _ = stringBuilder.AppendLine("        {");
                    _ = stringBuilder.AppendLine($"            Id = \"{menu.Id}\",");
                    _ = stringBuilder.AppendLine($"            DisplayName = \"{menu.DisplayName}\",");
                    _ = stringBuilder.AppendLine($"            Icon = \"{menu.Icon}\",");
                    _ = stringBuilder.AppendLine($"            Url = \"{menu.Url}\",");
                    _ = stringBuilder.AppendLine($"            MenuPath = \"{menu.MenuPath}\",");
                    _ = stringBuilder.AppendLine($"            Order = {menu.Order},");
                    if (menu.SubMenus != null && menu.SubMenus.Any())
                    {
                        _ = stringBuilder.AppendLine($"            SubMenus = new List<LetPortal.Portal.Entities.Menus.Menu>");
                        _ = stringBuilder.AppendLine("            {");
                        foreach (var subMenu in menu.SubMenus)
                        {
                            _ = stringBuilder.AppendLine($"            new LetPortal.Portal.Entities.Menus.Menu");
                            _ = stringBuilder.AppendLine("            {");
                            _ = stringBuilder.AppendLine($"                Id = \"{subMenu.Id}\",");
                            _ = stringBuilder.AppendLine($"                DisplayName = \"{subMenu.DisplayName}\",");
                            _ = stringBuilder.AppendLine($"                Icon = \"{subMenu.Icon}\",");
                            _ = stringBuilder.AppendLine($"                Url = \"{subMenu.Url}\",");
                            _ = stringBuilder.AppendLine($"                MenuPath = \"{subMenu.MenuPath}\",");
                            _ = stringBuilder.AppendLine($"                Order = {subMenu.Order},");
                            _ = stringBuilder.AppendLine("             },");
                        }
                        _ = stringBuilder.AppendLine("            }");
                    }
                    _ = stringBuilder.AppendLine("        },");
                }
                _ = stringBuilder.AppendLine("    },");
            }

            if (MenuProfiles != null && MenuProfiles.Any())
            {
                _ = stringBuilder.AppendLine($"    MenuProfiles = new List<LetPortal.Portal.Entities.Apps.MenuProfile>");
                _ = stringBuilder.AppendLine("    {");
                foreach (var menuProfile in MenuProfiles)
                {
                    _ = stringBuilder.AppendLine($"        new LetPortal.Portal.Entities.Apps.MenuProfile");
                    _ = stringBuilder.AppendLine("        {");
                    _ = stringBuilder.AppendLine($"            Role = \"{menuProfile.Role}\",");
                    _ = stringBuilder.AppendLine($"            MenuIds = new List<string>");
                    _ = stringBuilder.AppendLine("            {");
                    foreach (var menuId in menuProfile.MenuIds)
                    {
                        _ = stringBuilder.AppendLine($"                 \"{menuId}\",");
                    }
                    _ = stringBuilder.AppendLine("            }");
                    _ = stringBuilder.AppendLine("        },");
                }
                _ = stringBuilder.AppendLine("    }");
            }
            _ = stringBuilder.AppendLine("};");
            _ = stringBuilder.AppendLine($"versionContext.InsertData({varName});");
            codeResult.InsertingCode = stringBuilder.ToString();
            return(codeResult);
        }