Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }