
using Hotline.Share.Dtos.CallCenter;

namespace Hotline.CallCenter.Calls
{
    public interface ITrCallRecordRepository
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="beginDate"></param>
        /// <param name="endDate"></param>
        /// <param name="noConnectByeTimes"></param>
        /// <param name="effectiveTimes"></param>
        /// <param name="connectByeTimes"></param>
        /// <param name="CallInOverConnRingTime"></param>
        /// <param name="SeatChaoTime"></param>
        /// <param name="Line"></param>
        /// <returns></returns>
        Task<List<QueryCallsDetailDto>> QueryCallsHourDetail(DateTime beginDate, DateTime endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, int CallInOverConnRingTime, int SeatChaoTime, string? Line);

        Task<List<BiCallDto>?> GetQueryCalls(DateTime beginDate, DateTime endDate, string? Line);
        Task<List<TrCallHourDto>?> GetCallHourList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes,int connectByeTimes, string source);


        Task<List<CallHotLineDto>> GetCallHotLineList(DateTime beginDate, DateTime endDate, string lineNum, int noConnectByeTimes, int effectiveTimes, int connectByeTimes,int ringTims);

        Task<object> GetCallList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, string type, string source, TimeSpan? startHourTo, int pageIndex, int pageSize);

	}
}
