private static bool TryFormatMediaRssStatus(MediaRssStatus statusToFormat, out XElement statusElement) { statusElement = default; if (statusToFormat == null) { return(false); } var childObjects = new List <object>(); if (statusToFormat.State != null) { childObjects.Add(new XAttribute("state", statusToFormat.State.Value.ToString().ToLowerInvariant())); } if (!string.IsNullOrEmpty(statusToFormat.Reason)) { childObjects.Add(new XAttribute("reason", statusToFormat.Reason)); } if (!childObjects.Any()) { return(false); } statusElement = new XElement(_media + "status", childObjects); return(true); }
private static bool TryParseMediaRssStatus(XElement statusElement, out MediaRssStatus parsedStatus) { parsedStatus = default; if (TryParseEnumAttribute <MediaRssStatusState>(statusElement?.Attribute("state"), out var parsedState)) { parsedStatus = parsedStatus ?? new MediaRssStatus(); parsedStatus.State = parsedState; } if (TryParseStringAttribute(statusElement?.Attribute("reason"), out var parsedReason)) { parsedStatus = parsedStatus ?? new MediaRssStatus(); parsedStatus.Reason = parsedReason; } if (parsedStatus == null) { return(false); } return(true); }