// 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;
        }
Esempio n. 2
0
 public PlanForTreeViewModel(PlanForTree plan, CourseForTreeViewModel parentCourse, bool isInContext) : base(parentCourse, false)
 {
     _plan          = plan;
     this.IsEnabled = _plan.PlanningItemObject.IsDoseValid();
     this.IsChecked = isInContext;
 }