Files
jinko.yikatong/Src/Dlhis.Canteen/Order/TimePeriodExtensions.cs

59 lines
1.4 KiB
C#

using Kurisu.Core.CustomClass;
namespace Dlhis.Canteen.Order;
/// <summary>
/// 临时的扩展类 todo: 嵌入框架
/// </summary>
public static class TimePeriodExtensions
{
public static bool IsPresent(this TimePeriod period, DateTime dateTime)
{
int hour = dateTime.Hour;
int minute = dateTime.Minute;
IReadOnlyList<int> hourPeriod = GetHourPeriod();
if (hourPeriod.Contains(hour))
{
if (hour == period.Start.Value.Hour)
{
return minute > period.Start.Value.Minute;
}
if (hour == period.End.Value.Hour)
{
return minute < period.End.Value.Minute;
}
}
return false;
IReadOnlyList<int> GetHourPeriod()
{
List<int> list = new List<int>();
if (period.IsCrossDay())
{
for (int i = 0; i < 25 - period.Start.Value.Hour; i++)
{
list.Add(period.Start.Value.Hour + i);
}
for (int j = 0; j < period.End.Value.Hour; j++)
{
list.Add(j + 1);
}
}
else
{
for (int k = period.Start.Value.Hour; k < period.End.Value.Hour + 1; k++)
{
list.Add(k);
}
}
return list;
}
}
}