Esempio n. 1
0
        public async void CreateEdge()
        {
            if ((this.NewEdgeStart == null) ||
                (this.NewEdgeEnd == null))
            {
                return;
            }

            if (this.NewEdgeStart == this.NewEdgeEnd)
            {
                return;
            }

            if (this.NewEdgeEnd is FaultTreeTerminalNode && this.NewEdgeStart is FaultTreeTerminalNode)
            {
                string rateString = await MessageDialogs.ShowRateDialogAsync();

                double rate;
                if (double.TryParse(rateString, out rate) && rate >= 0)
                {
                    this.FaultTree.MarkovChain[(FaultTreeTerminalNode)this.NewEdgeStart, (FaultTreeTerminalNode)this.NewEdgeEnd] = rate;
                }
            }
            else
            {
                this.NewEdgeStart.Childs.Add(this.NewEdgeEnd);
            }

            this.RaisePropertyChanged("FaultTree");
        }