Files
EmailBill/Application/HolidayApplication.cs

36 lines
1.0 KiB
C#
Raw Normal View History

2026-02-11 13:00:01 +08:00
namespace Application;
/// <summary>
/// 节假日应用服务
/// </summary>
public class HolidayApplication(IHolidayService holidayService)
{
/// <summary>
/// 获取指定年月的节假日数据
/// </summary>
public async Task<List<HolidayDto>> GetMonthHolidaysAsync(int year, int month)
{
var startDate = new DateTime(year, month, 1).ToString("yyyy-MM-dd");
var endDate = new DateTime(year, month, DateTime.DaysInMonth(year, month)).ToString("yyyy-MM-dd");
var holidays = await holidayService.GetHolidaysByDateRangeAsync(startDate, endDate);
return holidays.Select(h => new HolidayDto
{
Date = h.Date,
HolidayName = h.HolidayName,
DayType = h.DayType,
Rest = h.Rest,
WeekDescCn = h.WeekDescCn
}).ToList();
}
/// <summary>
/// 手动触发同步节假日数据
/// </summary>
public async Task<bool> SyncHolidaysAsync(int year)
{
return await holidayService.FetchAndCacheHolidaysAsync(year);
}
}