Dev2.Studio.UserInterfaceLayoutProvider.DeleteSourceExplorerResource C# (CSharp) Method

DeleteSourceExplorerResource() private method

private DeleteSourceExplorerResource ( object state ) : void
state object
return void
        private void DeleteSourceExplorerResource(object state)
        {
            if (state is KeyValuePair<ITreeNode, IContextualResourceModel>)
            {
                var kvp = (KeyValuePair<ITreeNode, IContextualResourceModel>)state;
                IContextualResourceModel model = kvp.Value;
                List<IResourceModel> dependencies = ResourceDependencyService.GetUniqueDependencies(model);
                bool openDependencyGraph;
                bool shouldRemove = QueryDeleteExplorerResource(model.ResourceName, "Source",
                                                                dependencies != null && dependencies.Count > 0,
                                                                out openDependencyGraph);

                if (shouldRemove)
                {
                    if (!WizardEngine.IsWizard(model))
                    {
                        IContextualResourceModel wizard = WizardEngine.GetWizard(model);
                        if (wizard != null)
                        {
                            dynamic wizardData = ExecuteDeleteResource(wizard, "Source",
                                                                       String.Join(",",
                                                                                   MainViewModel.SecurityContext.Roles));

                            if (wizardData.HasError)
                            {
                                HandleDeleteResourceError(wizardData, model.ResourceName, "Source");
                                return;
                            }
                        }
                    }

                    dynamic data = ExecuteDeleteResource(model, "Source",
                                                         String.Join(",", MainViewModel.SecurityContext.Roles));

                    if (data.HasError)
                    {
                        HandleDeleteResourceError(data, model.ResourceName, "Source");
                    }
                    else
                    {
                        RemoveExplorerResource(model, kvp.Key);
                    }
                }
                else if (openDependencyGraph)
                {
                    MainViewModel.AddDependencyVisualizerDocument(model);
                }
            }
        }