Exemple #1
0
        internal async void GetFiles_WithValidArgument_MustResultAsSpected()
        {
            var firstData = new DTOs.FileSearch
            {
                value = new DTOs.File[] {
                    new DTOs.File {
                        file            = new DTOs.FileDetails {
                        },
                        id              = "fileID", name = "fileName",
                        parentReference = new DTOs.DirectoryParent {
                            id = "parentID", path = "/parent/folderName"
                        }
                    }
                },
                nextLink = "$top=1000&$page=2"
            };
            var secondData = new DTOs.FileSearch
            {
                value = new DTOs.File[] {
                    new DTOs.File {
                    },
                    new DTOs.File {
                        file            = new DTOs.FileDetails {
                        },
                        id              = "file2ID", name = "file2Name",
                        parentReference = new DTOs.DirectoryParent {
                            id = "parentID", path = "/parent/folderName"
                        }
                    },
                },
                nextLink = "https://graph.microsoft.com/v1.0/"
            };
            var client = ClientBuilder
                         .Create()
                         .With("$top=1000", firstData)
                         .With("$top=1000&$page=2", secondData)
                         .Build();
            var service   = new OneDriveService(client);
            var directory = new DirectoryVM {
                ID = "driveID!folderID"
            };

            var value = await service.GetFiles(directory);

            Assert.NotNull(value);
            Assert.Equal(2, value.Length);
            Assert.Equal("fileID", value[0].ID);
            Assert.Equal("fileName", value[0].Name);
            Assert.Equal("/parent/folderName", value[0].Path);
            Assert.Equal("parentID", value[0].ParentID);
        }
        public FileManagerVM getTreeData()
        {
            var dirVM = new DirectoryVM();

            dirVM.isRootNode = true;
            var di = new DirectoryInfo(config.Value.urlBase);

            if (!di.Exists)
            {
                di.Create();
            }
            PopulateTree(di.FullName, dirVM);
            var rootNode = addDirectory(di, new List <FileVM>());

            rootNode.isRootNode = true;
            return(new FileManagerVM {
                rootNode = rootNode, tree = dirVM.directories
            });
        }
Exemple #3
0
        static async Task <SelectorItem[]> getChildren(SelectorItem item = null)
        {
            if (item == null || string.IsNullOrEmpty(item.ID))
            {
                var driveList = await DriveService.GetDrives();

                return(driveList
                       .Select(x => new SelectorItem
                {
                    ID = x.ID,
                    Name = x.Name,
                    Path = x.Path,
                    Type = enSelectorItemType.Drive
                })
                       .ToArray());
            }
            else if (item.Type == enSelectorItemType.Drive || item.Type == enSelectorItemType.Folder)
            {
                var folder = new DirectoryVM
                {
                    ID       = item.ID,
                    Name     = item.Name,
                    Path     = item.Path,
                    ParentID = item.Parent?.ID
                };

                var folderList = (await DriveService.GetDirectories(folder)).ToList();
                var fileList   = (await DriveService.GetFiles(folder)).ToList();

                var itemList = folderList
                               .Select(x => new SelectorItem
                {
                    ID     = x.ID,
                    Name   = x.Name,
                    Path   = x.Path,
                    Parent = item,
                    Type   = enSelectorItemType.Folder
                })
                               .Union(
                    fileList
                    .Select(x => new SelectorItem
                {
                    ID     = x.ID,
                    Name   = x.Name,
                    Path   = x.Path,
                    Parent = item,
                    Type   = enSelectorItemType.File
                })
                    .ToList()
                    ).ToList();
                itemList.Insert(0, new SelectorItem {
                    Name = "..", ID = item.Parent?.ID, Path = item.Parent?.Path, Parent = item?.Parent?.Parent
                });

                return(itemList.ToArray());
            }
            else
            {
                return(new SelectorItem[] { });
            }
        }