コード例 #1
0
 void InitBreadCrumbComputerNode(BreadCrumbNode node)
 {
     foreach (DriveInfo driveInfo in FileSystemHelper.GetFixedDrives())
     {
         node.ChildNodes.Add(new BreadCrumbNode(driveInfo.Name, driveInfo.RootDirectory));
     }
 }
コード例 #2
0
 void InitBreadCrumbRootNode(BreadCrumbNode node)
 {
     node.ChildNodes.Add(new BreadCrumbNode("Desktop", Environment.GetFolderPath(Environment.SpecialFolder.Desktop)));
     node.ChildNodes.Add(new BreadCrumbNode("Documents", Environment.GetFolderPath(Environment.SpecialFolder.Recent)));
     node.ChildNodes.Add(new BreadCrumbNode("Music", Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)));
     node.ChildNodes.Add(new BreadCrumbNode("Pictures", Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)));
     node.ChildNodes.Add(new BreadCrumbNode("Video", Environment.GetFolderPath(Environment.SpecialFolder.MyVideos)));
     node.ChildNodes.Add(new BreadCrumbNode("Program Files", Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)));
     node.ChildNodes.Add(new BreadCrumbNode("Windows", Environment.GetFolderPath(Environment.SpecialFolder.Windows)));
 }
コード例 #3
0
        //http://www.hexacta.com/2016/06/01/task-run-vs-async-await/
        private async void GetRootNode(string id, AdvancedBreadCrumbPartViewModel model, string type = "root")
        {
            //if (!Services.Authorizer.Authorize(StandardPermissions.AccessAdminPanel,
            //    T("Not allowed to access admin panel")))
            //    return new HttpUnauthorizedResult();
            //https://stackoverflow.com/questions/35011656/async-await-in-linq-select
            var node = await GetBreadCrumbNode(id, type);

            //var node = await  task;
            if (node == null)
            {
                node = new BreadCrumbNode
                {
                    Id    = "/",
                    Type  = "root",
                    Title = T["Root"].Value
                };
                //  var node =await  GetBreadCrumbNode(id, type) ?? new  BreadCrumbNode { Id = "/", Type = "root", Title = T["Root"].Value };

                //https://stackoverflow.com/questions/18602923/selectmany-cannot-infer-type-argument-why-not
                var children = await _breadCrumbNodeProvider.GetChildren(type, id);

                // var levell0 = children0.Select(x => x);
                //var levell0 = _breadcrumbNodeProviders.OfType<AdvancedBreadCrumbNodeProvider>()
                //    .Select(p => p.GetChildren(type, id).Result.Select(x => x));

                //  var children = levell0.SelectMany(x => x);
                model.Node     = node;
                model.Children = children;
                //var model = new TreeExplorerViewModel
                //{
                //    Node = node,
                //    Children = children
                //};
                //if (Request.IsAjaxRequest())
                //{
                //    return new JsonResult { Data = model };
                //}

                //  return model;
            }
            // return Task.CompletedTask;
        }
コード例 #4
0
 void InitBreadCrumbRootNode(BreadCrumbNode node)
 {
     node.ChildNodes.Add(new BreadCrumbNode("Desktop", Environment.GetFolderPath(Environment.SpecialFolder.Desktop)));
     node.ChildNodes.Add(new BreadCrumbNode("Windows", Environment.GetFolderPath(Environment.SpecialFolder.Windows)));
     node.ChildNodes.Add(new BreadCrumbNode("Program Files", Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)));
 }