static FolderMemberUserModel MapFolderMemberUser(UserMembershipInfo apiFolderMemberUser) { if (_debug) { Console.WriteLine("-------------------------------------"); Console.WriteLine("MapFolderMemberUser() called..."); } FolderMemberUserModel folderMemberUser = new FolderMemberUserModel() { FolderMemberUserAccountId = apiFolderMemberUser.User.AccountId, FolderMemberUserDisplayName = apiFolderMemberUser.User.DisplayName, FolderMemberUserEmail = apiFolderMemberUser.User.Email }; if (_debug) { Console.WriteLine("--------"); Console.WriteLine($"FolderMemberUserAccountId : {folderMemberUser.FolderMemberUserAccountId}"); Console.WriteLine($"FolderMemberUserEmail : {folderMemberUser.FolderMemberUserEmail}"); Console.WriteLine($"FolderMemberUserDisplayName: {folderMemberUser.FolderMemberUserDisplayName}"); } return(folderMemberUser); }
static async Task <string> GetSharedFolderOwner(DropboxClient userClient, string sharedFolderId) { if (_debug) { Console.WriteLine("-------------------------------------"); Console.WriteLine("GetSharedFolderOwner() called..."); } string sharedFolderOwner = ""; SharedFolderMembers sharedFolderMembers = await userClient.Sharing.ListFolderMembersAsync(sharedFolderId); UserMembershipInfo userMembershipInfo = sharedFolderMembers.Users.FirstOrDefault(i => i.AccessType.IsOwner); if (userMembershipInfo != null) { sharedFolderOwner = userMembershipInfo.User.Email; } if (_debug) { // before ...ContinueAsync() Console.WriteLine("----------------"); Console.WriteLine($"sharedFolderOwner before cursor check: {sharedFolderOwner}"); Console.WriteLine($"Any more owners? sharedFolderMembers.Cursor: {sharedFolderMembers.Cursor}"); } while (sharedFolderMembers.Cursor != null) { if (_debug) { Console.WriteLine("----------------"); Console.WriteLine($"sharedFolderMembers.Cursor not null: {sharedFolderMembers.Cursor}"); Console.WriteLine("Preparing to continue..."); } // sharedFolderMembers.Cursor flips to null once all folders are listed via ListFolderMembersContinueAsync() sharedFolderMembers = await userClient.Sharing.ListFolderMembersContinueAsync(sharedFolderMembers.Cursor); userMembershipInfo = sharedFolderMembers.Users.FirstOrDefault(i => i.AccessType.IsOwner); if (userMembershipInfo != null) { sharedFolderOwner = userMembershipInfo.User.Email; } if (_debug) { // after ...ContinueAsync() count Console.WriteLine("----------------"); Console.WriteLine($"sharedFolderOwner: {sharedFolderOwner}"); } } return(sharedFolderOwner); }