public FactoryViewResult ToFactoryResult(IUserConsoleComponent component, GenericViewResult genericResult)
        {
            var provider        = GetProvider(component.ComponentType);
            var componentResult = new ComponentViewResult(component, genericResult);

            return(new FactoryViewResult(provider, componentResult));
        }
예제 #2
0
        public ComponentViewResult(IUserConsoleComponent component, GenericViewResult result) : base()
        {
            Component = component;

            Title     = result.Title;
            ViewPath  = result.ViewPath;
            ViewModel = result.ViewModel;
            ViewData  = result.ViewData;
        }
예제 #3
0
        public async Task <GenericViewResult> ComposeExplorer()
        {
            var result = new GenericViewResult
            {
                Title     = "My Alerts",
                ViewPath  = "/UI/Views/Console/Alerts/AlertExplorer.cshtml",
                ViewModel = null
            };

            return(await Task.FromResult(result));
        }
예제 #4
0
        public async Task <GenericViewResult> ComposeExplorer()
        {
            var view = new GenericViewResult
            {
                Title     = "Messages",
                ViewPath  = "~/UI/UserConsole/Views/Messages/Summary.cshtml",
                ViewModel = MockData.MessageCategories
            };

            return(await Task.FromResult(view));
        }
        public async Task <ComponentViewResult> GetDefaultContentView(string componentType)
        {
            var component = GetComponent(componentType);
            var content   = await RenderRoute(component.InitialRoute);

            var result = new GenericViewResult
            {
                ViewPath  = "/UI/UserConsole/Views/Splat.cshtml",
                ViewModel = content
            };

            return(new ComponentViewResult(component, result));
        }
예제 #6
0
        public async Task <GenericViewResult> ComposeExplorer()
        {
            var user       = _userContextAccessor.GetContext();
            var categories = _blogManager.GetBlogCategoriesOwnedByUser(user.UserId);

            categories = categories.OrderBy(x => x.Title).ToList();

            var result = new GenericViewResult
            {
                Title     = "My Blogs",
                ViewPath  = "/UI/Views/Console/BlogExplorer.cshtml",
                ViewModel = categories
            };

            return(await Task.FromResult(result));
        }
예제 #7
0
        public async Task <ComponentViewResult> GetExplorerView(string treeType)
        {
            var component = GetTreeComponent(treeType);

            var result = new GenericViewResult
            {
                Title     = component.TreeTitle,
                ViewPath  = "~/UI/UserConsole/Views/TreeComponent.cshtml",
                ViewModel = new ConsoleTreeRoot
                {
                    TreeType  = component.ComponentType,
                    RootNodes = await component.GetRootNodes(),
                    TreeMenu  = await component.GetTreeMenu()
                },
            };

            return(new ComponentViewResult(component, result));
        }
예제 #8
0
        /*
         * public static IHtmlContent Partial(this IHtmlHelper helper, GenericViewResult viewResult)
         * {
         *  var mergedViewData = new ViewDataDictionary(helper.ViewData);
         *
         *  foreach (var keyValuePair in viewResult.ViewData)
         *  {
         *      mergedViewData.Add(keyValuePair);
         *  }
         *
         *  return helper.Partial(viewResult.ViewPath, viewResult.ViewModel, mergedViewData);
         * }
         */

        public static IHtmlContent Partial(this IHtmlHelper helper, GenericViewResult viewResult)
        {
            if (viewResult?.ViewData != null)
            {
                foreach (var item in viewResult.ViewData)
                {
                    if (helper.ViewData.ContainsKey(item.Key))
                    {
                        helper.ViewData[item.Key] = item.Value;
                    }

                    else
                    {
                        helper.ViewData.Add(item.Key, item.Value);
                    }
                }
            }

            return(helper.Partial(viewResult.ViewPath, viewResult.ViewModel));
        }