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