/// This file is a part of RSS Bot for Telegram. /// License: MIT /// Author: CrazyHackGUT aka Kruzya (Sergey Gut) /// using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace Kruzya.TelegramBot.RichSiteSummary.Data { /// /// Represents a feed in database. /// public class Feed : RepresentableEntity { #region RepresentableEntity protected override string ViewableText { get => Title; } protected override string ViewableUrl { get => HomePage; } #endregion /// /// The unique feed id. /// [Key] public Guid FeedId { get; set; } /// /// The feed URL. /// [Required] public string Url { get; set; } /// /// The home page for this feed. /// [Required] public string HomePage { get; set; } /// /// Feed title. /// [MaxLength(256)] [Required] public string Title { get; set; } /// /// DateTime when feed fetched successfully in last time. /// [Required] public DateTime UpdatedAt { get; set; } /// /// This flag indicates, bot should monitor changes in post date, or not. /// [Required] [DefaultValue(false)] public bool WatchPostDate { get; set; } public Feed() { FeedId = new Guid(); UpdatedAt = DateTime.Now; } /// /// All posts from this feed. /// public virtual ICollection Posts { get; set; } /// /// All exists subscriber for this feed. /// public virtual ICollection Subscribers { get; set; } } }