using System; using System.Collections.Generic; 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("cro")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Institution")] public class CROController : ControllerBase { private readonly ICroService _croService; public CROController(ICroService croCompanyService) { _croService = croCompanyService; } /// 分页获取CRO列表 [HttpPost, Route("getCROPageList")] public IResponseOutput> GetCROCompanyList(CROCompanyQueryDTO croCompanySearchModel) { return ResponseOutput.Ok(_croService.GetCroList(croCompanySearchModel)); } /// 获取所有CRO列表,可根据名称搜索[AUTH] [HttpPost, Route("getAllCROList")] public IResponseOutput> GetCROCompanySearchList() { return ResponseOutput.Ok(_croService.GetCroSearchList()); } /// 添加CRO[AUTH] [HttpPost, Route("addOrUpdateCro")] public IResponseOutput AddCROCompany(CROCompanyDTO addCroCompanyViewModel) { var userId = User.FindFirst("id").Value; return _croService.AddOrUpdateCro(addCroCompanyViewModel, Guid.Parse(userId)); } /// 删除CRO [HttpDelete, Route("deleteCROCompany/{croCompanyId:guid}")] public IResponseOutput DeleteCROCompany(Guid croCompanyId) { return _croService.DeleteCro(croCompanyId); } } }