void InitBreadCrumbComputerNode(BreadCrumbNode node) { foreach (DriveInfo driveInfo in FileSystemHelper.GetFixedDrives()) { node.ChildNodes.Add(new BreadCrumbNode(driveInfo.Name, driveInfo.RootDirectory)); } }
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))); }
//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; }
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))); }