using System;
using IRaCIS.Application.Interfaces;
using IRaCIS.Application.ViewModels;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace IRaCIS.Api.Controllers.Doctor
{
///
/// 医生休假安排
///
[Route("holiday")]
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Reviewer")]
public class VacationController : ControllerBase
{
private readonly IVacationService _vacationService;
public VacationController(IVacationService vacationService)
{
_vacationService = vacationService;
}
///
/// 添加休假时间段
///
/// Status不传
///
[HttpPost, Route("addOrUpdateVacation")]
public IResponseOutput AddOrUpdateVacation(VacationCommand vacationViewModel)
{
return _vacationService.AddOrUpdateVacation(vacationViewModel);
}
///
/// 删除休假时间段
///
/// 记录Id
///
[HttpDelete, Route("deleteVacation/{holidayId:guid}")]
public IResponseOutput DeleteVacation(Guid holidayId)
{
return _vacationService.DeleteVacation(holidayId);
}
///
/// 获取休假时间段列表
///
///
[HttpGet, Route("getVacationList/{doctorId:guid}/{pageIndex:int}/{pageSize:int}")]
public IResponseOutput> GetVacationList(Guid doctorId, int pageIndex, int pageSize)
{
return ResponseOutput.Ok(_vacationService.GetVacationList(doctorId, pageIndex, pageSize)) ;
}
}
}