Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #3
0
        /// <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;
        }
Beispiel #4
0
        /// <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;
        }
Beispiel #5
0
        /// <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;
        }