コード例 #1
0
        public TreeEvent RemoveTreeEvent(EventTree eventTree, TreeEvent selectedTreeEventToRemove)
        {
            if (Equals(eventTree.MainTreeEvent, selectedTreeEventToRemove))
            {
                eventTree.MainTreeEvent = null;
                eventTree.OnPropertyChanged(nameof(eventTree.MainTreeEvent));
                return(null);
            }

            var parent = eventTree.MainTreeEvent.FindTreeEvent(treeEvent => treeEvent.FailingEvent == selectedTreeEventToRemove ||
                                                               treeEvent.PassingEvent == selectedTreeEventToRemove);

            if (parent == null)
            {
                throw new ArgumentNullException();
            }

            if (parent.FailingEvent == selectedTreeEventToRemove)
            {
                parent.FailingEvent = null;
                parent.OnPropertyChanged(nameof(parent.FailingEvent));
            }
            else
            {
                parent.PassingEvent = null;
                parent.OnPropertyChanged(nameof(parent.PassingEvent));
            }

            return(parent);
        }
コード例 #2
0
        public TreeEvent AddTreeEvent(EventTree eventTree, TreeEvent selectedTreeEventToAddTo, TreeEventType type)
        {
            var newTreeEvent = new TreeEvent
            {
                Name = "Nieuwe gebeurtenis"
            };

            foreach (var expert in project.Experts)
            {
                foreach (var hydraulicCondition in project.HydraulicConditions)
                {
                    newTreeEvent.ClassesProbabilitySpecification.Add(new ExpertClassEstimation
                    {
                        Expert             = expert,
                        HydraulicCondition = hydraulicCondition,
                        AverageEstimation  = ProbabilityClass.None,
                        MinEstimation      = ProbabilityClass.None,
                        MaxEstimation      = ProbabilityClass.None
                    });
                }
            }

            if (eventTree.MainTreeEvent == null)
            {
                eventTree.MainTreeEvent = newTreeEvent;
                eventTree.OnPropertyChanged(nameof(eventTree.MainTreeEvent));
                return(newTreeEvent);
            }

            switch (type)
            {
            case TreeEventType.Failing:
                selectedTreeEventToAddTo.FailingEvent = newTreeEvent;
                selectedTreeEventToAddTo.OnPropertyChanged(nameof(selectedTreeEventToAddTo.FailingEvent));
                break;

            case TreeEventType.Passing:
                selectedTreeEventToAddTo.PassingEvent = newTreeEvent;
                selectedTreeEventToAddTo.OnPropertyChanged(nameof(selectedTreeEventToAddTo.PassingEvent));
                break;
            }

            return(newTreeEvent);
        }