public IXLWorkbookProtection AllowElement(XLWorkbookProtectionElements element, Boolean allowed = true) { if (allowed) { AllowedElements |= element; } else { AllowedElements &= ~element; } return(this); }
public IXLWorkbookProtection DisallowElement(XLWorkbookProtectionElements element) { return(AllowElement(element, allowed: false)); }
IXLElementProtection <XLWorkbookProtectionElements> IXLElementProtection <XLWorkbookProtectionElements> .DisallowElement(XLWorkbookProtectionElements element) => DisallowElement(element);
IXLElementProtection <XLWorkbookProtectionElements> IXLElementProtection <XLWorkbookProtectionElements> .AllowElement(XLWorkbookProtectionElements element, Boolean allowed) => AllowElement(element, allowed);
public XLWorkbookProtection(Algorithm algorithm, XLWorkbookProtectionElements allowedElements) { this.Algorithm = algorithm; this.AllowedElements = allowedElements; }
public IXLWorkbookProtection Protect(String password, Algorithm algorithm = DefaultProtectionAlgorithm, XLWorkbookProtectionElements allowedElements = XLWorkbookProtectionElements.Windows) { if (IsProtected) { throw new InvalidOperationException("The workbook structure is already protected"); } else { IsProtected = true; password = password ?? ""; this.Algorithm = algorithm; this.Base64EncodedSalt = Utils.CryptographicAlgorithms.GenerateNewSalt(this.Algorithm); this.PasswordHash = Utils.CryptographicAlgorithms.GetPasswordHash(this.Algorithm, password, this.Base64EncodedSalt, this.SpinCount); } this.AllowedElements = allowedElements; return(this); }