public static List <MediaContent> Build(MediaGroup mediaGroup) { Throw.IfIsNull(mediaGroup, nameof(mediaGroup)); return(mediaGroup.Raw.Elements() .Select(mediaContentElement => BuildCore(mediaGroup, mediaContentElement)) .ToList()); }
private static MediaContent BuildCore(MediaGroup mediaGroup, XElement mediaContentElement) { Throw.IfIsNull(mediaContentElement, nameof(mediaContentElement)); Throw.IfElementNameIsNotMatch(mediaContentElement, ElementName); return(new MediaContent(mediaGroup) { Raw = mediaContentElement, FileSize = mediaContentElement.GetAttributeValue <int>(FileSizeName), Url = mediaContentElement.GetAttributeValue(UrlName), }); }
private static MediaGroup BuildCore(Lesson lesson, XElement mediaGroupElement) { Throw.IfElementNameIsNotMatch(mediaGroupElement, ElementName); var mediaGroup = new MediaGroup(lesson) { Raw = mediaGroupElement, }; mediaGroup.Contents = MediaContent.Build(mediaGroup); return(mediaGroup); }
private static Lesson BuildCore(Channel channel, XElement lessonElement) { Throw.IfIsNull(lessonElement, nameof(lessonElement)); Throw.IfElementNameIsNotMatch(lessonElement, ElementName); var lesson = new Lesson(channel) { Raw = lessonElement, Title = lessonElement.GetElementValue(TitleName), Link = lessonElement.GetElementValue(LinkName) }; lesson.Media = MediaGroup.Build(lesson); lesson.Enclosure = Enclosure.Build(lesson); lesson.Caption = new Caption(lesson); return(lesson); }
private MediaContent(MediaGroup mediaGroup) { Group = mediaGroup; }