CostCalculationItem/IRaCIS.Core.API/Controllers/Trial/SubjectVisitController.cs

69 lines
2.5 KiB
C#

using IRaCIS.Application.Interfaces;
using IRaCIS.Application.ViewModels;
using System;
using System.Collections.Generic;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;
using IRaCIS.Core.Application.Contracts.Trial;
namespace IRaCIS.Api.Controllers
{
/// <summary>
/// 受试者访视
/// </summary>
[Route("subjectVisit")]
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Trial")]
public class SubjectVisitController : ControllerBase
{
private readonly ISubjectVisitService _subjectvisitService;
public SubjectVisitController(ISubjectVisitService subjectvisitService)
{
_subjectvisitService = subjectvisitService;
}
[HttpPost, Route("getVisitList")]
public IResponseOutput<PageOutput<SubjectVisitNewDTO>> GetVisitList(SubjectVisitSearchDTO subjectVisitSearch)
{
return ResponseOutput.Ok(_subjectvisitService.GetVisitList(subjectVisitSearch));
}
/// <summary>
///
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost, Route("addOrUpdate")]
public IResponseOutput AddOrUpdateSV(SubjectVisitCommand model)
{
return ResponseOutput.Ok(_subjectvisitService.AddOrUpdateSV(model));
}
/// <summary> 删除受试者访视</summary>
[HttpDelete, Route("delete/{id:guid}")]
public IResponseOutput DeleteSV(Guid id)
{
return _subjectvisitService.DeleteSV(id);
}
/// <summary>
/// 上传影像时 需要选择是属于 受试者访视那个阶段
/// </summary>
/// <param name="trialId"></param>
/// <param name="siteId"></param>
/// <param name="subjectId"></param>
/// <returns></returns>
[HttpGet, Route("getSubjectVisitSelectList/{trialId:guid}/{siteId:guid}/{subjectId:guid}")]
public IResponseOutput<List<SubjectVisitSelectDTO>> GetSubjectVisitSelectList(Guid trialId, Guid siteId, Guid subjectId)
{
return ResponseOutput.Ok(_subjectvisitService.GetSubjectVisitSelectList(trialId, siteId,subjectId));
}
[HttpGet, Route("getSubjectVisitList/{trialId:guid}/{subjectId:guid}")]
public IResponseOutput<IEnumerable<SubjectVisitDTO>> GetSubjectVisitList(Guid trialId, Guid subjectId)
{
return ResponseOutput.Ok(_subjectvisitService.GetSubjectVisitList(trialId, subjectId));
}
}
}