using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.SQ;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace CoreCms.Net.IServices
{
///
/// 房间时段价格服务接口
///
public interface ISQRoomPricingServices : IBaseServices
{
///
/// 获取房间指定时段的价格配置
///
/// 房间ID
/// 时段类型
/// 日期(可选,用于查询特定日期的价格,如节假日)
/// 价格配置
Task GetRoomPricingAsync(int roomId, int timeSlotType, DateTime? date = null);
///
/// 获取房间所有时段的价格配置
///
/// 房间ID
/// 日期(可选)
/// 价格配置列表
Task> GetRoomAllPricingAsync(int roomId, DateTime? date = null);
///
/// 设置房间时段价格
///
/// 价格配置DTO
/// 是否成功
Task SetRoomPricingAsync(SetRoomPricingDto dto);
///
/// 批量设置房间价格
///
/// 批量价格配置DTO
/// 是否成功
Task BatchSetRoomPricingAsync(BatchSetRoomPricingDto dto);
///
/// 获取房间价格列表(含时段名称)
///
/// 房间ID
/// 价格配置DTO列表
Task> GetRoomPricingListAsync(int roomId);
///
/// 设置节假日价格
///
/// 节假日定价DTO
/// 是否成功
Task SetHolidayPricingAsync(SetHolidayPricingDto dto);
Task> GetHolidayPricingByDateAsync(int roomId, DateTime date);
Task DeleteHolidayPricingAsync(int roomId, DateTime date);
Task HasHolidayPricingAsync(int roomId, DateTime date);
}
}