Esempio n. 1
0
        /// <summary>
        /// Execute the <see cref="AddPossibleFiniteStateListCommand"/>
        /// </summary>
        private void ExecuteAddPossibleListCommand()
        {
            var iteration       = (Iteration)this.Container;
            var possibleList    = new List <PossibleFiniteStateList>(iteration.PossibleFiniteStateList.Except(this.usedPossibleStateList));
            var finiteStateList = possibleList.First();
            var row             = new Dialogs.PossibleFiniteStateListRowViewModel(finiteStateList, this.Session, possibleList, this);

            this.PossibleFiniteStateListRow.Add(row);
            this.RefreshPossibleFiniteStateListRows();
        }
Esempio n. 2
0
        /// <summary>
        /// Populate the <see cref="PossibleFiniteStateListRow"/> when the dialog is first created
        /// </summary>
        private void PopulatePossibleFiniteStateList()
        {
            var iteration = (Iteration)this.Container;
            var usedLists = this.Thing.PossibleFiniteStateList.Select(x => x).ToList();

            this.usedPossibleStateList.AddRange(usedLists);

            foreach (PossibleFiniteStateList finiteStateList in this.Thing.PossibleFiniteStateList)
            {
                var possibleList = new List <PossibleFiniteStateList>(iteration.PossibleFiniteStateList.Except(this.usedPossibleStateList));
                possibleList.Add(finiteStateList);
                var row = new Dialogs.PossibleFiniteStateListRowViewModel(finiteStateList, this.Session, possibleList, this);
                this.PossibleFiniteStateListRow.Add(row);
            }

            this.PossibleFiniteStateList = new ReactiveList <PossibleFiniteStateList>(this.PossibleFiniteStateListRow.Select(x => x.PossibleFiniteStateList));
        }