using System; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using VkNet.Utils.JsonConverter; namespace VkNet.Model; /// /// Комментарий к записи. /// См. описание . /// [DebuggerDisplay("Id = {Id}, Text = {Text}, Date = {Date}")] [Serializable] public class Comment { /// /// Идентификатор комментария. /// [JsonProperty("id")] public long Id { get; set; } /// /// Идентификатор автора комментария. /// [JsonProperty("from_id")] public long? FromId { get; set; } /// /// Идентификатор автора комментария. /// [JsonProperty("post_id")] public long? PostId { get; set; } /// /// Идентификатор фотографии. /// [JsonProperty("pid")] public long? PhotoId { get; set; } /// /// Идентификатор автора комментария. /// [JsonProperty("owner_id")] public long? OwnerId { get; set; } /// /// Идентификатор автора комментария. /// [JsonProperty("parents_stack")] public ReadOnlyCollection ParentsStack { get; set; } /// /// Идентификатор автора комментария. /// [JsonProperty("thread")] public CommentThread Thread { get; set; } /// /// Дата и время создания комментария. /// [JsonConverter(typeof(UnixDateTimeConverter))] [JsonProperty("date")] public DateTime? Date { get; set; } /// /// Текст комментария. /// [JsonProperty("text")] public string Text { get; set; } /// /// Информация о VK Donut. /// [JsonProperty("donut")] public CommentDonut Donut { get; set; } /// /// Идентификатор пользователя или сообщества, в ответ которому оставлен текущий /// комментарий (если применимо). /// [JsonProperty("reply_to_user")] public long? ReplyToUser { get; set; } /// /// Идентификатор комментария, в ответ на который оставлен текущий комментарий /// (если применимо). /// [JsonProperty("reply_to_comment")] public long? ReplyToComment { get; set; } /// /// Объект, содержащий информацию о медиавложениях в комментарии. См. описание /// формата медиавложений. /// [JsonConverter(typeof(AttachmentJsonConverter))] [JsonProperty("attachments")] public ReadOnlyCollection Attachments { get; set; } /// /// Первое приложение к комментарию. /// public Attachment Attachment => Attachments.FirstOrDefault(); #region Поля, установленные экспериментально /// /// Информация о числе людей, которым понравился данный комментарий. /// [JsonProperty("likes")] public Likes Likes { get; set; } #endregion }