public void DeleteSetRelations() { Focus1.MutualyExclusive.Remove(this); Focus1 = null; Focus2.MutualyExclusive.Remove(this); Focus2 = null; }
public void RepairSets(FocusModel focus, List <FocusModel> fociList) { //Relative ids if (focus.CoordinatesRelativeTo != null) { CoordinatesRelativeTo = fociList.FirstOrDefault(f => f.UniqueName == focus.CoordinatesRelativeTo.UniqueName); } //Prerequisites foreach (PrerequisitesSetModel set in focus.Prerequisite) { //Add the linked focus PrerequisitesSetModel prerequiste = new PrerequisitesSetModel( fociList.FirstOrDefault(f => f.UniqueName == set.Focus.UniqueName)); //Run through all the parents and add them foreach (FocusModel parent in set.FociList) { prerequiste.FociList.Add( fociList.FirstOrDefault(f => f.UniqueName == parent.UniqueName)); } Prerequisite.Add(prerequiste); } //Mutually exclusives foreach (MutuallyExclusiveSetModel set in focus.MutualyExclusive) { //Create the set with both foci MutualyExclusive.Add(new MutuallyExclusiveSetModel( fociList.FirstOrDefault(f => f.UniqueName == set.Focus1.UniqueName), fociList.FirstOrDefault(f => f.UniqueName == set.Focus2.UniqueName))); } }
public CanvasLine(double X1, double Y1, double X2, double Y2, Brush Color, bool dashed, ISet set, FocusModel relative = null) { this.X1 = X1; this.Y1 = Y1; this.X2 = X2; this.Y2 = Y2; this.Color = Color; dashes = dashed; InternalSet = set; Relative = relative; }
public MutuallyExclusiveSetModel(FocusModel focus1, FocusModel focus2) { //Set leftmost Focus as Focus 1 and rightmost focus as focus 2 if (focus1.X < focus2.X) { Focus1 = focus1; Focus2 = focus2; } else if (focus1.X >= focus2.X) { Focus2 = focus1; Focus1 = focus2; } }
public FocusModel(FocusModel focus) { Script newScript = new Script(); newScript.Analyse(focus.InternalScript.Parse()); image = focus.Image; uniquename = focus.UniqueName; text = focus.Text; x = focus.X; y = focus.Y; cost = focus.Cost; internalScript = newScript; note = focus.Note; SetupCommonComponents(); }
public PrerequisitesSetModel(FocusModel linkedFocus) { FociList = new ObservableCollection <FocusModel>(); FociList.CollectionChanged += FociList_CollectionChanged; focus = linkedFocus; }