PageRenderTime 38ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/BlogEngine/DotNetSlave.BusinessLogic/IPublishable.cs

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