diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs index 4bbda9b6..6cade703 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs @@ -104,12 +104,24 @@ namespace IRaCIS.Core.Application.ViewModel //public List ReadingCategoryList { get; set; } public List TrialReadingCriterionList { get; set; } + public List CriterionReadingCategoryList { get; set; } - public List CriterionCategoryList => CriterionReadingCategoryList.Count == 0 ? TrialReadingCriterionList.Select(t => new CriterionReadingCategory() { EnrollId = EnrollId, TrialReadingCriterionId = t.TrialReadingCriterionId }).ToList() : - CriterionReadingCategoryList - .GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId }) - .Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).ToList() }).ToList(); + public List CriterionCategoryList => + + TrialReadingCriterionList.Select(t => + new CriterionReadingCategory() { + EnrollId = EnrollId, + TrialReadingCriterionId = t.TrialReadingCriterionId, + ReadingCategorys = CriterionReadingCategoryList.Where(c => c.TrialReadingCriterionId == t.TrialReadingCriterionId).Select(t => t.ReadingCategory).OrderBy(c => c).ToList() + }).ToList(); + + + + //CriterionReadingCategoryList.Count == 0 ? TrialReadingCriterionList.Select(t => new CriterionReadingCategory() { EnrollId = EnrollId, TrialReadingCriterionId = t.TrialReadingCriterionId }).ToList() : + // CriterionReadingCategoryList + //.GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId }) + //.Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).OrderBy(t=>t).ToList() }).ToList(); } diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs index 8b382a04..cf178e89 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs @@ -268,10 +268,20 @@ namespace IRaCIS.Application.Contracts public List CriterionReadingCategoryList { get; set; } - public List CriterionCategoryList => CriterionReadingCategoryList.Count==0? TrialReadingCriterionList.Select(t=>new CriterionReadingCategory() { EnrollId= EnrollId ,TrialReadingCriterionId=t.TrialReadingCriterionId}).ToList(): - CriterionReadingCategoryList - .GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId }) - .Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).ToList() }).ToList(); + public List CriterionCategoryList => + TrialReadingCriterionList.Select(t => + new CriterionReadingCategory() + { + EnrollId = EnrollId, + TrialReadingCriterionId = t.TrialReadingCriterionId, + ReadingCategorys = CriterionReadingCategoryList.Where(c => c.TrialReadingCriterionId == t.TrialReadingCriterionId).Select(t => t.ReadingCategory).OrderBy(c => c).ToList() + }).ToList(); + + + //CriterionReadingCategoryList.Count==0? TrialReadingCriterionList.Select(t=>new CriterionReadingCategory() { EnrollId= EnrollId ,TrialReadingCriterionId=t.TrialReadingCriterionId}).ToList(): + // CriterionReadingCategoryList + //.GroupBy(t => new { t.TrialReadingCriterionId, t.EnrollId }) + //.Select(g => new CriterionReadingCategory() { EnrollId = g.Key.EnrollId, TrialReadingCriterionId = g.Key.TrialReadingCriterionId, ReadingCategorys = g.Select(t => t.ReadingCategory).OrderBy(t=>t).ToList() }).ToList(); }