private async void GetFilesButton_Click(Object sender, RoutedEventArgs e) { ShowFiles(); try { if (FoldersListView.SelectedItem != null) { selectedFolder = ((Models.Folder)FoldersListView.SelectedItem); files = await graphClient.Me.Drive.Items[selectedFolder.Id] .Children.Request() .Select("id,name,size,weburl") .Filter("folder eq null").GetAsync(); } else { files = await graphClient.Me.Drive.Root.Children.Request() .Select("id,name,size,weburl") .Filter("folder eq null").GetAsync(); } MyFiles = new ObservableCollection <Models.File>(); while (true) { foreach (var file in files) { MyFiles.Add(new Models.File { Id = file.Id, Name = file.Name, Size = Convert.ToInt64(file.Size), Url = file.WebUrl }); } if (files.NextPageRequest == null) { break; } files = await files.NextPageRequest.GetAsync(); } DriveItemCountTextBlock.Text = $"You have {MyFiles.Count()} files"; FilesListView.ItemsSource = MyFiles; } catch (ServiceException ex) { DriveItemCountTextBlock.Text = $"We could not get files: {ex.Error.Message}"; } }
private async void FoldersListView_SelectionChanged(Object sender, SelectionChangedEventArgs e) { if (FoldersListView.SelectedItem != null) { selectedFolder = ((Models.Folder)FoldersListView.SelectedItem); myFolder = await graphClient.Me.Drive.Items[selectedFolder.Id] .Request().GetAsync(); FolderNameTextBlock.Text = myFolder.Name; FileCountTextBlock.Text = ((int)myFolder.Folder.ChildCount).ToString("N0"); FolderCreatedTextBlock.Text = myFolder.CreatedDateTime.GetValueOrDefault().ToString("d"); FolderLastModifiedTextBlock.Text = myFolder.LastModifiedDateTime.GetValueOrDefault().ToString("d"); FolderSharedTextBlock.Text = (myFolder.Shared != null) ? "Yes" : "No"; FolderHyperlinkButton.NavigateUri = new Uri(myFolder.WebUrl); } }
private async void SearchFilesButton_Click(Object sender, RoutedEventArgs e) { ShowFiles(); try { if (FoldersListView.SelectedItem != null) { selectedFolder = ((Models.Folder)FoldersListView.SelectedItem); searchedItems = await graphClient.Me.Drive.Items[selectedFolder.Id] .Search("Direct Deposit") .Request().GetAsync(); } MyFiles = new ObservableCollection <Models.File>(); foreach (var file in searchedItems) { MyFiles.Add(new Models.File { Id = file.Id, Name = file.Name, Size = Convert.ToInt64(file.Size), Url = file.WebUrl }); } DriveItemCountTextBlock.Text = $"You have {MyFiles.Count()} files"; FilesListView.ItemsSource = MyFiles; } catch (ServiceException ex) { DriveItemCountTextBlock.Text = $"We could not get files: {ex.Error.Message}"; } }