private static bool TryFormatMediaRssCommunityStarRating(MediaRssCommunityStarRating starRatingToFormat, out XElement starRatingElement) { starRatingElement = default; if (starRatingToFormat == null) { return(false); } var childAttributes = new List <XAttribute>(); if (starRatingToFormat.Average != null) { childAttributes.Add(new XAttribute("average", starRatingToFormat.Average.Value.ToString("0.####", CultureInfo.InvariantCulture))); } if (starRatingToFormat.Count != null) { childAttributes.Add(new XAttribute("count", starRatingToFormat.Count.Value.ToString(CultureInfo.InvariantCulture))); } if (starRatingToFormat.Min != null) { childAttributes.Add(new XAttribute("min", starRatingToFormat.Min.Value.ToString("0.####", CultureInfo.InvariantCulture))); } if (starRatingToFormat.Max != null) { childAttributes.Add(new XAttribute("max", starRatingToFormat.Max.Value.ToString("0.####", CultureInfo.InvariantCulture))); } if (!childAttributes.Any()) { return(false); } starRatingElement = new XElement(_media + "starRating", childAttributes); return(true); }
private static bool TryParseMediaRssCommunityStarRating(XElement starRatingElement, out MediaRssCommunityStarRating parsedStarRating) { parsedStarRating = default; if (TryParseDoubleAttribute(starRatingElement?.Attribute("average"), out var parsedAverage)) { parsedStarRating = parsedStarRating ?? new MediaRssCommunityStarRating(); parsedStarRating.Average = parsedAverage; } if (TryParseIntegerAttribute(starRatingElement?.Attribute("count"), out var parsedCount)) { parsedStarRating = parsedStarRating ?? new MediaRssCommunityStarRating(); parsedStarRating.Count = parsedCount; } if (TryParseDoubleAttribute(starRatingElement?.Attribute("min"), out var parsedMin)) { parsedStarRating = parsedStarRating ?? new MediaRssCommunityStarRating(); parsedStarRating.Min = parsedMin; } if (TryParseDoubleAttribute(starRatingElement?.Attribute("max"), out var parsedMax)) { parsedStarRating = parsedStarRating ?? new MediaRssCommunityStarRating(); parsedStarRating.Max = parsedMax; } if (parsedStarRating == null) { return(false); } return(true); }