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