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 { /// /// 受试者访视 /// [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> GetVisitList(SubjectVisitSearchDTO subjectVisitSearch) { return ResponseOutput.Ok(_subjectvisitService.GetVisitList(subjectVisitSearch)); } /// /// /// /// /// [HttpPost, Route("addOrUpdate")] public IResponseOutput AddOrUpdateSV(SubjectVisitCommand model) { return ResponseOutput.Ok(_subjectvisitService.AddOrUpdateSV(model)); } /// 删除受试者访视 [HttpDelete, Route("delete/{id:guid}")] public IResponseOutput DeleteSV(Guid id) { return _subjectvisitService.DeleteSV(id); } /// /// 上传影像时 需要选择是属于 受试者访视那个阶段 /// /// /// /// /// [HttpGet, Route("getSubjectVisitSelectList/{trialId:guid}/{siteId:guid}/{subjectId:guid}")] public IResponseOutput> GetSubjectVisitSelectList(Guid trialId, Guid siteId, Guid subjectId) { return ResponseOutput.Ok(_subjectvisitService.GetSubjectVisitSelectList(trialId, siteId,subjectId)); } [HttpGet, Route("getSubjectVisitList/{trialId:guid}/{subjectId:guid}")] public IResponseOutput> GetSubjectVisitList(Guid trialId, Guid subjectId) { return ResponseOutput.Ok(_subjectvisitService.GetSubjectVisitList(trialId, subjectId)); } } }