using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Hotline.Share.Enums.CallCenter;
using Hotline.Share.Requests;
using Hotline.Share.Tools;

namespace Hotline.Share.Dtos.CallCenter
{
    public record QueryCallsFixedDto : PagedRequest
    {
        public string? OrderNo { get; set; }

        public string? FromNo { get; set; }

        public string? ToNo { get; set; }

        public string? UserName { get; set; }

        public string? TelNo { get; set; }

        public EEndBy? EndBy { get; set; }

        /// <summary>
        /// 工号
        /// </summary>
        public string? StaffNo { get; set; }

        /// <summary>
        /// 呼入时间
        /// </summary>
        public DateTime? CallStartTimeStart { get; set; }

        /// <summary>
        /// 呼入时间
        /// </summary>
        public DateTime? CallStartTimeEnd { get; set; }

        /// <summary>
        /// 是否接通
        /// </summary>
        public bool? IsConnected { get; set; }

        /// <summary>
        /// 通话方向
        /// </summary>
        public ECallDirection? Direction { get; set; }

        /// <summary>
        /// 等待时长
        /// </summary>
        public int? WaitDurationStart { get; set; }

        /// <summary>
        /// 等待时长
        /// </summary>
        public int? WaitDurationEnd { get; set; }

        /// <summary>
        /// 是否失联工单
        /// true: 无订单; false: 有订单
        /// </summary>
        public bool? IsMissOrder { get; set; }

        /// <summary>
        /// 呼入类型
        /// 1: 呼入
        /// 2: 呼出
        /// 3: 未接
        /// 4:呼入白名单
        /// 5:呼入黑名单
        /// </summary>
        public int Type { get; set; }

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

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

        /// <summary>
        /// 通话记录编号
        /// </summary>
        public string? CallNo { get; set; }
    }
}
