IRC_NewDev
parent
6d93054d3d
commit
7a8346621d
|
@ -8332,6 +8332,11 @@
|
|||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionCriterionTrialView.CriterionType">
|
||||
<summary>
|
||||
标准类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionCriterionTrialView.IsSystemData">
|
||||
<summary>
|
||||
是否是系统数据
|
||||
|
|
|
@ -5,6 +5,9 @@ using IRaCIS.Core.Domain.Models;
|
|||
using IRaCIS.Core.Application.Interfaces;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using IRaCIS.Core.Infrastructure;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System;
|
||||
|
||||
namespace IRaCIS.Application.Services
|
||||
{
|
||||
|
@ -274,20 +277,24 @@ namespace IRaCIS.Application.Services
|
|||
public async Task<List<ClinicalDataTrialSetView>> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto)
|
||||
{
|
||||
await this.AddTrialClinicalDataTrialSet(inDto.TrialId);
|
||||
List<int> criterionTypes = new List<int>();
|
||||
var query = _clinicalDataTrialSetRepository.AsQueryable()
|
||||
.Where(x => x.TrialId == inDto.TrialId);
|
||||
|
||||
List<string> criterionTypes = new List<string>();
|
||||
Expression<Func<ClinicalDataTrialSet, bool>> predicate = null;
|
||||
if (inDto.CriterionIds != null)
|
||||
{
|
||||
criterionTypes =( await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync())
|
||||
.Select(x=>(int)x).ToList();
|
||||
.Select(x=>((int)x).ToString()).ToList();
|
||||
|
||||
|
||||
predicate = x => x.IsConfirm || x.SystemClinicalDataSetId == null;
|
||||
foreach (var item in criterionTypes)
|
||||
{
|
||||
Expression<Func<ClinicalDataTrialSet, bool>> typeExpression = x => x.CriterionEnumListStr.Contains(item);
|
||||
predicate = predicate.Or(typeExpression);
|
||||
|
||||
}
|
||||
}
|
||||
var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable()
|
||||
.Where(x => x.TrialId == inDto.TrialId)
|
||||
.WhereIf(inDto.CriterionIds != null,x=>x.IsConfirm||x.SystemClinicalDataSetId==null|| criterionTypes.Any(d => x.CriterionEnumList.Contains(d)))
|
||||
.WhereIf(inDto.CriterionIds != null, predicate)
|
||||
.WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel)
|
||||
.WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType)
|
||||
.WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))
|
||||
|
@ -296,14 +303,12 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 删除(项目)
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id:guid}")]
|
||||
/// <summary>
|
||||
/// 删除(项目)
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpDelete("{id:guid}")]
|
||||
public async Task<IResponseOutput> DeleteClinicalTrialSetData(Guid id)
|
||||
{
|
||||
await _clinicalDataTrialSetRepository.DeleteFromQueryAsync(x => x.Id == id, true);
|
||||
|
|
Loading…
Reference in New Issue