public static PermissionFlags Convert(IDoxFolderPermissions permissions) { PermissionFlags flags = PermissionFlags.NoPermissions; if (permissions.CanComment) flags |= PermissionFlags.CanComment; if (!permissions.CanAccessAnonymously) flags |= PermissionFlags.CanOnlyAccessIfLoggedIn; if (permissions.CanInviteWithLink) flags |= PermissionFlags.CanInviteOthers; if (permissions.CanDownloadOriginal) flags |= PermissionFlags.CanDownloadOriginal; return flags; }
private void SaveSendLinkJobInfo(IList<SendLinkInfo> files, IList<string> emailAddresses, string subject, IDoxFolderPermissions permissions, IDoxFolder folder, string workingDirectory) { var sendLinkJobInfo = new SendLinkJobInfo { EmailAddresses = emailAddresses.ToList(), SendLinks = files.ToList(), Subject = subject, PermissionFlags = DoxFolderPermissions.Convert(permissions), ExpiryUtc = folder.ExpiryUtc.GetValueOrDefault(DateTime.MaxValue), GetReturnReceipt = folder.GetReturnReceipt, PrSearchKey = this.PrSearchKey }; string jobInfoFile = Path.Combine(workingDirectory, "SendLinkJobInfo.xml"); using (var fileStream = new FileStream(jobInfoFile, FileMode.Create, FileAccess.Write, FileShare.None)) { var xmlSerializer = new System.Xml.Serialization.XmlSerializer(sendLinkJobInfo.GetType()); xmlSerializer.Serialize(fileStream, sendLinkJobInfo); } }
private void GetFolderProperties(string subject, IList<IActionProperty> actionPropertySet, out IDoxFolderProperties properties, out IDoxFolderPermissions permissions) { DateTime? expiryUtc; bool getReturnReceipt; PermissionFlags flags; Logger.LogDebug("Extracting action properties."); ExtractProperties(actionPropertySet, out expiryUtc, out getReturnReceipt, out flags); properties = new DoxFolderProperties { Name = subject, Description = subject, ExpiryUtc = expiryUtc, GetReturnReceipt = getReturnReceipt, }; permissions = DoxFolderPermissions.Convert(flags); }
public bool UpdatePermissions(IDoxFolderPermissions permissions) { return _api.RetryAction( ()=> _apiHelper.SetFolderPermissions(Id, DoxFolderPermissions.Convert(permissions))); }