using IRaCIS.Application.Interfaces;
using IRaCIS.Application.ViewModels;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
namespace IRaCIS.Api.Controllers
{
///
/// 访视计划
///
[Route("visitPlan")]
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Trial")]
public class VisitPlanController : ControllerBase
{
private readonly IVisitPlanService _visitPlanService;
public VisitPlanController(IVisitPlanService visitPlanService)
{
_visitPlanService = visitPlanService;
}
/// 分页获取项目访视计划[New]
[HttpPost, Route("getTrialVisitStageList")]
[ApiExplorerSettings(IgnoreApi = true)]
public IResponseOutput> GetTrialVisitStageList(VisitPlanQueryDTO param)
{
return ResponseOutput.Ok(_visitPlanService.GetTrialVisitStageList(param));
}
/// 根据项目Id,获取项目访视计划(不分页)[New]
[HttpGet, Route("getVisitStageList/{trialId:guid}")]
public IResponseOutput> GetVisitStageList(Guid trialId)
{
return ResponseOutput.Ok(_visitPlanService.GetVisitStageList(trialId)) ;
}
///
/// 获取访视计划下拉框列表
///
///
///
[HttpGet, Route("getTrialVisitStageSelect/{trialId:guid}")]
public IResponseOutput> GetTrialVisitStageSelect(Guid trialId)
{
return ResponseOutput.Ok(_visitPlanService.GetTrialVisitStageSelect(trialId));
}
/// 添加或更新访视计划某项[New]
[HttpPost, Route("addOrUpdateVisitStage")]
public IResponseOutput AddOrUpdateVisitStage(VisitPlanCommand param)
{
return _visitPlanService.AddOrUpdateVisitStage(param);
}
/// 删除项目计划某一项[New]
[HttpDelete, Route("deleteVisitStage/{id:guid}")]
public IResponseOutput DeleteVisitStage(Guid id)
{
return _visitPlanService.DeleteVisitStage(id);
}
}
}