Пример #1
0
        /*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);
            }
        }
Пример #2
0
        /// <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);
        }