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);
}
}
}