using Hotline.Share.Requests;

namespace Hotline.Share.Dtos.Special
{
    public record AddSpecialNumberDto
    {
        /// <summary>
        /// 电话号码
        /// </summary>
        public string PhoneNumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Notes { get; set; }

        /// <summary>
        /// 政治身份ID
        /// </summary>
        public string? PoliticalIdentityValue { get; set; }

        /// <summary>
        /// 政治身份
        /// </summary>
        public string? PoliticalIdentityName { get; set; }
    }

    public record UpdateSpecialNumberDto : AddSpecialNumberDto
    {
        /// <summary>
        /// 案例库ID
        /// </summary>
        public string Id { get; set; }
    }

    public record DelSpecialNumberDto
    {
        public string Id { get; set; }
    }

    public record SpecialNumberDto : PagedRequest
    {
        /// <summary>
        /// 电话号码
        /// </summary>
        public string PhoneNumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>

        public string? Notes { get; set; }

        /// <summary>
        /// 政治身份ID
        /// </summary>
        public string? PoliticalIdentityValue { get; set; }

        /// <summary>
        /// 政治身份
        /// </summary>
        public string? PoliticalIdentityName { get; set; }

        /// <summary>
        /// 创建开始时间
        /// </summary>
        public DateTime? CreationTimeStart { get; set; }

        /// <summary>
        /// 创建结束时间
        /// </summary>
        public DateTime? CreationTimeEnd { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string? SortField { get; set; }

        /// <summary>
        /// 排序方式 // 0 升序 1 降序
        /// </summary>
        public int? SortRule { get; set; } = 0;
    }

    public record SpecialNumberInfoDto
    {
        /// <summary>
        /// 特殊电话ID
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 电话号码
        /// </summary>
        public string PhoneNumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Notes { get; set; }

        /// <summary>
        /// 政治身份ID
        /// </summary>
        public string? PoliticalIdentityValue { get; set; }

        /// <summary>
        /// 政治身份
        /// </summary>
        public string? PoliticalIdentityName { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreationTime { get; set; }
    }
}
