using System; using IRaCIS.Application; 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 { /// /// 医生临床试验经历 /// [Route("doctor")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Reviewer")] public class TrialExperienceController : ControllerBase { private readonly ITrialExperienceService _doctorTrialExperienceService; public TrialExperienceController(ITrialExperienceService doctorTrialExperienceService) { _doctorTrialExperienceService = doctorTrialExperienceService; } /// /// 根据医生Id,获取临床试验经历 界面所有数据 /// [HttpGet, Route("getTrialExperience/{doctorId:guid}")] public IResponseOutput GetClinicalTrialExperience(Guid doctorId) { return ResponseOutput.Ok(_doctorTrialExperienceService.GetTrialExperience(doctorId)) ; } /// 添加或更新医生临床经验列表项 [HttpPost, Route("addOrUpdateTrialExperience")] public IResponseOutput AddOrUpdateClinicalTrialExperience(TrialExperienceCommand trialExperienceViewModel) { return _doctorTrialExperienceService.AddOrUpdateTrialExperience(trialExperienceViewModel); } /// /// 更新-GCP和其他临床经验 /// /// /// [HttpPost, Route("updateGcpExperience")] public IResponseOutput UpdateDoctorGcpAndOtherExperience( GCPExperienceCommand trialExperienceGcpViewModel) { return _doctorTrialExperienceService.UpdateGcpExperience(trialExperienceGcpViewModel); } /// /// 更新其他技能经验 /// [HttpPost, Route("updateOtherExperience")] public IResponseOutput UpdateOtherExperience(ClinicalExperienceCommand updateOtherClinicalExperience) { return _doctorTrialExperienceService.UpdateOtherExperience(updateOtherClinicalExperience.DoctorId, updateOtherClinicalExperience.OtherClinicalExperience); } /// /// 删除临床经验 /// [HttpDelete, Route("deleteTrialExperience/{doctorId:guid}")] public IResponseOutput DeleteDoctorTrialExperience(Guid doctorId) { return _doctorTrialExperienceService.DeleteTrialExperience(doctorId); } } }