diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs index 795d8764b..04f169c87 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs @@ -1,9 +1,12 @@ -using IRaCIS.Core.Application.Contracts; +using DocumentFormat.OpenXml.Office2019.Excel.ThreadedComments; +using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infra.EFCore.Common; using Microsoft.AspNetCore.Mvc; +using NPOI.POIFS.Properties; using Panda.DynamicWebApi.Attributes; +using System.Collections.Generic; namespace IRaCIS.Core.Application.Service { @@ -265,64 +268,27 @@ namespace IRaCIS.Core.Application.Service public void FindSystemChildQuestion(GetSystemReadingQuestionOutDto item, List questionlists, List tableQuestions) { item.Childrens = questionlists.Where(x => x.ParentId == item.Id || (item.Type == ReadingQestionType.Group && x.Type != ReadingQestionType.Group && x.ParentId == null && x.GroupId == item.Id)).ToList(); - - item.Childrens.AddRange(tableQuestions.Where(x => x.ReadingQuestionId == item.Id).Select(x => new GetSystemReadingQuestionOutDto + var itemChild = _mapper.Map>(tableQuestions.Where(x => x.ReadingQuestionId == item.Id).ToList()); + itemChild.ForEach(x => { - Childrens = new List(), - ShowOrder = x.ShowOrder, - GroupName = string.Empty, - Id = x.Id, - Type = x.Type, - DictionaryCode = x.DictionaryCode, - TableQuestionType = x.TableQuestionType, - DependParentId = x.DependParentId, - IsDepend = x.IsDepend, - QuestionMark = x.QuestionMark, - TypeValue = x.TypeValue, - RelevanceId = x.RelevanceId, - IsRequired = x.IsRequired, - RelevanceValue = x.RelevanceValue, - ImageCount = 0, - ParentId = item.Id, - ShowQuestion=x.ShowQuestion, - DataTableColumn = x.DataTableColumn, - LesionType = item.LesionType, - QuestionName = x.QuestionName, - IsCopy=x.IsCopy, - ClassifyTableQuestionId= x.ClassifyTableQuestionId, - ClassifyAlgorithms=x.ClassifyAlgorithms, - RelationQuestions = tableQuestions.Where(z => (z.DependParentId ?? default(Guid)) == x.Id).Select(x => new GetSystemReadingQuestionOutDto + x.Childrens = new List(); + x.GroupName = string.Empty; + x.ImageCount = 0; + x.ParentId = item.Id; + var relationQuestions= _mapper.Map>(tableQuestions.Where(z => (z.DependParentId ?? default(Guid)) == x.Id).ToList()); + relationQuestions.ForEach(y => { - Childrens = new List(), - ShowOrder = x.ShowOrder, - GroupName = string.Empty, - Id = x.Id, - DictionaryCode = x.DictionaryCode, - Type = x.Type, - ShowQuestion = x.ShowQuestion, - TableQuestionType = x.TableQuestionType, - DependParentId = x.DependParentId, - IsDepend = x.IsDepend, - QuestionMark = x.QuestionMark, - TypeValue = x.TypeValue, - RelevanceId = x.RelevanceId, - RelevanceValue = x.RelevanceValue, - ImageCount = 0, - ParentId = item.Id, - DataTableColumn = x.DataTableColumn, - LesionType = item.LesionType, - QuestionName = x.QuestionName, - RelationQuestions = new List(), - Remark = x.Remark, - IsCopy = x.IsCopy, - ClassifyTableQuestionId = x.ClassifyTableQuestionId, - ClassifyAlgorithms = x.ClassifyAlgorithms, - - }).ToList(), - Remark = x.Remark, - - })); + y.Childrens = new List(); + y.GroupName = string.Empty; + y.ImageCount = 0; + y.ParentId = item.Id; + y.LesionType = item.LesionType; + y.RelationQuestions = new List(); + }); + x.RelationQuestions= relationQuestions; + }); + item.Childrens.AddRange(itemChild); if (item.Childrens != null && item.Childrens.Count != 0) { item.Childrens.ForEach(x => diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index c906330fd..73aad5acf 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -211,6 +211,8 @@ namespace IRaCIS.Core.Application.Service CreateMap() ; + CreateMap(); + CreateMap(); CreateMap() .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName));