public void SelectSequence(string sequenceId) { DeselectAllSequences(); var sequence = Sequences.First(i => i.Id == sequenceId); sequence.IsSelected = true; IsSequenceSelected = true; SelectedSequence = sequence; }
public void DeleteSequence(string id) { var sequence = Sequences.First(i => i.Id == id); if (sequence.IsSelected) { IsSequenceSelected = false; IsEventSelected = false; } Sequences.Remove(sequence); }
/// <summary> /// Returns the first pair of sequences that are in conflict with each other. /// </summary> /// <returns>The <see cref="List{T}" />.</returns> public IList <IEnumerable <T> > GetConflicts() { var conflictLists = new List <IEnumerable <T> >(); if (UsesTracking) { if (firstConflict != null) { conflictLists.Add(Sequences.First(s => !CanSort(s))); conflictLists.Add(firstConflict); } return(conflictLists); } else { var newSort = new TopologicalSort <T>(); var sequences = (Sequences as IList <IEnumerable <T> >); for (var i = 0; i < sequences.Count; i++) { newSort.Add(sequences[i]); if (newSort.Sort() != null) { continue; } newSort = new TopologicalSort <T>(); newSort.Add(sequences[i]); for (var j = 0; j < i; j++) { newSort.Add(sequences[j]); if (newSort.Sort() != null) { continue; } conflictLists.Add(sequences[j].ToList()); conflictLists.Add(sequences[i].ToList()); break; } break; } return(conflictLists); } }