irc-netcore-api/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/TrialCriterionKeyFileServic...

82 lines
3.0 KiB
C#

//--------------------------------------------------------------------
// 此代码由liquid模板自动生成 byzhouhang 20240909
// 生成时间 2025-11-12 06:51:56Z
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Models;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Infrastructure.Extention;
using System.Threading.Tasks;
using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Application.Service.Reading.Interface;
using IRaCIS.Core.Application.Service.Reading.Dto;
namespace IRaCIS.Core.Application.Service;
/// <summary>
/// 项目标准阅片关键点文件服务
/// </summary>
/// <param name="_trialCriterionKeyFileRepository"></param>
/// <param name="_mapper"></param>
/// <param name="_userInfo"></param>
/// <param name="_localizer"></param>
[ApiExplorerSettings(GroupName = "Reading")]
public class TrialCriterionKeyFileService(IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService, ITrialCriterionKeyFileService
{
/// <summary>
/// 获取项目标准阅片关键点文件列表
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<TrialCriterionKeyFileView>> GetTrialCriterionKeyFileList(TrialCriterionKeyFileQuery inQuery)
{
var trialCriterionKeyFileQueryable =_trialCriterionKeyFileRepository
.Where(x=>x.TrialCriterionId==inQuery.TrialCriterionId)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.FileName),x=>x.FileName.Contains(inQuery.FileName))
.ProjectTo<TrialCriterionKeyFileView>(_mapper.ConfigurationProvider);
var pageList= await trialCriterionKeyFileQueryable.ToPagedListAsync(inQuery);
return pageList;
}
/// <summary>
/// 新增或者修改项目标准阅片关键点文件
/// </summary>
/// <param name="addOrEditTrialCriterionKeyFile"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateTrialCriterionKeyFile(TrialCriterionKeyFileAddOrEdit addOrEditTrialCriterionKeyFile)
{
var entity = await _trialCriterionKeyFileRepository.InsertOrUpdateAsync(addOrEditTrialCriterionKeyFile, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除项目标准阅片关键点文件
/// </summary>
/// <param name="trialCriterionKeyFileId"></param>
/// <returns></returns>
[HttpDelete("{trialCriterionKeyFileId:guid}")]
public async Task<IResponseOutput> DeleteTrialCriterionKeyFile(Guid trialCriterionKeyFileId)
{
var success = await _trialCriterionKeyFileRepository.DeleteFromQueryAsync(t => t.Id == trialCriterionKeyFileId,true);
return ResponseOutput.Ok();
}
}