Beispiel #1
0
        public override IViewComponentResult Invoke(object data = null)
        {
            var dataAsDict = data as Dictionary <string, object>;

            if (dataAsDict == null)
            {
                return(R.Success.ComponentResult);
            }
            var widgetId       = dataAsDict["id"].ToString();
            var widgetSettings = _widgetService.LoadWidgetSettings <MenuWidgetSettings>(widgetId);
            var menu           = _menuService.Get(widgetSettings.MenuId);

            if (menu == null)
            {
                return(R.Success.ComponentResult);
            }
            var widgetNavigation = NavigationObject.GetNavigation(menu.MenuItems, widgetId, _categoryService.GetFullCategoryTree());

            return(R.Success.With("title", widgetSettings.Title)
                   .With("widgetNavigation", widgetNavigation)
                   .With("widgetId", widgetId)
                   .ComponentResult);
        }