/// <summary> /// Initializes a new instance of the <see cref="Episode"/> class. /// </summary> /// <param name="podcastId">The podcast ID.</param> /// <param name="guid">The episode guid.</param> /// <param name="title">The episode title.</param> /// <param name="subtitle">The episode subtitle.</param> /// <param name="description">The episode description.</param> /// <param name="externalUrl">The episode external URL.</param> /// <param name="number">The episode number.</param> /// <param name="season">The episode season.</param> /// <param name="showNotes">The episode show notes.</param> /// <param name="authors">The episode authors.</param> /// <param name="explicit">A value that indicates whether the episode content is explicit.</param> /// <param name="coverImage">The episode cover image.</param> /// <param name="facebookImage">The episode Facebook image.</param> /// <param name="publicationType">The episode publication type.</param> /// <exception cref="ArgumentOutOfRangeException"><em>podcastId</em>, <em>number</em> or /// <em>season</em> is less then 1.</exception> /// <exception cref="System.ComponentModel.InvalidEnumArgumentException"><em>publicationType</em> /// is invalid enumeration.</exception> public Episode(long podcastId, string guid, string title, string subtitle, string description, string externalUrl, long number, long season, string showNotes, string authors, bool @explicit, string coverImage, string facebookImage, EpisodePublicationType publicationType) { Precondition.IsGreater(podcastId, (long)0, nameof(podcastId)); Precondition.IsGreater(number, (long)0, nameof(number)); Precondition.IsGreater(season, (long)0, nameof(season)); Precondition.IsValidEnum(publicationType, nameof(publicationType)); PodcastId = podcastId; Guid = guid; Title = title; Subtitle = subtitle; Description = description; ExternalUrl = externalUrl; Number = number; Season = season; ShowNotes = showNotes; Authors = authors; Explicit = @explicit; CoverImage = coverImage; FacebookImage = facebookImage; PublicationType = publicationType; }
/// <summary> /// Initializes a new instance of the <see cref="MediaClip"/> class. /// </summary> /// <param name="episodeId">The episode ID.</param> /// <param name="fileFormat">The media clip file format.</param> /// <param name="url">The media clip URL.</param> /// <exception cref="ArgumentException"><em>url</em> is empty or whitespace.</exception> /// <exception cref="ArgumentNullException"><em>url</em> is <strong>null</strong>.</exception> /// <exception cref="ArgumentOutOfRangeException"><em>episodeId</em> is less then 1.</exception> /// <exception cref="System.ComponentModel.InvalidEnumArgumentException"><em>fileFormat</em> /// is invalid enumeration.</exception> public MediaClip(long episodeId, FileFormat fileFormat, string url) { Precondition.IsGreater(episodeId, (long)0, nameof(episodeId)); Precondition.IsValidEnum(fileFormat, nameof(fileFormat)); Precondition.IsNotNullOrWhiteSpace(url, nameof(url)); EpisodeId = episodeId; FileFormat = fileFormat; Url = url; }
/// <summary> /// Initializes a new instance of the <see cref="ChapterMark"/> class. /// </summary> /// <param name="episodeId">The episode ID.</param> /// <param name="title">The chapter mark title.</param> /// <param name="startTime">The chapter mark start time.</param> /// <param name="url">URL to an external resource related to the chapter mark.</param> /// <exception cref="ArgumentException"><em>title</em> is empty or whitespace.</exception> /// <exception cref="ArgumentNullException"><em>title</em> is <strong>null</strong>.</exception> /// <exception cref="ArgumentOutOfRangeException"><em>episodeId</em> is less then 1, or /// <em>startTime</em> is less then 00:00:00.</exception> public ChapterMark(long episodeId, string title, TimeSpan startTime, string url) { Precondition.IsGreater(episodeId, (long)0, nameof(episodeId)); Precondition.IsNotNullOrWhiteSpace(title, nameof(title)); Precondition.IsGreaterOrEqual(startTime, TimeSpan.Zero, nameof(startTime)); EpisodeId = episodeId; Title = title; StartTime = startTime; Url = url; }
/// <summary> /// Initializes a new instance of the <see cref="Contributor"/> class. /// </summary> /// <param name="podcastId">The podcast ID.</param> /// <param name="name">The contributor name.</param> /// <param name="email">The contributor email address.</param> /// <param name="biography">The contributor biography.</param> /// <param name="avatarUrl">The contributor avatar URL.</param> /// <exception cref="ArgumentException"><em>name</em> is empty or whitespace.</exception> /// <exception cref="ArgumentNullException"><em>name</em> is <strong>null</strong>.</exception> /// <exception cref="ArgumentOutOfRangeException"><em>podcastId</em> is less then 1.</exception> public Contributor(long podcastId, string name, string email, string biography, string avatarUrl) { Precondition.IsGreater(podcastId, (long)0, nameof(podcastId)); Precondition.IsNotNullOrWhiteSpace(name, nameof(name)); PodcastId = podcastId; Name = name; Email = email; Biography = biography; AvatarUrl = avatarUrl; }
/// <summary> /// Initializes a new instance of the <see cref="Production"/> class. /// </summary> /// <param name="episodeId">The production ID.</param> /// <exception cref="ArgumentOutOfRangeException"><em>episodeId</em> is less then 1.</exception> public Production(long episodeId) { Precondition.IsGreater(episodeId, (long)0, nameof(episodeId)); EpisodeId = episodeId; }