12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using Hotline.Share.Dtos.Settings;
- using Hotline.Share.Enums.Settings;
- using XF.Domain.Dependency;
- namespace Hotline.Settings.TimeLimitDomain;
- public interface IExpireTimeHandler
- {
- /// <summary>
- /// 计算工作时间分钟数
- /// </summary>
- /// <param name="beginTime"></param>
- /// <param name="endTime"></param>
- /// <param name="workTime">工作日时间段</param>
- /// <param name="isCenter"></param>
- /// <returns>秒数</returns>
- public Task<int> CalcWorkTimeAsync(DateTime beginTime, DateTime endTime, List<string>? workTime, bool isCenter);
- /// <summary>
- /// 计算工作时间分钟数(已改返回秒)
- /// </summary>
- /// <param name="beginTime"></param>
- /// <param name="endTime"></param>
- /// <param name="workTime">工作日时间段</param>
- /// <param name="isCenter"></param>
- /// <returns></returns>
- public Task<int> CalcWorkTimeExAsync(DateTime beginTime, DateTime endTime, List<string>? workTime, bool isCenter);
- /// <summary>
- /// 计算工作日
- /// </summary>
- /// <param name="beginTime"></param>
- /// <param name="timeType"></param>
- /// <param name="timeValue"></param>
- /// <param name="workTime">工作日时间段</param>
- /// <param name="Percentage">即将超期百分比</param>
- /// <param name="PercentageOne">超期百分比第一级</param>
- /// <returns></returns>
- public Task<TimeResult> CalcEndTimeAsync(DateTime beginTime, ETimeType timeType, List<string>? workTime, int timeValue, int Percentage, int PercentageOne);
- /// <summary>
- /// 计算时间间隔
- /// </summary>
- /// <param name="beginTime"></param>
- /// <param name="endTime"></param>
- /// <param name="isCenter"></param>
- /// <returns></returns>
- public string CalcTimeInterval(DateTime beginTime, DateTime endTime, bool isCenter);
- /// <summary>
- /// 倒推工作日
- /// </summary>
- /// <param name="date"></param>
- /// <returns></returns>
- public Task<DateTime> CalcWorkTimeReduceAsync(DateTime date, int timeValue);
- }
|