IPostable.cs 854 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace InABox.Core
  5. {
  6. public enum PostedStatus
  7. {
  8. NeverPosted,
  9. PostFailed,
  10. RequiresRepost,
  11. Posted
  12. }
  13. /// <summary>
  14. /// Flags an <see cref="Entity"/> as "Postable"; that is, it can be processed by an <see cref="IPoster{TEntity,TSettings}"/>.
  15. /// </summary>
  16. public interface IPostable
  17. {
  18. /// <summary>
  19. /// At what time this <see cref="IPostable"/> was processed. Set to <see cref="DateTime.MinValue"/> if not processed yet.
  20. /// When the <see cref="IPostable"/> is processed, this should be updated, so that we don't process things twice.
  21. /// </summary>
  22. DateTime Posted { get; set; }
  23. PostedStatus PostedStatus { get; set; }
  24. string PostedNote { get; set; }
  25. }
  26. }