修改一版
This commit is contained in:
@@ -108,21 +108,52 @@ namespace IRaCIS.Application.Services
|
||||
public async Task<IResponseOutput> SetSystemReadingQuestionCriterionIsCompleteConfig(SetSystemReadingQuestionCriterionIsIsCompleteConfig inDto)
|
||||
{
|
||||
|
||||
if (!inDto.IsCompleteConfig && await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.ReadingQuestionCriterionSystemId == inDto.Id))
|
||||
{
|
||||
ResponseOutput.NotOk("当前标准已经运用到项目,操作失败");
|
||||
}
|
||||
//if (!inDto.IsCompleteConfig && await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.ReadingQuestionCriterionSystemId == inDto.Id))
|
||||
//{
|
||||
// ResponseOutput.NotOk("当前标准已经运用到项目,操作失败");
|
||||
//}
|
||||
|
||||
await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.Id, x => new ReadingQuestionCriterionSystem()
|
||||
{
|
||||
IsCompleteConfig = inDto.IsCompleteConfig
|
||||
});
|
||||
|
||||
if (inDto.IsCompleteConfig)
|
||||
{
|
||||
await UpdateTrialCriterion(inDto.Id);
|
||||
}
|
||||
var result = await _readingQuestionCriterionSystemRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更改项目标准
|
||||
/// </summary>
|
||||
/// <param name="systemCriterionId"></param>
|
||||
/// <returns></returns>
|
||||
private async Task UpdateTrialCriterion(Guid systemCriterionId)
|
||||
{
|
||||
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.ReadingQuestionCriterionSystemId == systemCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
IsCompleteConfig = true,
|
||||
});
|
||||
var systemCriterionQuestionList = await _readingQuestionSystemRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).ToListAsync();
|
||||
var trialCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == systemCriterionId).Select(x => new {
|
||||
x.Id,
|
||||
x.TrialId,
|
||||
}).ToListAsync();
|
||||
var trialCriterionIdList = trialCriterionList.Select(x => x.Id).ToList();
|
||||
List<ReadingQuestionTrial> needAddQuestionList = new List<ReadingQuestionTrial>();
|
||||
foreach (var item in trialCriterionList)
|
||||
{
|
||||
await _readingQuestionTrialRepository.BatchDeleteNoTrackingAsync(x => trialCriterionIdList.Contains(x.ReadingQuestionCriterionTrialId));
|
||||
List<ReadingQuestionTrial> trialQuestionList = new List<ReadingQuestionTrial>();
|
||||
SetChildParentQuestion(item.Id, item.TrialId, systemCriterionQuestionList, trialQuestionList);
|
||||
needAddQuestionList.AddRange(trialQuestionList);
|
||||
}
|
||||
await _readingQuestionTrialRepository.AddRangeAsync(needAddQuestionList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加系统qc问题标准
|
||||
|
||||
Reference in New Issue
Block a user