public JsonResult GetNodeInfo(string id) { if (MemoryNodes != null && MemoryNodes.Count > 0) { var node = MemoryNodes.FirstOrDefault(n => n.id == id); if (node != null) { var readableSize = GetReadableSize(node.size); return (Json(new { filetype = ((TypeEnum)node.type).ToString(), name = node.text, size = readableSize })); } } return(null); }
public JsonResult CreateFolder(string path, string name) { if (string.IsNullOrEmpty(path)) { return(null); } FolderManager.Create(path, name); var newPath = path + @"\" + name; var newNode = CreateNewFolderNode(name, newPath); MemoryNodes.Add(newNode); var res = new TreeViewModel { factor = new List <NodeViewModel> { newNode }, status = true, prompt = string.Empty }; return(Json(res, JsonRequestBehavior.AllowGet)); }
public NodeViewModel GetNodeById(string id) { if (MemoryNodes != null && MemoryNodes.Count > 0 && id != "-1") { var node = MemoryNodes.FirstOrDefault(n => n.id == id); if (node != null) { // not root folder or file node.includeRoot = false; return(node); } return(null); } // root node return(new NodeViewModel { includeRoot = true, path = ConfigurationManager.AppSettings["mappedRootDir"] }); }
private List <NodeViewModel> ConvertToNodeViewModel(FolderModel root, bool includeRoot = false) { var fml = new List <NodeViewModel>(); // folder children foreach (var folder in root.Folders) { var fm = new NodeViewModel { id = folder.Path.GetHashCode().ToString(), path = folder.Path, text = folder.Name, type = (int)TypeEnum.Folder, state = new StateModel { opened = false }, size = folder.Size, children = true }; MemoryNodes.Add(fm); fml.Add(fm); } // file children var fl = new List <NodeViewModel>(); foreach (var file in root.Files) { var f = new NodeViewModel { id = file.Path.GetHashCode().ToString(), path = file.Path, text = file.Name, size = file.Size, type = (int)TypeEnum.File, state = new StateModel { opened = false }, children = false }; MemoryNodes.Add(f); fl.Add(f); } fml.AddRange(fl); if (includeRoot) { var rootModel = new NodeViewModel { id = root.Path.GetHashCode().ToString(), path = root.Path, text = root.Name, type = (int)TypeEnum.Root, state = new StateModel { opened = true }, children = fml, }; MemoryNodes.Add(rootModel); return(new List <NodeViewModel> { rootModel }); } else { return(fml); } }