PageRenderTime 30ms CodeModel.GetById 26ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/BlogEngine/DotNetSlave.BusinessLogic/IPublishable.cs

#
C# | 102 lines | 25 code | 18 blank | 59 comment | 0 complexity | f7668fb7d21961edc5dd211e34bae386 MD5 | raw file
  1namespace BlogEngine.Core
  2{
  3    using System;
  4
  5    /// <summary>
  6    /// An interface implemented by the classed that can be published.
  7    ///     <remarks>
  8    /// To implemnet this interface means that the class can be searched
  9    ///         from the search page and that it can be syndicated in RSS and ATOM.
 10    ///     </remarks>
 11    /// </summary>
 12    public interface IPublishable
 13    {
 14        #region Properties
 15
 16        /// <summary>
 17        ///     Gets the absolute link.
 18        /// </summary>
 19        /// <value>The absolute link.</value>
 20        Uri AbsoluteLink { get; }
 21
 22        /// <summary>
 23        ///     Gets the author.
 24        /// </summary>
 25        /// <value>The author.</value>
 26        string Author { get; }
 27
 28        /// <summary>
 29        ///     Gets the categories.
 30        /// </summary>
 31        /// <value>The categories.</value>
 32        StateList<Category> Categories { get; }
 33
 34        /// <summary>
 35        ///     Gets the content.
 36        /// </summary>
 37        /// <value>The content.</value>
 38        string Content { get; }
 39
 40        /// <summary>
 41        ///     Gets the date created.
 42        /// </summary>
 43        /// <value>The date created.</value>
 44        DateTime DateCreated { get; }
 45
 46        /// <summary>
 47        ///     Gets the date modified.
 48        /// </summary>
 49        /// <value>The date modified.</value>
 50        DateTime DateModified { get; }
 51
 52        /// <summary>
 53        ///     Gets the description.
 54        /// </summary>
 55        /// <value>The description.</value>
 56        string Description { get; }
 57
 58        /// <summary>
 59        ///     Gets the id.
 60        /// </summary>
 61        /// <value>The published item id.</value>
 62        Guid Id { get; }
 63
 64        /// <summary>
 65        ///     Gets a value indicating whether or not this item is published.
 66        /// </summary>
 67        bool IsPublished { get; }
 68
 69        /// <summary>
 70        ///     Gets the relative link.
 71        /// </summary>
 72        /// <value>The relative link.</value>
 73        string RelativeLink { get; }
 74
 75        /// <summary>
 76        ///     Gets the title of the object
 77        /// </summary>
 78        string Title { get; }
 79
 80        /// <summary>
 81        ///     Gets a value indicating whether or not this item should be shown.
 82        /// </summary>
 83        bool IsVisible { get; }
 84
 85        /// <summary>
 86        ///     Gets a value indicating whether or not this item is visible to the public.
 87        /// </summary>
 88        bool IsVisibleToPublic { get; }
 89
 90        #endregion
 91
 92        #region Public Methods
 93
 94        /// <summary>
 95        /// Raises the <see cref="E:Serving"/> event.
 96        /// </summary>
 97        /// <param name="eventArgs">The <see cref="BlogEngine.Core.ServingEventArgs"/> instance containing the event data.</param>
 98        void OnServing(ServingEventArgs eventArgs);
 99
100        #endregion
101    }
102}