diff --git a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs index 4a1efd0..15d620a 100644 --- a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs +++ b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs @@ -154,6 +154,7 @@ namespace Shentun.WebPeis.QuestionRegisters join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync() on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId + orderby questionSubjectType.DisplayOrder select new { questionSubjectType, @@ -171,9 +172,11 @@ namespace Shentun.WebPeis.QuestionRegisters }).ToList(); foreach (var personSubjectTypeDto in personSubjectTypeDtos) { - questionRegisterItems.Where(o => o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId - ).ToList(); - foreach(var questionRegisterItem in questionRegisterItems) + var questionSubjectTypeItems = questionRegisterItems.Where(o => + o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId + ) + .OrderBy(o=>o.questionAnswer.DisplayOrder).ToList(); + foreach(var questionRegisterItem in questionSubjectTypeItems) { string answer; if(questionRegisterItem.questionAnswer.AnswerResultType == AnswerResultTypeFlag.Choice) @@ -191,6 +194,10 @@ namespace Shentun.WebPeis.QuestionRegisters { answer = questionRegisterItem.questionRegisterAnswer.Content; } + if(string.IsNullOrWhiteSpace(answer)) + { + continue; + } personSubjectTypeDto.Answers.Add(new PersonSubjectTypeQuestionAnswer() { QuestionAnswerName = answer, diff --git a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs index d7402dc..4eaeff1 100644 --- a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs +++ b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs @@ -29,7 +29,7 @@ namespace Shentun.WebPeis.Configures entity.Property(e => e.CreatorId).HasColumnName("creator_id"); entity.Property(e => e.QuestionSubjectTypeName) .HasMaxLength(20) - .HasColumnName("disease_risk_name"); + .HasColumnName("question_subject_type_name"); entity.Property(e => e.DisplayOrder) .HasDefaultValue(999999) .HasColumnName("display_order"); diff --git a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs index 65d01b8..e1b1b47 100644 --- a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs +++ b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs @@ -86,6 +86,7 @@ namespace Shentun.WebPeis _output.WriteLine(answer.QuestionAnswerName ); } + }