using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using ZhonTai.Admin.Core.Dto;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Input;
using NPP.SmartSchedue.Api.Contracts.Services.Time.Output;
namespace NPP.SmartSchedue.Api.Contracts.Services.Time;
///
/// 班次规则服务接口
///
public interface IShiftRuleService
{
///
/// 根据ID获取班次规则详细信息
///
/// 规则ID
/// 班次规则详细信息
Task GetAsync(long id);
///
/// 返回班次列表数据
///
///
Task> GetListAsync();
///
/// 获取班次规则分页列表
///
/// 查询条件
/// 分页结果
Task> GetPageAsync(PageInput input);
///
/// 添加班次规则
///
/// 添加输入参数
/// 新创建的规则ID
Task AddAsync(ShiftRuleAddInput input);
///
/// 更新班次规则
///
/// 更新输入参数
///
Task UpdateAsync(ShiftRuleUpdateInput input);
///
/// 删除班次规则
///
/// 规则ID
///
Task DeleteAsync(long id);
///
/// 软删除班次规则
///
/// 规则ID
///
Task SoftDeleteAsync(long id);
///
/// 批量软删除班次规则
///
/// 规则ID数组
///
Task BatchSoftDeleteAsync(long[] ids);
///
/// 切换班次规则启用状态
///
/// 规则ID
/// 是否启用
///
Task ToggleStatusAsync(long id, bool isEnabled);
///
/// 启用班次规则
///
/// 规则ID
///
Task EnableAsync(long id);
///
/// 禁用班次规则
///
/// 规则ID
///
Task DisableAsync(long id);
}