Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
commit
2060f2c62e
|
@ -503,14 +503,16 @@ namespace IRaCIS.Core.Application.Service
|
|||
[HttpPost]
|
||||
public async Task<IResponseOutput> AddDefaultQuestions(AddDefaultQuestionsInDto inDto)
|
||||
{
|
||||
if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null))
|
||||
{
|
||||
await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null);
|
||||
}
|
||||
else
|
||||
{
|
||||
await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType != inDto.LanguageType);
|
||||
}
|
||||
//if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null))
|
||||
//{
|
||||
// await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType != inDto.LanguageType);
|
||||
//}
|
||||
|
||||
await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId);
|
||||
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
List<ReadingCategory> needAddCategory = new List<ReadingCategory>() { ReadingCategory.Visit };
|
||||
if(criterionInfo.IsReadingPeriod)
|
||||
|
@ -529,8 +531,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
var maxOrder = await _readingMedicineTrialQuestionRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == inDto.TrialReadingCriterionId).OrderByDescending(x => x.ShowOrder).Select(x => x.ShowOrder).FirstOrDefaultAsync();
|
||||
List<TrialDataFromSystem> needList = await _readingMedicineSystemQuestionRepository
|
||||
.Where(x=>x.LanguageType==inDto.LanguageType)
|
||||
.Where(x =>needAddCategory.Contains(x.ReadingCategory))
|
||||
.Where(x => x.CriterionTypeEnum == criterionInfo.CriterionType || x.IsGeneral)
|
||||
.Where(x =>needAddCategory.Contains(x.ReadingCategory) && x.CriterionTypeEnum == criterionInfo.CriterionType)
|
||||
.Select(x => new TrialDataFromSystem()
|
||||
{
|
||||
|
||||
|
@ -548,6 +549,33 @@ namespace IRaCIS.Core.Application.Service
|
|||
TrialId = inDto.TrialId,
|
||||
}).ToListAsync();
|
||||
|
||||
foreach (var item in needAddCategory.Where(x => x != ReadingCategory.Visit).ToList())
|
||||
{
|
||||
if (!needList.Any(x => x.ReadingCategory == item))
|
||||
{
|
||||
needList.AddRange(await _readingMedicineSystemQuestionRepository
|
||||
.Where(x => x.LanguageType == inDto.LanguageType)
|
||||
.Where(x => x.ReadingCategory == item && x.IsGeneral)
|
||||
.Select(x => new TrialDataFromSystem()
|
||||
{
|
||||
|
||||
ShowOrder = x.ShowOrder,
|
||||
IsEnable = x.IsEnable,
|
||||
LanguageType = x.LanguageType,
|
||||
IsRequired = x.IsRequired,
|
||||
QuestionName = x.QuestionName,
|
||||
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
|
||||
Type = x.Type,
|
||||
ParentId = x.ParentId,
|
||||
SystemQuestionId = x.Id,
|
||||
ReadingCategory = x.ReadingCategory,
|
||||
TypeValue = x.TypeValue,
|
||||
TrialId = inDto.TrialId,
|
||||
}).ToListAsync());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
needList.ForEach(x => {
|
||||
x.Id = NewId.NextGuid();
|
||||
maxOrder++;
|
||||
|
|
Loading…
Reference in New Issue