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;
     }
 }
Example #2
0
        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);
        }