Beispiel #1
0
        public override bool[] Share(IElementoNube elemento, bool notify = true, string message = null, SharingLevel level = SharingLevel.ViewerNoComment, params string[] emailsUsersToShare)
        {
            bool[] shared = new bool[emailsUsersToShare.Length];
            List <FileMemberActionResult> results;

            Dropbox.Api.Sharing.AddMember[]      membersFolder;
            Dropbox.Api.Sharing.MemberSelector[] membersFile;
            Dropbox.Api.Sharing.AccessLevel      shareLevel = GetShareLevel(level);
            if (elemento.IsAFolder)
            {
                membersFolder = new Dropbox.Api.Sharing.AddMember[emailsUsersToShare.Length];
                for (int i = 0; i < membersFolder.Length; i++)
                {
                    membersFolder[i] = new Dropbox.Api.Sharing.AddMember(new Dropbox.Api.Sharing.MemberSelector.Email(emailsUsersToShare[i]), shareLevel);
                }
                client.Sharing.AddFolderMemberAsync(GetIdShareFolder(elemento), membersFolder, notify, message).Wait();
            }
            else
            {
                membersFile = new MemberSelector[emailsUsersToShare.Length];
                for (int i = 0; i < membersFile.Length; i++)
                {
                    membersFile[i] = new MemberSelector.Email(emailsUsersToShare[i]);
                }
                results = client.Sharing.AddFileMemberAsync(elemento.PathNube, membersFile, message, notify, shareLevel).Result;
                for (int i = 0; i < results.Count; i++)
                {
                    shared[i] = results[i].Result.IsSuccess;
                }
            }
            return(shared);
        }
Beispiel #2
0
        public override string GetIdShareFolder(IElementoNube elemento)
        {
            string idShare = null;

            if (elemento.IsAFolder)
            {
                idShare = client.Sharing.ShareFolderAsync(elemento.PathNube).Result.AsComplete?.Value.SharedFolderId;
            }
            else
            {
                throw new Exception("Los archivos no tienen id");
            }

            return(idShare);
        }
Beispiel #3
0
 public abstract bool[] Share(IElementoNube elemento, bool notify = true, string message = null, SharingLevel level = SharingLevel.ViewerNoComment, params string[] emailsUsersToShare);
Beispiel #4
0
 public abstract string GetIdShareFolder(IElementoNube elemento);
Beispiel #5
0
 public abstract string GetTemporalPath(IElementoNube elemento);
Beispiel #6
0
 public override string GetTemporalPath(IElementoNube elemento)
 {
     return(client.Files.GetTemporaryLinkAsync(elemento.PathNube).Result.Link);
 }