using IRaCIS.Application.Interfaces;
using IRaCIS.Application.ViewModels;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
namespace IRaCIS.Api.Controllers
{
///
/// 项目运维人员 、研究中心CRC 配置
///
[Route("trialMaintenance")]
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Trial")]
public class MaintenanceController : ControllerBase
{
private readonly IUserTrialService _userTrialService;
public MaintenanceController(IUserTrialService userTrialService)
{
_userTrialService = userTrialService;
}
[HttpGet, Route("getTrialSiteSelect/{trialId:guid}")]
public IResponseOutput> GetTrialSiteSelect(Guid trialId)
{
return ResponseOutput.Ok(_userTrialService.GetTrialSiteSelect(trialId));
}
///
/// 获取项目运维人员列表[New] 分页暂时不用
///
/// 项目Id必须传
///
[HttpPost, Route("GetUserTrialList")]
[ApiExplorerSettings(IgnoreApi = true)]
public IResponseOutput> GetUserTrialList(UserTrialListQueryDTO param)
{
return ResponseOutput.Ok(_userTrialService.GetUserTrialList(param));
}
///
/// 获取项目运维人员列表[New]
///
///
///
[HttpPost, Route("getMaintenanceList")]
public IResponseOutput> GetMaintenanceUserList(TrialMaintenanceQuery param)
{
return ResponseOutput.Ok(_userTrialService.GetMaintenanceUserList(param));
}
///
/// 获取可用选择用户,用于给项目添加运维人员时的选择列表[New]
///
///
[HttpGet, Route("getUserSelectionList/{userTypeId:guid}/{institutionId:guid}")]
public IResponseOutput> GetUserTrialList(Guid userTypeId,Guid institutionId)
{
return ResponseOutput.Ok(_userTrialService.GetUserSelectionList(userTypeId, institutionId)) ;
}
/// 添加或更新运维人员[New]
[HttpPost, Route("AddOrUpdateMaintenanceUser")]
public IResponseOutput AddOrUpdateUserTrial(UserTrialCommand param)
{
return _userTrialService.AddOrUpdateUserTrial(param);
}
/// 删除运维人员[New]
[HttpDelete, Route("deleteMaintenanceUser/{id:guid}")]
public IResponseOutput DeleteUserTrial(Guid id)
{
return _userTrialService.DeleteUserTrial(id);
}
/// 获取负责研究中心CRC列表
[HttpPost, Route("getSiteCRCList")]
public IResponseOutput> GetSiteCRCList(SiteCrcQueryDTO param)
{
return ResponseOutput.Ok(_userTrialService.GetSiteCRCList(param)) ;
}
/// 添加或更新CRC人员
[HttpPost, Route("addOrUpdateSiteCRC")]
public IResponseOutput AddOrUpdateSiteCRC(SiteCRCCommand param)
{
return _userTrialService.AddOrUpdateSiteCRC(param);
}
/// 删除CRC人员
[HttpDelete, Route("deleteSiteCRC/{id:guid}")]
public IResponseOutput DeleteSiteCRC(Guid id)
{
return _userTrialService.DeleteSiteCRC(id);
}
}
}