コード例 #1
0
 public void PutParameter(string[] path, AnalyticRuleType type)
 {
     if (path.Length == 0)
     {
         children.Add(new RuleEvaluationChronologyViewModel(
                          EvaluationCache.Get(vin).GetRuleEvaluationChronology(type)));
     }
     else
     {
         if (!children.Any(f =>
                           f is EvaluationFolderViewModel &&
                           ((EvaluationFolderViewModel)f).Key == path[0]))
         {
             EvaluationFolderViewModel newFolder =
                 new EvaluationFolderViewModel(path[0], vin);
             newFolder.PutParameter(GetSubPath(path), type);
             children.Add(newFolder);
         }
         else
         {
             EvaluationFolderViewModel folder =
                 children.First(f =>
                                f is EvaluationFolderViewModel &&
                                ((EvaluationFolderViewModel)f).Key == path[0])
                 as EvaluationFolderViewModel;
             folder.PutParameter(GetSubPath(path), type);
         }
     }
     OnPropertyChanged("Children");
     RefreshSummaryMark();
 }
コード例 #2
0
        protected virtual void RefreshSummaryMark()
        {
            List <double> marks = new List <double>();

            foreach (ViewModelBase child in Children)
            {
                EvaluationFolderViewModel folder = child as EvaluationFolderViewModel;
                if (null != folder)
                {
                    marks.Add(folder.summaryMark);
                }
                RuleEvaluationChronologyViewModel rule = child as RuleEvaluationChronologyViewModel;
                if (rule != null)
                {
                    marks.Add(rule.CurrentMark);
                }
            }
            summaryMark = marks.Sum() / marks.Count;
            OnPropertyChanged("SummaryMark");
        }