/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         int hashCode = 41;
         if (FileId != null)
         {
             hashCode = hashCode * 59 + FileId.GetHashCode();
         }
         if (OwnerPassword != null)
         {
             hashCode = hashCode * 59 + OwnerPassword.GetHashCode();
         }
         if (UserPassword != null)
         {
             hashCode = hashCode * 59 + UserPassword.GetHashCode();
         }
         hashCode = hashCode * 59 + Encryption.GetHashCode();
         hashCode = hashCode * 59 + CanPrint.GetHashCode();
         hashCode = hashCode * 59 + CanCopy.GetHashCode();
         hashCode = hashCode * 59 + CanModify.GetHashCode();
         hashCode = hashCode * 59 + CanAddNotes.GetHashCode();
         hashCode = hashCode * 59 + CanFillFields.GetHashCode();
         hashCode = hashCode * 59 + CanCopyAccess.GetHashCode();
         hashCode = hashCode * 59 + CanAssemble.GetHashCode();
         hashCode = hashCode * 59 + CanPrintFull.GetHashCode();
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if PdfProtectParameters instances are equal
        /// </summary>
        /// <param name="input">Instance of PdfProtectParameters to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(PdfProtectParameters input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     FileId == input.FileId ||
                     (FileId != null &&
                      FileId.Equals(input.FileId))
                     ) &&
                 (
                     OwnerPassword == input.OwnerPassword ||
                     (OwnerPassword != null &&
                      OwnerPassword.Equals(input.OwnerPassword))
                 ) &&
                 (
                     UserPassword == input.UserPassword ||
                     (UserPassword != null &&
                      UserPassword.Equals(input.UserPassword))
                 ) &&
                 (
                     Encryption == input.Encryption ||
                     Encryption.Equals(input.Encryption)
                 ) &&
                 (
                     CanPrint == input.CanPrint ||
                     CanPrint.Equals(input.CanPrint)
                 ) &&
                 (
                     CanCopy == input.CanCopy ||
                     CanCopy.Equals(input.CanCopy)
                 ) &&
                 (
                     CanModify == input.CanModify ||
                     CanModify.Equals(input.CanModify)
                 ) &&
                 (
                     CanAddNotes == input.CanAddNotes ||
                     CanAddNotes.Equals(input.CanAddNotes)
                 ) &&
                 (
                     CanFillFields == input.CanFillFields ||
                     CanFillFields.Equals(input.CanFillFields)
                 ) &&
                 (
                     CanCopyAccess == input.CanCopyAccess ||
                     CanCopyAccess.Equals(input.CanCopyAccess)
                 ) &&
                 (
                     CanAssemble == input.CanAssemble ||
                     CanAssemble.Equals(input.CanAssemble)
                 ) &&
                 (
                     CanPrintFull == input.CanPrintFull ||
                     CanPrintFull.Equals(input.CanPrintFull)
                 ));
        }
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         int hashCode = 41;
         if (Error != null)
         {
             hashCode = hashCode * 59 + Error.GetHashCode();
         }
         hashCode = hashCode * 59 + RemainingTokens.GetHashCode();
         hashCode = hashCode * 59 + PageCount.GetHashCode();
         if (Version != null)
         {
             hashCode = hashCode * 59 + Version.GetHashCode();
         }
         if (Author != null)
         {
             hashCode = hashCode * 59 + Author.GetHashCode();
         }
         if (Title != null)
         {
             hashCode = hashCode * 59 + Title.GetHashCode();
         }
         if (Subject != null)
         {
             hashCode = hashCode * 59 + Subject.GetHashCode();
         }
         if (Producer != null)
         {
             hashCode = hashCode * 59 + Producer.GetHashCode();
         }
         if (Metadata != null)
         {
             hashCode = hashCode * 59 + Metadata.GetHashCode();
         }
         if (Keywords != null)
         {
             hashCode = hashCode * 59 + Keywords.GetHashCode();
         }
         hashCode = hashCode * 59 + HasUserPassword.GetHashCode();
         hashCode = hashCode * 59 + HasOwnerPassword.GetHashCode();
         hashCode = hashCode * 59 + Encryption.GetHashCode();
         hashCode = hashCode * 59 + CanPrint.GetHashCode();
         hashCode = hashCode * 59 + CanCopy.GetHashCode();
         hashCode = hashCode * 59 + CanModify.GetHashCode();
         hashCode = hashCode * 59 + CanAddNotes.GetHashCode();
         hashCode = hashCode * 59 + CanFillFields.GetHashCode();
         hashCode = hashCode * 59 + CanCopyAccess.GetHashCode();
         hashCode = hashCode * 59 + CanAssemble.GetHashCode();
         hashCode = hashCode * 59 + CanPrintFull.GetHashCode();
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if PdfGetInfoResponse instances are equal
        /// </summary>
        /// <param name="input">Instance of PdfGetInfoResponse to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(PdfGetInfoResponse input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Error == input.Error ||
                     (Error != null &&
                      Error.Equals(input.Error))
                     ) &&
                 (
                     RemainingTokens == input.RemainingTokens ||
                     RemainingTokens.Equals(input.RemainingTokens)
                 ) &&
                 (
                     PageCount == input.PageCount ||
                     PageCount.Equals(input.PageCount)
                 ) &&
                 (
                     Version == input.Version ||
                     (Version != null &&
                      Version.Equals(input.Version))
                 ) &&
                 (
                     Author == input.Author ||
                     (Author != null &&
                      Author.Equals(input.Author))
                 ) &&
                 (
                     Title == input.Title ||
                     (Title != null &&
                      Title.Equals(input.Title))
                 ) &&
                 (
                     Subject == input.Subject ||
                     (Subject != null &&
                      Subject.Equals(input.Subject))
                 ) &&
                 (
                     Producer == input.Producer ||
                     (Producer != null &&
                      Producer.Equals(input.Producer))
                 ) &&
                 (
                     Metadata == input.Metadata ||
                     (Metadata != null &&
                      Metadata.Equals(input.Metadata))
                 ) &&
                 (
                     Keywords == input.Keywords ||
                     (Keywords != null &&
                      Keywords.Equals(input.Keywords))
                 ) &&
                 (
                     HasUserPassword == input.HasUserPassword ||
                     HasUserPassword.Equals(input.HasUserPassword)
                 ) &&
                 (
                     HasOwnerPassword == input.HasOwnerPassword ||
                     HasOwnerPassword.Equals(input.HasOwnerPassword)
                 ) &&
                 (
                     Encryption == input.Encryption ||
                     Encryption.Equals(input.Encryption)
                 ) &&
                 (
                     CanPrint == input.CanPrint ||
                     CanPrint.Equals(input.CanPrint)
                 ) &&
                 (
                     CanCopy == input.CanCopy ||
                     CanCopy.Equals(input.CanCopy)
                 ) &&
                 (
                     CanModify == input.CanModify ||
                     CanModify.Equals(input.CanModify)
                 ) &&
                 (
                     CanAddNotes == input.CanAddNotes ||
                     CanAddNotes.Equals(input.CanAddNotes)
                 ) &&
                 (
                     CanFillFields == input.CanFillFields ||
                     CanFillFields.Equals(input.CanFillFields)
                 ) &&
                 (
                     CanCopyAccess == input.CanCopyAccess ||
                     CanCopyAccess.Equals(input.CanCopyAccess)
                 ) &&
                 (
                     CanAssemble == input.CanAssemble ||
                     CanAssemble.Equals(input.CanAssemble)
                 ) &&
                 (
                     CanPrintFull == input.CanPrintFull ||
                     CanPrintFull.Equals(input.CanPrintFull)
                 ));
        }