public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            var project = projectManager.SelectedProject;

            string projectConfigPath = projectManager.ProjectConfigPath;
            string methodConfigPath  = projectManager.MethodConfigPath;

            var projectConfiguration = projectConfigurationManager.Load(projectConfigPath);

            string     selectedMethodPath = projectManager.MethodPath;
            string     selectedMethodName = Path.GetFileNameWithoutExtension(selectedMethodPath);
            MethodInfo methodInformation  = projectConfiguration.MethodInfos.FirstOrDefault(m => m.MethodName == selectedMethodName);

            if (methodInformation == null)
            {
                throw new Exception();
            }

            var templateLoader = new TemplateLoader(this.dialogFactory);

            templateLoader.Load(methodConfigPath);

            var packageManager = new PackageManager(authManager);

            var updateView       = dialogFactory.GetUpdateFromArasView(projectConfigurationManager, projectConfiguration, templateLoader, packageManager, methodInformation, projectConfigPath, project.Name, project.FullName);
            var updateViewResult = updateView.ShowDialog();

            if (updateViewResult?.DialogOperationResult != true)
            {
                return;
            }

            var eventData = CommonData.EventSpecificDataTypeList.First(x => x.EventSpecificData == updateViewResult.EventSpecificData);

            ICodeProvider     codeProvider = codeProviderFactory.GetCodeProvider(project.CodeModel.Language, projectConfiguration);
            GeneratedCodeInfo codeInfo     = codeProvider.GenerateCodeInfo(updateViewResult.SelectedTemplate, eventData, updateViewResult.MethodName, false, updateViewResult.MethodCode, updateViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo);

            var methodInfo = new MethodInfo()
            {
                InnovatorMethodConfigId = updateViewResult.MethodConfigId,
                InnovatorMethodId       = updateViewResult.MethodId,
                MethodLanguage          = updateViewResult.MethodLanguage,
                MethodName                  = updateViewResult.MethodName,
                MethodType                  = updateViewResult.MethodType,
                PackageName                 = updateViewResult.PackageName,
                TemplateName                = updateViewResult.SelectedTemplate.TemplateName,
                EventData                   = updateViewResult.EventSpecificData,
                ExecutionAllowedToId        = updateViewResult.ExecutionIdentityId,
                ExecutionAllowedToKeyedName = updateViewResult.ExecutionIdentityKeyedName,
                MethodComment               = updateViewResult.MethodComment,
                PartialClasses              = codeInfo.PartialCodeInfoList.Select(pci => pci.Path).ToList(),
                ExternalItems               = codeInfo.ExternalItemsInfoList.Select(pci => pci.Path).ToList()
            };

            projectConfiguration.AddMethodInfo(methodInfo);
            projectConfiguration.UseVSFormatting = updateViewResult.IsUseVSFormattingCode;
            projectConfigurationManager.Save(projectConfigPath, projectConfiguration);
        }
        public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            var project = projectManager.SelectedProject;
            var projectConfiguration = projectConfigurationManager.Load(projectManager.ProjectConfigPath);

            var templateLoader = new Templates.TemplateLoader(this.dialogFactory);

            templateLoader.Load(projectManager.MethodConfigPath);

            PackageManager packageManager = new PackageManager(authManager);
            ICodeProvider  codeProvider   = codeProviderFactory.GetCodeProvider(project.CodeModel.Language, projectConfiguration);

            var createView       = dialogFactory.GetCreateView(projectConfiguration, templateLoader, packageManager, projectManager, codeProvider, globalConfiguration);
            var createViewResult = createView.ShowDialog();

            if (createViewResult?.DialogOperationResult != true)
            {
                return;
            }

            GeneratedCodeInfo codeInfo = codeProvider.GenerateCodeInfo(createViewResult.SelectedTemplate, createViewResult.SelectedEventSpecificData, createViewResult.MethodName, createViewResult.UseRecommendedDefaultCode, createViewResult.SelectedUserCodeTemplate.Code, createViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo);

            string newInnovatorMethodId = authManager.InnovatorInstance.getNewID();
            var    methodInfo           = new MethodInfo()
            {
                InnovatorMethodConfigId = newInnovatorMethodId,
                InnovatorMethodId       = newInnovatorMethodId,
                MethodLanguage          = createViewResult.SelectedLanguage.Value,
                MethodName                  = createViewResult.MethodName,
                MethodType                  = createViewResult.SelectedActionLocation.Value,
                MethodComment               = createViewResult.MethodComment,
                PackageName                 = createViewResult.SelectedPackage,
                TemplateName                = createViewResult.SelectedTemplate.TemplateName,
                EventData                   = createViewResult.SelectedEventSpecificData.EventSpecificData,
                ExecutionAllowedToId        = createViewResult.SelectedIdentityId,
                ExecutionAllowedToKeyedName = createViewResult.SelectedIdentityKeyedName,
                PartialClasses              = codeInfo.PartialCodeInfoList.Select(pci => pci.Path).ToList(),
                ExternalItems               = codeInfo.ExternalItemsInfoList.Select(pci => pci.Path).ToList()
            };

            projectConfiguration.AddMethodInfo(methodInfo);
            projectConfiguration.UseVSFormatting = createViewResult.IsUseVSFormattingCode;
            projectConfigurationManager.Save(projectManager.ProjectConfigPath, projectConfiguration);
        }
Beispiel #3
0
        public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            TemplateLoader templateLoader = new TemplateLoader();

            templateLoader.Load(projectManager.MethodConfigPath);

            PackageManager packageManager = new PackageManager(authManager, this.messageManager);
            ICodeProvider  codeProvider   = codeProviderFactory.GetCodeProvider(projectManager.Language);

            var createView       = dialogFactory.GetCreateView(projectConfigurationManager.CurrentProjectConfiguraiton, templateLoader, packageManager, projectManager, codeProvider, globalConfiguration);
            var createViewResult = createView.ShowDialog();

            if (createViewResult?.DialogOperationResult != true)
            {
                return;
            }

            GeneratedCodeInfo codeInfo = codeProvider.GenerateCodeInfo(createViewResult.SelectedTemplate, createViewResult.SelectedEventSpecificData, createViewResult.MethodName, createViewResult.SelectedUserCodeTemplate.Code, createViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo, createViewResult.SelectedPackage);
            projectManager.AddSuppression("assembly: System.Diagnostics.CodeAnalysis.SuppressMessage", "Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", "namespace", codeInfo.Namespace);

            string newInnovatorMethodId = authManager.InnovatorInstance.getNewID();
            var    methodInfo           = new MethodInfo()
            {
                InnovatorMethodConfigId = newInnovatorMethodId,
                InnovatorMethodId       = newInnovatorMethodId,
                MethodLanguage          = createViewResult.SelectedLanguage.Value,
                MethodName                  = createViewResult.MethodName,
                MethodType                  = createViewResult.SelectedActionLocation.Value,
                MethodComment               = createViewResult.MethodComment,
                Package                     = createViewResult.SelectedPackage,
                TemplateName                = createViewResult.SelectedTemplate.TemplateName,
                EventData                   = createViewResult.SelectedEventSpecificData.EventSpecificData,
                ExecutionAllowedToId        = createViewResult.SelectedIdentityId,
                ExecutionAllowedToKeyedName = createViewResult.SelectedIdentityKeyedName
            };

            projectConfigurationManager.CurrentProjectConfiguraiton.AddMethodInfo(methodInfo);
            projectConfigurationManager.CurrentProjectConfiguraiton.UseVSFormatting = createViewResult.IsUseVSFormattingCode;
            projectConfigurationManager.Save(projectManager.ProjectConfigPath);
        }
Beispiel #4
0
        public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            var project = projectManager.SelectedProject;

            string projectConfigPath = projectManager.ProjectConfigPath;
            string methodConfigPath  = projectManager.MethodConfigPath;

            var           projectConfiguration = projectConfigurationManager.Load(projectConfigPath);
            ICodeProvider codeProvider         = codeProviderFactory.GetCodeProvider(project.CodeModel.Language, projectConfiguration);

            var templateLoader = new TemplateLoader(this.dialogFactory);

            templateLoader.Load(methodConfigPath);

            var openView = dialogFactory.GetOpenFromPackageView(templateLoader, codeProvider.Language, projectConfiguration);

            var openViewResult = openView.ShowDialog();

            if (openViewResult?.DialogOperationResult != true)
            {
                return;
            }

            MethodInfo methodInformation = projectConfiguration.MethodInfos.FirstOrDefault(m => m.MethodName == openViewResult.MethodName);
            bool       isMethodExist     = projectManager.IsMethodExist(openViewResult.MethodName);

            if (projectManager.IsMethodExist(openViewResult.MethodName))
            {
                var messageWindow = this.dialogFactory.GetMessageBoxWindow();
                var dialogReuslt  = messageWindow.ShowDialog("Method already added to project. Do you want replace method?",
                                                             "Warning",
                                                             MessageButtons.YesNo,
                                                             MessageIcon.None);

                if (dialogReuslt == MessageDialogResult.Yes)
                {
                    projectManager.RemoveMethod(methodInformation);
                    projectConfiguration.MethodInfos.Remove(methodInformation);
                }
                else
                {
                    return;
                }
            }

            GeneratedCodeInfo codeInfo = codeProvider.GenerateCodeInfo(openViewResult.SelectedTemplate, openViewResult.SelectedEventSpecificData, openViewResult.MethodName, false, openViewResult.MethodCode, openViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo);

            var methodInfo = new PackageMethodInfo()
            {
                InnovatorMethodConfigId = openViewResult.MethodConfigId,
                InnovatorMethodId       = openViewResult.MethodId,
                MethodLanguage          = openViewResult.MethodLanguage,
                MethodName                  = openViewResult.MethodName,
                MethodType                  = openViewResult.MethodType,
                MethodComment               = openViewResult.MethodComment,
                PackageName                 = openViewResult.Package,
                TemplateName                = openViewResult.SelectedTemplate.TemplateName,
                EventData                   = openViewResult.SelectedEventSpecificData.EventSpecificData,
                ExecutionAllowedToId        = openViewResult.IdentityId,
                ExecutionAllowedToKeyedName = openViewResult.IdentityKeyedName,
                PartialClasses              = codeInfo.PartialCodeInfoList.Select(pci => pci.Path).ToList(),
                ExternalItems               = codeInfo.ExternalItemsInfoList.Select(pci => pci.Path).ToList(),
                ManifestFileName            = openViewResult.SelectedManifestFileName
            };

            projectConfiguration.LastSelectedDir    = openViewResult.SelectedFolderPath;
            projectConfiguration.LastSelectedMfFile = openViewResult.SelectedManifestFullPath;
            projectConfiguration.UseVSFormatting    = openViewResult.IsUseVSFormattingCode;
            projectConfiguration.LastSelectedSearchTypeInOpenFromPackage = openViewResult.SelectedSearchType;
            projectConfiguration.AddMethodInfo(methodInfo);
            projectConfigurationManager.Save(projectConfigPath, projectConfiguration);
        }
        public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            ICodeProvider codeProvider = codeProviderFactory.GetCodeProvider(projectManager.Language);

            TemplateLoader templateLoader = new TemplateLoader();

            templateLoader.Load(projectManager.MethodConfigPath);

            var openView       = dialogFactory.GetOpenFromPackageView(templateLoader, codeProvider.Language, projectConfigurationManager.CurrentProjectConfiguraiton);
            var openViewResult = openView.ShowDialog();

            if (openViewResult?.DialogOperationResult != true)
            {
                return;
            }

            MethodInfo methodInformation = projectConfigurationManager.CurrentProjectConfiguraiton.MethodInfos.FirstOrDefault(m => m.MethodName == openViewResult.MethodName);

            if (projectManager.IsMethodExist(openViewResult.Package.MethodFolderPath, openViewResult.MethodName))
            {
                var messageWindow = this.dialogFactory.GetMessageBoxWindow();
                var dialogReuslt  = messageWindow.ShowDialog(this.messageManager.GetMessage("MethodAlreadyAddedToProjectDoYouWantReplaceMethod"),
                                                             this.messageManager.GetMessage("Warning"),
                                                             MessageButtons.YesNo,
                                                             MessageIcon.None);

                if (dialogReuslt == MessageDialogResult.Yes)
                {
                    projectManager.RemoveMethod(methodInformation);
                    projectConfigurationManager.CurrentProjectConfiguraiton.MethodInfos.Remove(methodInformation);
                }
                else
                {
                    return;
                }
            }

            GeneratedCodeInfo codeInfo = codeProvider.GenerateCodeInfo(openViewResult.SelectedTemplate, openViewResult.SelectedEventSpecificData, openViewResult.MethodName, openViewResult.MethodCode, openViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo, openViewResult.Package);

            var methodInfo = new PackageMethodInfo()
            {
                InnovatorMethodConfigId = openViewResult.MethodConfigId,
                InnovatorMethodId       = openViewResult.MethodId,
                MethodLanguage          = openViewResult.MethodLanguage,
                MethodName                  = openViewResult.MethodName,
                MethodType                  = openViewResult.MethodType,
                MethodComment               = openViewResult.MethodComment,
                Package                     = openViewResult.Package,
                TemplateName                = openViewResult.SelectedTemplate.TemplateName,
                EventData                   = openViewResult.SelectedEventSpecificData.EventSpecificData,
                ExecutionAllowedToId        = openViewResult.IdentityId,
                ExecutionAllowedToKeyedName = openViewResult.IdentityKeyedName,
                ManifestFileName            = openViewResult.SelectedManifestFileName
            };

            projectManager.AddSuppression("assembly: System.Diagnostics.CodeAnalysis.SuppressMessage", "Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", "namespace", codeInfo.Namespace);

            projectConfigurationManager.CurrentProjectConfiguraiton.LastSelectedDir    = openViewResult.SelectedFolderPath;
            projectConfigurationManager.CurrentProjectConfiguraiton.LastSelectedMfFile = openViewResult.SelectedManifestFullPath;
            projectConfigurationManager.CurrentProjectConfiguraiton.UseVSFormatting    = openViewResult.IsUseVSFormattingCode;
            projectConfigurationManager.CurrentProjectConfiguraiton.LastSelectedSearchTypeInOpenFromPackage = openViewResult.SelectedSearchType;
            projectConfigurationManager.CurrentProjectConfiguraiton.AddMethodInfo(methodInfo);
            projectConfigurationManager.Save(projectManager.ProjectConfigPath);
        }
Beispiel #6
0
        public override void ExecuteCommandImpl(object sender, EventArgs args)
        {
            var    project           = projectManager.SelectedProject;
            string projectConfigPath = projectManager.ProjectConfigPath;

            var projectConfiguration = projectConfigurationManager.Load(projectConfigPath);

            ICodeProvider codeProvider = codeProviderFactory.GetCodeProvider(project.CodeModel.Language, projectConfiguration);

            var templateLoader = new TemplateLoader(this.dialogFactory);

            templateLoader.Load(projectManager.MethodConfigPath);

            var packageManager = new PackageManager(authManager);
            var openView       = dialogFactory.GetOpenFromArasView(projectConfigurationManager, projectConfiguration, templateLoader, packageManager, projectConfigPath, project.Name, project.FullName, codeProvider.Language);

            var openViewResult = openView.ShowDialog();

            if (openViewResult?.DialogOperationResult != true)
            {
                return;
            }

            MethodInfo methodInformation = projectConfiguration.MethodInfos.FirstOrDefault(m => m.MethodName == openViewResult.MethodName);
            bool       isMethodExist     = projectManager.IsMethodExist(openViewResult.MethodName);

            if (projectManager.IsMethodExist(openViewResult.MethodName))
            {
                var messageWindow = this.dialogFactory.GetMessageBoxWindow();
                var dialogReuslt  = messageWindow.ShowDialog("Method already added to project. Do you want replace method?",
                                                             "Warning",
                                                             MessageButtons.YesNo,
                                                             MessageIcon.None);

                if (dialogReuslt == MessageDialogResult.Yes)
                {
                    projectManager.RemoveMethod(methodInformation);
                    projectConfiguration.MethodInfos.Remove(methodInformation);
                }
                else
                {
                    return;
                }
            }

            GeneratedCodeInfo codeInfo = codeProvider.GenerateCodeInfo(openViewResult.SelectedTemplate, openViewResult.SelectedEventSpecificData, openViewResult.MethodName, false, openViewResult.MethodCode, openViewResult.IsUseVSFormattingCode);

            projectManager.CreateMethodTree(codeInfo);

            var methodInfo = new MethodInfo()
            {
                InnovatorMethodConfigId = openViewResult.MethodConfigId,
                InnovatorMethodId       = openViewResult.MethodId,
                MethodLanguage          = openViewResult.MethodLanguage,
                MethodName                  = openViewResult.MethodName,
                MethodType                  = openViewResult.MethodType ?? "server",
                MethodComment               = openViewResult.MethodComment,
                PackageName                 = openViewResult.Package,
                TemplateName                = openViewResult.SelectedTemplate.TemplateName,
                EventData                   = openViewResult.SelectedEventSpecificData.EventSpecificData,
                ExecutionAllowedToId        = openViewResult.SelectedIdentityId,
                ExecutionAllowedToKeyedName = openViewResult.SelectedIdentityKeyedName,
                PartialClasses              = codeInfo.PartialCodeInfoList.Select(pci => pci.Path).ToList(),
                ExternalItems               = codeInfo.ExternalItemsInfoList.Select(pci => pci.Path).ToList()
            };

            projectManager.AddSuppression("assembly: System.Diagnostics.CodeAnalysis.SuppressMessage", "Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", "namespace", codeInfo.Namespace);

            projectConfiguration.AddMethodInfo(methodInfo);
            projectConfiguration.UseVSFormatting = openViewResult.IsUseVSFormattingCode;
            projectConfigurationManager.Save(projectConfigPath, projectConfiguration);
        }