using System.Text.Json.Serialization; namespace SPMS.Application.DTOs.Stats; public class HistoryDetailResponseDto { [JsonPropertyName("message_code")] public string MessageCode { get; set; } = string.Empty; [JsonPropertyName("title")] public string Title { get; set; } = string.Empty; [JsonPropertyName("body")] public string Body { get; set; } = string.Empty; [JsonPropertyName("service_name")] public string ServiceName { get; set; } = string.Empty; [JsonPropertyName("first_sent_at")] public DateTime? FirstSentAt { get; set; } [JsonPropertyName("last_sent_at")] public DateTime? LastSentAt { get; set; } [JsonPropertyName("status")] public string Status { get; set; } = string.Empty; [JsonPropertyName("target_count")] public int TargetCount { get; set; } [JsonPropertyName("success_count")] public int SuccessCount { get; set; } [JsonPropertyName("fail_count")] public int FailCount { get; set; } [JsonPropertyName("success_rate")] public double SuccessRate { get; set; } [JsonPropertyName("open_count")] public int OpenCount { get; set; } [JsonPropertyName("open_rate")] public double OpenRate { get; set; } [JsonPropertyName("fail_reasons")] public List FailReasons { get; set; } = []; } public class HistoryFailReasonDto { [JsonPropertyName("reason")] public string Reason { get; set; } = string.Empty; [JsonPropertyName("count")] public int Count { get; set; } [JsonPropertyName("description")] public string Description { get; set; } = string.Empty; }