private static FileNodeInfo[] GetFiles(ISharePointCommandContext context, FolderNodeInfo folderNodeInfo) { List <FileNodeInfo> nodeInfos = new List <FileNodeInfo>(); try { SPList styleLibrary = context.Web.GetList(Utilities.CombineUrl(context.Web.ServerRelativeUrl, "Style%20Library")); SPFolder folder = styleLibrary.RootFolder; if (folderNodeInfo != null) { folder = context.Web.GetFolder(folderNodeInfo.Url); } SPFileCollection files = folder.Files; if (files != null) { nodeInfos = files.ToFileNodeInfo(); } } catch (Exception ex) { context.Logger.WriteLine(String.Format(Resources.FileSharePointCommands_RetrieveFilesException, ex.Message, Environment.NewLine, ex.StackTrace), LogCategory.Error); } return(nodeInfos.ToArray()); }
public IHttpActionResult Get(int key) { FolderNodeInfo result = null; this.ProcessEntity(() => { var node = Service.GetNodeById(key); result = Convert(node, false)?.FirstOrDefault(); }); return(Ok(result)); }
private List <FolderNodeInfo> Convert(TreeNode <MediaFolderNode> folderNode, bool addChildren = true) { if (folderNode == null) { return(null); } var result = new List <FolderNodeInfo>(); ConvertNode(folderNode); return(result); void ConvertNode(TreeNode <MediaFolderNode> node) { var val = node.Value; var parent = new FolderNodeInfo { Id = val.Id, ParentId = val.ParentId, AlbumName = val.AlbumName, Name = val.Name, IsAlbum = val.IsAlbum, Path = val.Path, Slug = val.Slug, HasChildren = node.HasChildren, Children = new List <FolderNodeInfo.FolderChildNodeInfo>() }; if (node.HasChildren) { foreach (var child in node.Children) { parent.Children.Add(new FolderNodeInfo.FolderChildNodeInfo { Id = child.Value.Id, Name = child.Value.Name, Path = child.Value.Path }); } } result.Add(parent); if (addChildren && node.HasChildren) { node.Children.Each(child => ConvertNode(child)); } } }
public IHttpActionResult CreateFolder(ODataActionParameters parameters) { FolderNodeInfo newFolder = null; this.ProcessEntity(() => { var path = parameters.GetValueSafe <string>("Path"); var result = _mediaService.CreateFolder(path); newFolder = Convert(result.Node, false)?.FirstOrDefault(); }); return(Created(newFolder)); }
public IHttpActionResult MoveFolder(ODataActionParameters parameters) { FolderNodeInfo movedFolder = null; this.ProcessEntity(() => { var path = parameters.GetValueSafe <string>("Path"); var destinationPath = parameters.GetValueSafe <string>("DestinationPath"); var result = _mediaService.MoveFolder(path, destinationPath); movedFolder = Convert(result.Node, false)?.FirstOrDefault(); }); return(Ok(movedFolder)); }
internal static List <FolderNodeInfo> ToFolderNodeInfo(this SPFolderCollection folders) { List <FolderNodeInfo> nodeInfos = new List <FolderNodeInfo>(); foreach (SPFolder folder in folders) { FolderNodeInfo nodeInfo = new FolderNodeInfo { Name = folder.Name, Url = folder.Url }; nodeInfos.Add(nodeInfo); } return(nodeInfos); }