using System.Text.Json.Serialization;

namespace DataSharing.Share.Dtos.Province.XieTong.Receive
{
    /// <summary>
    /// 服务工单预警
    /// </summary>
    public class SendWarnInfoRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public ClientInfo token { get; set; }

        /// <summary>
        /// 服务工单
        /// </summary>
        public SendWarnInfoModel paras { get; set; }
    }

    /// <summary>
    /// 服务工单预警
    /// </summary>
    public class SendWarnInfoModel
    {
        /// <summary>
        /// 预警规则
        /// </summary>
        [JsonPropertyName("WARN_RULENAME")]
        [MDisplayName("预警规则")]
        [VRequired]
        [VStringLength(0, 50)]
        public string WarnRulename { get; set; }

        /// <summary>
        /// 规则明细
        /// </summary>
        [JsonPropertyName("WARN_DESCRIBE")]
        [MDisplayName("规则明细")]
        [VRequired]
        [VStringLength(0, 200)]
        public string WarnDescribe { get; set; }

        /// <summary>
        /// 预警应处理时间
        /// </summary>
        [JsonPropertyName("WARN_TIMEBF")]
        [MDisplayName("预警应处理时间")]
        [VRequired]
        public string? WarnTimebf { get; set; }

        /// <summary>
        /// 预警等级
        /// </summary>
        [JsonPropertyName("WARN_DEGREE")]
        [MDisplayName("预警等级")]
        [VRequired]
        [VStringLength(0, 50)]
        public string WarnDegree { get; set; }

        /// <summary>
        /// 预警类型
        /// </summary>
        [JsonPropertyName("WARN_TYPE")]
        [MDisplayName("预警类型")]
        [VRequired]
        [VStringLength(0, 50)]
        public string WarnType { get; set; }

        /// <summary>
        /// 预警时间
        /// </summary>
        [JsonPropertyName("WARN_DATE")]
        [MDisplayName("预警时间")]
        [VRequired]
        public string? WarnDate { get; set; }

        /// <summary>
        /// 服务工单编号
        /// </summary>
        [JsonPropertyName("CASE_SERIAL")]
        [VRequired]
        [VStringLength(0, 50)]
        [MDisplayName("服务工单编号")]
        public string CaseSerial { get; set; }

        /// <summary>
        /// 行政区划代码
        /// </summary>
        [JsonPropertyName("AREA_CODE")]
        [MDisplayName("行政区划代码")]
        [VRequired]
        [VStringLength(0, 24)]
        public string AreaCode { get; set; }
    }
}
