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); }
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); }
public abstract bool[] Share(IElementoNube elemento, bool notify = true, string message = null, SharingLevel level = SharingLevel.ViewerNoComment, params string[] emailsUsersToShare);
public abstract string GetIdShareFolder(IElementoNube elemento);
public abstract string GetTemporalPath(IElementoNube elemento);
public override string GetTemporalPath(IElementoNube elemento) { return(client.Files.GetTemporaryLinkAsync(elemento.PathNube).Result.Link); }