Exemple #1
0
        /// <summary>
        /// Creates culture string
        /// </summary>
        /// <param name="source">
        /// Source XElement
        /// </param>
        /// <param name="name">
        /// Name as XName
        /// </param>
        /// <param name="stripParagraphTag">
        /// True if paragraph tagging has to be removed
        /// </param>
        /// <returns>
        /// Culture string
        /// </returns>
        public static CultureString CreateCultureString(XElement source, XName name, bool stripParagraphTag)
        {
            CultureString cultureString = new CultureString();

            foreach (XElement element in source.Elements(name))
            {
                string value = element.Value;
                if (stripParagraphTag)
                {
                    if (value.StartsWith("<p>"))
                    {
                        value = value.Remove(0, 2);
                    }

                    if (value.EndsWith("<p>"))
                    {
                        value = value.Remove(value.Length - 3, value.Length);
                    }
                }

                cultureString.Add(value, element.AttributeValue(XDocName.Lang));
            }

            return(cultureString);
        }
        /// <summary>
        /// Checks whether one culture string equal to other
        /// </summary>
        /// <param name="other">
        /// Culture string to compare with
        /// </param>
        /// <returns>
        /// True if both are equal
        /// </returns>
        public bool Equals(CultureString other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(((int[])Enum.GetValues(typeof(Language))).Any(value => Get(value) == other.Get(value)));
        }