/// <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 (PageRange != null)
         {
             hashCode = hashCode * 59 + PageRange.GetHashCode();
         }
         hashCode = hashCode * 59 + RoiLeft.GetHashCode();
         hashCode = hashCode * 59 + RoiTop.GetHashCode();
         hashCode = hashCode * 59 + RoiWidth.GetHashCode();
         hashCode = hashCode * 59 + RoiHeight.GetHashCode();
         hashCode = hashCode * 59 + ScanMode.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcode1D.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcodeQR.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcodeMicroQR.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcodePDF417.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcodeDataMatrix.GetHashCode();
         hashCode = hashCode * 59 + ScanBarcodeAztec.GetHashCode();
         return(hashCode);
     }
 }