/// <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))); }