/*public int CompareTo(object obj) * { * if (this == obj) * return 0; * * PdfTagPattern input = (obj as PdfTagPattern); * * if (input == null) * throw new ArgumentException("Parámetro de tipo incorrecto."); * * if (MatchesCount > input.MatchesCount) * return -1; * else * return 1; * * }*/ /// <summary> /// Determina si el objeto especificado es igual al objeto actual. /// </summary> /// <param name="obj">Objeto que se va a comparar con el objeto actual.</param> /// <returns>Es true si el objeto especificado es igual al objeto actual; /// en caso contrario, es false.</returns> public override bool Equals(object obj) { PdfTagPattern input = (obj as PdfTagPattern); if (input == null) { throw new ArgumentException("Parámetro de tipo incorrecto."); } bool equalsRectangle = false; if (SourceTypeName.Equals("ColorFontWordGroupsInfos")) { if (CFType == input.CFType) { if (CFType == "X") { if (PdfRectangle.Llx == input.PdfRectangle.Llx || PdfRectangle.Urx == input.PdfRectangle.Urx) { equalsRectangle = true; } } else if (CFType == "Y") { if (PdfRectangle.Lly == input.PdfRectangle.Lly || PdfRectangle.Ury == input.PdfRectangle.Ury) { equalsRectangle = true; } } else { equalsRectangle = true; } } } else if (PdfRectangle == null) { if (input.PdfRectangle == null) { equalsRectangle = true; } } else { equalsRectangle = PdfRectangle.Equals(input.PdfRectangle); } if (SourceTypeName.Equals("ColorFontWordGroupsInfos")) // Comprobamos que las propiedades del ColorFontWordGroups sean las mismas. { return(MetadataItemName == input.MetadataItemName && PdfPageN == input.PdfPageN && IsLastPage == input.IsLastPage && equalsRectangle && RegexPattern == input.RegexPattern && Position == input.Position && SourceTypeName == input.SourceTypeName && FillColor == input.FillColor && StrokeColor == input.StrokeColor && FontName == input.FontName && FontSize == input.FontSize && CFType == input.CFType); } else { return(MetadataItemName == input.MetadataItemName && PdfPageN == input.PdfPageN && IsLastPage == input.IsLastPage && equalsRectangle && RegexPattern == input.RegexPattern && Position == input.Position && SourceTypeName == input.SourceTypeName); } }
/// <summary> /// Determina si el objeto especificado es igual al objeto actual. /// </summary> /// <param name="obj">Objeto que se va a comparar con el objeto actual.</param> /// <returns>Es true si el objeto especificado es igual al objeto actual; /// en caso contrario, es false.</returns> public override bool Equals(object obj) { PdfTagPattern input = (obj as PdfTagPattern); if (input == null) { throw new ArgumentException("Parámetro de tipo incorrecto."); } bool equalsTextString = false; bool equalsRectangle = false; if (input.SourceTypeName.Equals("TextStringInfos")) // Comprobamos si las propiedades de los textString coinciden { if (FontSize != null && input.FontSize != null && ColorFill != null && input.ColorFill != null && ColorStroke != null && input.ColorStroke != null && FontType != null && input.FontType != null && TsType != null && input.TsType != null) { if (ColorFill.Equals(input.ColorFill) && ColorStroke.Equals(input.ColorStroke) && FontSize.Equals(input.FontSize) && FontType.Equals(input.FontType) && TsType.Equals(input.TsType)) { if ((TsType.Equals("X") || TsType.Equals("Y")) && TsCoordinate.Equals(input.TsCoordinate)) { equalsTextString = true; } else if (TsType.Equals("NA")) { equalsTextString = true; } } } } else { equalsTextString = true; } if (PdfRectangle != null && input.PdfRectangle != null) // Comprobamos si el rectángulo coincide && FontType==null { equalsRectangle = PdfRectangle.Equals(input.PdfRectangle); } else { equalsRectangle = true; } return((MetadataItemName == input.MetadataItemName && PdfPageN == input.PdfPageN && IsLastPage == input.IsLastPage && equalsRectangle && RegexPattern == input.RegexPattern && Position == input.Position && SourceTypeName == input.SourceTypeName) && equalsTextString); }