public static IEntry ToFolder(this YadFolderInfoRequestData data, YadItemInfoRequestData itemInfo, YadResourceStatsRequestData resStats, string path, string publicBaseUrl) { var fi = data.Resources; var res = new Folder(resStats?.Size ?? itemInfo?.Meta?.Size ?? 0, path) { IsChildsLoaded = true }; if (!string.IsNullOrEmpty(itemInfo?.Meta?.UrlShort)) { res.PublicLinks.Add(new PublicLinkInfo("short", itemInfo.Meta.UrlShort)); } res.Files.AddRange(fi .Where(it => it.Type == "file") .Select(f => f.ToFile(publicBaseUrl)) .ToGroupedFiles() ); foreach (var it in fi.Where(it => it.Type == "dir")) { res.Folders.Add(it.ToFolder()); } return(res); }
public static IEntry ToFolder(this YadFolderInfoRequestData data, string path) { var fi = data.Resources; //data.Models // .First(m => m.ModelName == "resources") // .Data // .Resources.ToList(); //if (0 == fi.Count) var res = new Folder(path) { IsChildsLoaded = true }; res.Files.AddRange(fi .Where(it => it.Type == "file") .Select(f => f.ToFile()) .ToGroupedFiles() ); foreach (var it in fi.Where(it => it.Type == "dir")) { res.Folders.Add(it.ToFolder()); } return(res); }