public ReferencesFoundModel(SceneNode resourceEntryNode, ICollection <SceneNode> references, ReferencesFoundModel.UseScenario useScenario) { this.resourceEntryNode = resourceEntryNode; foreach (SceneNode node in (IEnumerable <SceneNode>)references) { this.referenceNames.Add(ReferencesFoundModel.SceneNodeElementName(node)); } if (references.Count > 0) { this.AddReferencesFile(resourceEntryNode.ViewModel.Document); } this.useScenario = useScenario; if (this.IsDeleting) { this.updateMethod = ReferencesFoundModel.UpdateMethod.ConvertToLocal; } else { this.updateMethod = ReferencesFoundModel.UpdateMethod.UpdateReferences; } }
internal ReferencesFoundModel InteractiveGetReferencingResources(ReferencesFoundModel.UseScenario useScenario) { SceneViewModel viewModel = this.Container.ViewModel; List <SceneNode> list = new List <SceneNode>(); viewModel.FindInternalResourceReferences(this.resource.ResourceNode, (ICollection <SceneNode>)list); ITypeId type = (ITypeId)viewModel.RootNode.Type; bool flag = PlatformTypes.ResourceDictionary.IsAssignableFrom(type) || PlatformTypes.Application.IsAssignableFrom(type); ReferencesFoundModel model = new ReferencesFoundModel(viewModel.GetSceneNode((DocumentNode)this.resource.ResourceNode), (ICollection <SceneNode>)list, useScenario); if (list.Count > 0 || flag) { if (!new AsyncProcessDialog((AsyncProcess) new SerialAsyncProcess((IAsyncMechanism) new CurrentDispatcherAsyncMechanism(DispatcherPriority.Background), new AsyncProcess[2] { (AsyncProcess) new ExternalOpenSceneResourceReferenceAnalyzer(model), (AsyncProcess) new ExternalClosedSceneResourceReferenceAnalyzer(model) }), this.DesignerContext.ExpressionInformationService).ShowDialog().GetValueOrDefault(false)) { model = (ReferencesFoundModel)null; } } return(model); }