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