Esempio n. 1
0
        public void Rename(IUriReferenceService uriService, RefactoringManager refactoringManager)
        {
            var element = this.As <IProductElement>();
            var app     = element.Root.As <IApplication>();

            // Remove existing links to Endpoints
            foreach (var component in this.Components.Component)
            {
                foreach (var endpoint in component.DeployedTo)
                {
                    component.RemoveLinks(endpoint);
                }
            }

            // Perform renaming
            var renameNamespaces = new Dictionary <string, string>();

            renameNamespaces.Add(String.Format("{0}.{1}", app.InstanceName, this.OriginalInstanceName),
                                 String.Format("{0}.{1}", app.InstanceName, this.InstanceName));
            renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.OriginalInstanceName),
                                 String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.InstanceName));
            renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.OriginalInstanceName),
                                 String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.InstanceName));
            renameNamespaces.Add(String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.OriginalInstanceName),
                                 String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.InstanceName));


            refactoringManager.RenameNamespaces(this.OriginalInstanceName, this.InstanceName, renameNamespaces);
            element.RenameArtifactLinks(uriService, this.OriginalInstanceName, this.InstanceName);

            // Restore existing links to Endpoints
            foreach (var component in this.Components.Component)
            {
                foreach (var endpoint in component.DeployedTo)
                {
                    component.AddLinks(endpoint);
                }
            }
        }
Esempio n. 2
0
        public void Rename(IUriReferenceService uriService, RefactoringManager refactoringManager)
        {
            var element = this.As<IProductElement>();
            var app = element.Root.As<IApplication>();

            // Remove existing links to Endpoints
            foreach (var component in this.Components.Component)
            {
                foreach (var endpoint in component.DeployedTo)
                {
                    component.RemoveLinks(endpoint);
                }
            }

            // Perform renaming
            var renameNamespaces = new Dictionary<string, string>();
            renameNamespaces.Add(String.Format("{0}.{1}", app.InstanceName, this.OriginalInstanceName),
                                 String.Format("{0}.{1}", app.InstanceName, this.InstanceName));
            renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.OriginalInstanceName),
                                 String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.InstanceName));
            renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.OriginalInstanceName),
                                 String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.InstanceName));
            renameNamespaces.Add(String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.OriginalInstanceName),
                                 String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.InstanceName));

            refactoringManager.RenameNamespaces(this.OriginalInstanceName, this.InstanceName, renameNamespaces);
            element.RenameArtifactLinks(uriService, this.OriginalInstanceName, this.InstanceName);

            // Restore existing links to Endpoints
            foreach (var component in this.Components.Component)
            {
                foreach (var endpoint in component.DeployedTo)
                {
                    component.AddLinks(endpoint);
                }
            }
        }
        public static bool RenameElement(this IProductElement element, IToolkitElement toolkitElement, IUriReferenceService uriService, RefactoringManager refactoringManager)
        {
            using (new MouseCursor(System.Windows.Input.Cursors.Wait))
            {
                var renameRefactoring = toolkitElement as IRenameRefactoring;
                if (renameRefactoring != null)
                {
                    refactoringManager.RenameClass(renameRefactoring.Namespace, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName);
                    element.RenameArtifactLinks(uriService, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName);
                    return true;
                }

                var renameRefactoringNamespace = toolkitElement as IRenameRefactoringNamespace;
                if (renameRefactoringNamespace != null && toolkitElement.InstanceName != "" && toolkitElement is IService)
                {
                    var service = toolkitElement as IService;
                    service.Rename(uriService, refactoringManager);

                    //MessageBox.Show("The Service renaming is almost done. Please, re-open the solution to finish with the renaming.", "Rename Service", MessageBoxButton.OK);
                    return true;
                }

                var renameRefactoringNotSupported = toolkitElement as IRenameRefactoringNotSupported;
                if (renameRefactoringNotSupported != null && toolkitElement.InstanceName != "")
                {
                    var result = MessageBox.Show("This element doesn't support code refactoring, you will need to update your code manually. Do you want to do the renaming anyway?", "Rename element", MessageBoxButton.YesNo);
                    return result == MessageBoxResult.Yes;
                }

                return true;
            }
        }
Esempio n. 4
0
        public static bool RenameElement(this IProductElement element, IToolkitElement toolkitElement, IUriReferenceService uriService, RefactoringManager refactoringManager)
        {
            using (new MouseCursor(System.Windows.Input.Cursors.Wait))
            {
                var renameRefactoring = toolkitElement as IRenameRefactoring;
                if (renameRefactoring != null)
                {
                    refactoringManager.RenameClass(renameRefactoring.Namespace, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName);
                    element.RenameArtifactLinks(uriService, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName);
                    return(true);
                }

                var renameRefactoringNamespace = toolkitElement as IRenameRefactoringNamespace;
                if (renameRefactoringNamespace != null && toolkitElement.InstanceName != "" && toolkitElement is IService)
                {
                    var service = toolkitElement as IService;
                    service.Rename(uriService, refactoringManager);

                    //MessageBox.Show("The Service renaming is almost done. Please, re-open the solution to finish with the renaming.", "Rename Service", MessageBoxButton.OK);
                    return(true);
                }

                var renameRefactoringNotSupported = toolkitElement as IRenameRefactoringNotSupported;
                if (renameRefactoringNotSupported != null && toolkitElement.InstanceName != "")
                {
                    var result = MessageBox.Show("This element doesn't support code refactoring, you will need to update your code manually. Do you want to do the renaming anyway?", "Rename element", MessageBoxButton.YesNo);
                    return(result == MessageBoxResult.Yes);
                }

                return(true);
            }
        }