// Methods protected override void LoadChildren() { if (CourseObject.PlanSetups.Count() == 0 && CourseObject.PlanSums.Count() == 0) { return; } // Create list of plans in course and re-order List <PlanHelper> planHelpers = (from PlanSetup plan in CourseObject.PlanSetups select new PlanHelper(plan)).ToList(); planHelpers.AddRange(from PlanSum plan in CourseObject.PlanSums select new PlanHelper(plan)); planHelpers = planHelpers.OrderBy(x => x.PlanType == "Other"). ThenBy(x => x.PlanType == "PlanSum"). ThenBy(x => x.PlanType == "CD"). ThenBy(x => x.PlanType == "Initial").ToList(); // Add plans to children foreach (PlanHelper planHelper in planHelpers) { PlanningItem plan = planHelper.Plan; PlanForTree planForTree = new PlanForTree(plan); bool isInContext = _planSetupsInScope.ToList().Contains(plan) || _planSumsInScope.ToList().Contains(plan); base.Children.Add(new PlanForTreeViewModel(planForTree, this, isInContext)); } // Verify check state this.IsChecked = (Children.All(x => x.IsChecked == true)) ? true : (Children.All(x => x.IsChecked == false)) ? false : (bool?)null; }
public PlanForTreeViewModel(PlanForTree plan, CourseForTreeViewModel parentCourse, bool isInContext) : base(parentCourse, false) { _plan = plan; this.IsEnabled = _plan.PlanningItemObject.IsDoseValid(); this.IsChecked = isInContext; }