using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.PublicMessageCQ.Queries.GetAllMessages;

/// <summary>
/// DTO پیام عمومی برای Admin (با اطلاعات بیشتر)
/// </summary>
public class AdminPublicMessageDto
{
    public long Id { get; set; }
    public string Title { get; set; } = string.Empty;
    public string Content { get; set; } = string.Empty;
    public MessageType Type { get; set; }
    public string TypeName { get; set; } = string.Empty;
    public MessagePriority Priority { get; set; }
    public string PriorityName { get; set; } = string.Empty;
    public bool IsActive { get; set; }
    public DateTime? StartsAt { get; set; }
    public DateTime? ExpiresAt { get; set; }
    public long? CreatedByUserId { get; set; }
    public int ViewCount { get; set; }
    public string? LinkUrl { get; set; }
    public string? LinkText { get; set; }
    public DateTime Created { get; set; }
    public DateTime? LastModified { get; set; }
    public bool IsExpired { get; set; }
}
