private static bool TryFormatMediaRssScene(MediaRssScene sceneToFormat, out XElement sceneElement) { sceneElement = default; if (sceneToFormat == null) { return(false); } if (!string.IsNullOrEmpty(sceneToFormat.Title)) { // ReSharper disable once ConstantNullCoalescingCondition sceneElement = sceneElement ?? new XElement(_media + "scene"); sceneElement.Add(new XElement("sceneTitle", sceneToFormat.Title)); } if (!string.IsNullOrEmpty(sceneToFormat.Description)) { sceneElement = sceneElement ?? new XElement(_media + "scene"); sceneElement.Add(new XElement("sceneDescription", sceneToFormat.Description)); } if (MinutesSecondsTimeSpanFormatter.TryFormatTimeAsString(sceneToFormat.StartTime, out var startTimeFormatted)) { sceneElement = sceneElement ?? new XElement(_media + "scene"); sceneElement.Add(new XElement("sceneStartTime", startTimeFormatted)); } if (MinutesSecondsTimeSpanFormatter.TryFormatTimeAsString(sceneToFormat.EndTime, out var endTimeFormatted)) { sceneElement = sceneElement ?? new XElement(_media + "scene"); sceneElement.Add(new XElement("sceneEndTime", endTimeFormatted)); } if (sceneElement == null) { return(false); } return(true); }
private static bool TryParseMediaRssScene(XElement sceneElement, XNamespace ns, out MediaRssScene parsedScene) { parsedScene = default; if (TryParseStringElement(sceneElement?.Element(ns + "sceneTitle") ?? sceneElement?.Element("sceneTitle"), out var parsedTitle)) { parsedScene = parsedScene ?? new MediaRssScene(); parsedScene.Title = parsedTitle; } if (TryParseStringElement(sceneElement?.Element(ns + "sceneDescription") ?? sceneElement?.Element("sceneDescription"), out var parsedDescription)) { parsedScene = parsedScene ?? new MediaRssScene(); parsedScene.Description = parsedDescription; } if (TryParseTimeSpanElement(sceneElement?.Element(ns + "sceneStartTime") ?? sceneElement?.Element("sceneStartTime"), out var parsedStartTime)) { parsedScene = parsedScene ?? new MediaRssScene(); parsedScene.StartTime = parsedStartTime; } if (TryParseTimeSpanElement(sceneElement?.Element(ns + "sceneEndTime") ?? sceneElement?.Element("sceneEndTime"), out var parsedEndTime)) { parsedScene = parsedScene ?? new MediaRssScene(); parsedScene.EndTime = parsedEndTime; } if (parsedScene == null) { return(false); } return(true); }