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]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput> AddDefaultQuestions(AddDefaultQuestionsInDto inDto)
|
public async Task<IResponseOutput> AddDefaultQuestions(AddDefaultQuestionsInDto inDto)
|
||||||
{
|
{
|
||||||
if (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null))
|
//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);
|
// await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType == inDto.LanguageType && x.SystemQuestionId != null);
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
await _readingMedicineTrialQuestionRepository.BatchDeleteNoTrackingAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.LanguageType != inDto.LanguageType);
|
// 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();
|
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||||
List<ReadingCategory> needAddCategory = new List<ReadingCategory>() { ReadingCategory.Visit };
|
List<ReadingCategory> needAddCategory = new List<ReadingCategory>() { ReadingCategory.Visit };
|
||||||
if(criterionInfo.IsReadingPeriod)
|
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();
|
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
|
List<TrialDataFromSystem> needList = await _readingMedicineSystemQuestionRepository
|
||||||
.Where(x=>x.LanguageType==inDto.LanguageType)
|
.Where(x=>x.LanguageType==inDto.LanguageType)
|
||||||
.Where(x =>needAddCategory.Contains(x.ReadingCategory))
|
.Where(x =>needAddCategory.Contains(x.ReadingCategory) && x.CriterionTypeEnum == criterionInfo.CriterionType)
|
||||||
.Where(x => x.CriterionTypeEnum == criterionInfo.CriterionType || x.IsGeneral)
|
|
||||||
.Select(x => new TrialDataFromSystem()
|
.Select(x => new TrialDataFromSystem()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -548,6 +549,33 @@ namespace IRaCIS.Core.Application.Service
|
||||||
TrialId = inDto.TrialId,
|
TrialId = inDto.TrialId,
|
||||||
}).ToListAsync();
|
}).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 => {
|
needList.ForEach(x => {
|
||||||
x.Id = NewId.NextGuid();
|
x.Id = NewId.NextGuid();
|
||||||
maxOrder++;
|
maxOrder++;
|
||||||
|
|
Loading…
Reference in New Issue