private bool NextReferenceIssue() { if (currentObjectToReplaceEnumerator == null) { currentObjectToReplaceEnumerator = referencersMap.GetEnumerator(); } // Check if we have processed all object to fix. If so, close the window successfully. if (!currentObjectToReplaceEnumerator.MoveNext()) { dialog.RequestClose(DialogResult.Ok); return(false); } ++FixedObjectsCount; CurrentObjectToReplace = currentObjectToReplaceEnumerator.Current.Key.ReferencedObject; CurrentReplacements.Clear(); foreach (var referencer in currentObjectToReplaceEnumerator.Current.Value) { CurrentReplacements.AddRange(GetReplacementsForReferencer(referencer, currentObjectToReplaceEnumerator.Current.Key.ReferencedMember)); } UpdateReplacements(); return(true); }
/// <summary> /// Updates the enabled status of the commands. /// </summary> public void UpdateCommands() { if (UseSingleReplace) { FixReferencesCommand.IsEnabled = SingleReplacementObject != null; } else { FixReferencesCommand.IsEnabled = CurrentReplacements.All(x => x.ReplacementObject != null || x.DontFixReference); } }