/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { base.Initialize(); var dllPath = Assembly.GetExecutingAssembly().Location; this.authManager = new AuthenticationManager(); this.arasDataProvider = new ArasDataProvider(authManager); this.dialogFactory = new DialogFactory(authManager, arasDataProvider); this.projectConfigurationManager = new ProjectConfigurationManager(); this.projectManager = new ProjectManager(this, dialogFactory); this.defaultCodeProvider = new DefaultCodeProvider(); this.codeProviderFactory = new CodeProviderFactory(projectManager, defaultCodeProvider); Commands.OpenFromArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.OpenFromPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.CreateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.SaveToArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.SaveToPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.UpdateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.ConnectionInfoCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager); Commands.CreatePartialElementCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, codeProviderFactory); Commands.RefreshConfigCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager); Commands.DebugMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory); var dte = (DTE)this.GetService(typeof(DTE)); this.projectItemsEvents = dte.Events.GetObject("CSharpProjectItemsEvents") as ProjectItemsEvents; if (this.projectItemsEvents != null) { this.projectItemsEvents.ItemRemoved += this.ProjectItemsEvents_ItemRemoved; this.projectItemsEvents.ItemRenamed += this.ProjectItemsEvents_ItemRenamed; } }
public DialogFactory(IAuthenticationManager authManager, IArasDataProvider arasDataProvider, IVisualStudioServiceProvider serviceProvider, IIOWrapper iOWrapper, MessageManager messageManager) { if (authManager == null) { throw new ArgumentNullException(nameof(authManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (iOWrapper == null) { throw new ArgumentNullException(nameof(iOWrapper)); } if (messageManager == null) { throw new ArgumentNullException(nameof(messageManager)); } this.arasDataProvider = arasDataProvider; this.authManager = authManager; this.serviceProvider = serviceProvider; this.iOWrapper = iOWrapper; this.messageManager = messageManager; }
public void Setup() { this.innovatorUser = new InnovatorUser(); this.serverConnection = Substitute.For <IServerConnection>(); this.innovatorInstance = new Innovator(this.serverConnection); this.iOMWrapper = Substitute.For <IIOMWrapper>(); this.authManager = new AuthenticationManagerProxy(serverConnection, innovatorInstance, innovatorUser, iOMWrapper); this.dialogFactory = Substitute.For <IDialogFactory>(); this.projectConfigurationManager = Substitute.For <IProjectConfigurationManager>(); this.projectConfiguration = Substitute.For <IProjectConfiguraiton>(); this.messageManager = Substitute.For <MessageManager>(); this.packageManager = new PackageManager(authManager, messageManager); this.arasDataProvider = Substitute.For <IArasDataProvider>(); this.methodInformation = new MethodInfo(); this.templateLoader = new TemplateLoader(); this.projectManager = Substitute.For <IProjectManager>(); this.codeProvider = Substitute.For <ICodeProvider>(); this.globalConfiguration = Substitute.For <IGlobalConfiguration>(); this.globalConfiguration.GetUserCodeTemplatesPaths().Returns(new List <string>()); this.serverConnection.When(x => x.CallAction("ApplyItem", Arg.Is <XmlDocument>(doc => doc.DocumentElement.Attributes["type"].Value == "Value"), Arg.Any <XmlDocument>())) .Do(x => { (x[2] as XmlDocument).Load(Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\ActionLocationsListValue.xml")); }); this.serverConnection.When(x => x.CallAction("ApplyItem", Arg.Is <XmlDocument>(doc => doc.DocumentElement.Attributes["type"].Value == "Filter Value"), Arg.Any <XmlDocument>())) .Do(x => { (x[2] as XmlDocument).Load(Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\MethodTypesListFilterValue.xml")); }); this.projectConfiguration.LastSavedSearch.Returns(new Dictionary <string, List <PropertyInfo> >()); XmlDocument methodItemTypeAML = new XmlDocument(); methodItemTypeAML.Load(Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\MethodItemType.xml")); Item methodItemType = this.innovatorInstance.newItem(); methodItemType.loadAML(methodItemTypeAML.OuterXml); this.arasDataProvider.GetMethodItemTypeInfo().Returns(new MethodItemTypeInfo(methodItemType, messageManager)); this.createMethodViewModel = new CreateMethodViewModel(authManager, dialogFactory, projectConfiguration, templateLoader, packageManager, projectManager, arasDataProvider, codeProvider, globalConfiguration, messageManager); }
public void Setup() { this.serverConnection = Substitute.For <IServerConnection>(); this.innovator = new Innovator(this.serverConnection); this.authManager = new AuthenticationManagerProxy(this.serverConnection, innovator, new InnovatorUser(), Substitute.For <IIOMWrapper>()); this.dialogFactory = Substitute.For <IDialogFactory>(); IProjectConfiguraiton projectConfiguration = Substitute.For <IProjectConfiguraiton>(); this.projectConfigurationManager = Substitute.For <IProjectConfigurationManager>(); projectConfigurationManager.CurrentProjectConfiguraiton.Returns(projectConfiguration); this.messageManager = Substitute.For <MessageManager>(); this.packageManager = new PackageManager(authManager, messageManager); this.arasDataProvider = Substitute.For <IArasDataProvider>(); this.methodInformation = new MethodInfo() { Package = new PackageInfo(string.Empty) }; XmlDocument methodItemTypeXmlDocument = new XmlDocument(); methodItemTypeXmlDocument.Load(Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\MethodItemType.xml")); Item methodItem = this.innovator.newItem(); methodItem.loadAML(methodItemTypeXmlDocument.OuterXml); MethodItemTypeInfo methodItemTypeInfo = new MethodItemTypeInfo(methodItem, messageManager); arasDataProvider.GetMethodItemTypeInfo().Returns(methodItemTypeInfo); List <ConnectionInfo> connectionInfos = new List <ConnectionInfo>() { new ConnectionInfo() { Login = "******", Database = "testDataBase", ServerUrl = "testServerUrl", LastConnection = true } }; projectConfiguration.Connections.Returns(connectionInfos); saveMethodViewModel = new SaveMethodViewModel(this.authManager, this.dialogFactory, this.projectConfigurationManager, this.packageManager, this.arasDataProvider, this.methodInformation, this.messageManager, "methodCode", "projectConfPath", "projectName", "projectFullName"); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override async System.Threading.Tasks.Task InitializeAsync(System.Threading.CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { await base.InitializeAsync(cancellationToken, progress); // When initialized asynchronously, we *may* be on a background thread at this point. // Do any initialization that requires the UI thread after switching to the UI thread. // Otherwise, remove the switch to the UI thread if you don't need it. await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); IVisualStudioServiceProvider serviceProvider = new VisualStudioServiceProvider(this); this.messageManager = new VisualStudioMessageManager(); this.iOWrapper = new IOWrapper(); this.projectConfigurationManager = new ProjectConfigurationManager(this.messageManager); this.vsPackageWrapper = new VsPackageWrapper(); this.projectManager = new ProjectManager(serviceProvider, iOWrapper, vsPackageWrapper, messageManager, projectConfigurationManager); this.authManager = new AuthenticationManager(messageManager, projectManager); this.arasDataProvider = new ArasDataProvider(authManager, messageManager); this.dialogFactory = new DialogFactory(authManager, arasDataProvider, serviceProvider, iOWrapper, messageManager); ICodeFormatter codeFormatter = new VisualStudioCodeFormatter(this.projectManager); this.codeProviderFactory = new CodeProviderFactory(codeFormatter, messageManager, iOWrapper); this.globalConfiguration = new GlobalConfiguration(iOWrapper); this.projectUpdater = new ProjectUpdater(this.iOWrapper); this.eventListener = new EventListener(projectManager, projectUpdater, projectConfigurationManager, iOWrapper); this.openContextParser = new OpenContextParser(); this.methodOpener = new MethodOpener(projectManager, dialogFactory, openContextParser, messageManager); Commands.OpenFromArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.OpenFromPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.CreateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, globalConfiguration, messageManager); Commands.SaveToArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.SaveToPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.UpdateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.ConnectionInfoCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, messageManager); Commands.CreateCodeItemCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.RefreshConfigCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, messageManager); Commands.DebugMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.MoveToCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.ImportOpenInVSActionCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); this.eventListener.StartListening(); IVsAppCommandLine cmdLine = await GetServiceAsync(typeof(SVsAppCommandLine)) as IVsAppCommandLine; ErrorHandler.ThrowOnFailure(cmdLine.GetOption(OpenInVSConstants.ProtocolName, out int isPresent, out string openMethodRequest)); if (isPresent == 1) { methodOpener.OpenMethodFromAras(openMethodRequest); } }
public DialogFactory(IAuthenticationManager authManager, IArasDataProvider arasDataProvider) { if (authManager == null) { throw new ArgumentNullException(nameof(authManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } this.arasDataProvider = arasDataProvider; this.authManager = authManager; }
public void Init() { serverConnection = Substitute.For <IServerConnection>(); Innovator innovatorIns = new Innovator(serverConnection); this.authManager = new AuthenticationManagerProxy(this.serverConnection, innovatorIns, new InnovatorUser(), Substitute.For <IIOMWrapper>()); this.dialogFactory = Substitute.For <IDialogFactory>(); this.projectConfigurationManager = Substitute.For <IProjectConfigurationManager>(); this.projectConfiguration = Substitute.For <IProjectConfiguraiton>(); this.messageManager = Substitute.For <MessageManager>(); this.packageManager = new PackageManager(this.authManager, this.messageManager); this.templateLoader = new TemplateLoader(); this.codeProvider = Substitute.For <ICodeProvider>(); this.projectManager = Substitute.For <IProjectManager>(); this.arasDataProvider = Substitute.For <IArasDataProvider>(); this.iOWrapper = Substitute.For <IIOWrapper>(); this.methodInformation = new MethodInfo() { MethodName = string.Empty, Package = new PackageInfo(string.Empty) }; this.projectConfiguration.LastSavedSearch.Returns(new Dictionary <string, List <PropertyInfo> >()); XmlDocument methodItemTypeDoc = new XmlDocument(); methodItemTypeDoc.Load(Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\MethodItemType.xml")); Item methodItemType = innovatorIns.newItem(); methodItemType.loadAML(methodItemTypeDoc.OuterXml); MethodItemTypeInfo methodItemTypeInfo = new MethodItemTypeInfo(methodItemType, messageManager); this.arasDataProvider.GetMethodItemTypeInfo().Returns(methodItemTypeInfo); string pathToFileForSave = Path.Combine(currentPath, @"Dialogs\ViewModels\TestData\MethodAml\ReturnNullMethodAml.xml"); this.saveToPackageViewModel = new SaveToPackageViewModel(authManager, dialogFactory, projectConfiguration, templateLoader, packageManager, codeProvider, projectManager, arasDataProvider, iOWrapper, messageManager, methodInformation, pathToFileForSave); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override async System.Threading.Tasks.Task InitializeAsync(System.Threading.CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { await base.InitializeAsync(cancellationToken, progress); // When initialized asynchronously, we *may* be on a background thread at this point. // Do any initialization that requires the UI thread after switching to the UI thread. // Otherwise, remove the switch to the UI thread if you don't need it. await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); IVisualStudioServiceProvider serviceProvider = new VisualStudioServiceProvider(this); this.messageManager = new VisualStudioMessageManager(); this.iOWrapper = new IOWrapper(); this.projectConfigurationManager = new ProjectConfigurationManager(); this.vsPackageWrapper = new VsPackageWrapper(); this.projectManager = new ProjectManager(serviceProvider, iOWrapper, vsPackageWrapper, messageManager, projectConfigurationManager); this.authManager = new AuthenticationManager(messageManager, projectManager); this.arasDataProvider = new ArasDataProvider(authManager, messageManager); this.dialogFactory = new DialogFactory(authManager, arasDataProvider, serviceProvider, iOWrapper, messageManager); ICodeFormatter codeFormatter = new VisualStudioCodeFormatter(this.projectManager); this.codeProviderFactory = new CodeProviderFactory(codeFormatter, messageManager, iOWrapper); this.globalConfiguration = new GlobalConfiguration(iOWrapper); Commands.OpenFromArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.OpenFromPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.CreateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, globalConfiguration, messageManager); Commands.SaveToArasCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.SaveToPackageCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.UpdateMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.ConnectionInfoCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, messageManager); Commands.CreateCodeItemCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.RefreshConfigCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, messageManager); Commands.DebugMethodCmd.Initialize(projectManager, authManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); Commands.MoveToCmd.Initialize(projectManager, dialogFactory, projectConfigurationManager, codeProviderFactory, messageManager); var dte = (DTE)serviceProvider.GetService(typeof(DTE)); this.projectItemsEvents = dte.Events.GetObject("CSharpProjectItemsEvents") as ProjectItemsEvents; if (this.projectItemsEvents != null) { this.projectItemsEvents.ItemRemoved += this.ProjectItemsEvents_ItemRemoved; this.projectItemsEvents.ItemRenamed += this.ProjectItemsEvents_ItemRenamed; } }
public SaveMethodViewModel( IAuthenticationManager authManager, IDialogFactory dialogFactory, IProjectConfigurationManager projectConfigurationManager, PackageManager packageManager, IArasDataProvider arasDataProvider, MethodInfo methodInformation, MessageManager messageManager, string methodCode, string projectConfigPath, string projectName, string projectFullName) { if (authManager == null) { throw new ArgumentNullException(nameof(authManager)); } if (dialogFactory == null) { throw new ArgumentNullException(nameof(dialogFactory)); } if (projectConfigurationManager == null) { throw new ArgumentNullException(nameof(projectConfigurationManager)); } if (packageManager == null) { throw new ArgumentNullException(nameof(packageManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } if (methodInformation == null) { throw new ArgumentNullException(nameof(methodInformation)); } if (messageManager == null) { throw new ArgumentNullException(nameof(messageManager)); } this.authManager = authManager; this.dialogFactory = dialogFactory; this.projectConfigurationManager = projectConfigurationManager; this.packageManager = packageManager; this.arasDataProvider = arasDataProvider; this.messageManager = messageManager; this.projectConfigPath = projectConfigPath; this.projectName = projectName; this.projectFullName = projectFullName; this.okCommand = new RelayCommand <object>(OkCommandClick, IsEnabledOkButton); this.closeCommand = new RelayCommand <object>(OnCloseCliked); this.editConnectionInfoCommand = new RelayCommand <object>(EditConnectionInfoCommandClick); this.selectedIdentityCommand = new RelayCommand(SelectedIdentityCommandClick); this.methodItemTypeInfo = arasDataProvider.GetMethodItemTypeInfo(); this.MethodNameMaxLength = methodItemTypeInfo.NameStoredLength; this.MethodCommentMaxLength = methodItemTypeInfo.CommentsStoredLength; this.MethodComment = methodInformation.MethodComment; this.innovatorMethodId = methodInformation.InnovatorMethodId; this.methodCode = methodCode; this.methodType = methodInformation.MethodType; this.methodLanguage = methodInformation.MethodLanguage; this.templateName = methodInformation.TemplateName; this.eventData = methodInformation.EventData.ToString(); this.selectedIdentityKeyedName = methodInformation.ExecutionAllowedToKeyedName; this.selectedIdentityId = methodInformation.ExecutionAllowedToId; this.selectedPackage = methodInformation.Package.Name; this.MethodName = methodInformation.MethodName; this.methodConfigId = methodInformation.InnovatorMethodConfigId; //TODO: How to know current connection? ConnectionInformation = projectConfigurationManager.CurrentProjectConfiguraiton.Connections.First(c => c.LastConnection); }
public SaveToPackageViewModel( IAuthenticationManager authManager, IDialogFactory dialogFactory, IProjectConfiguraiton projectConfiguration, TemplateLoader templateLoader, PackageManager packageManager, ICodeProvider codeProvider, IProjectManager projectManager, IArasDataProvider arasDataProvider, MethodInfo methodInformation, string pathToFileForSave) { if (authManager == null) { throw new ArgumentNullException(nameof(authManager)); } if (dialogFactory == null) { throw new ArgumentNullException(nameof(dialogFactory)); } if (projectConfiguration == null) { throw new ArgumentNullException(nameof(projectConfiguration)); } if (templateLoader == null) { throw new ArgumentNullException(nameof(templateLoader)); } if (packageManager == null) { throw new ArgumentNullException(nameof(packageManager)); } if (codeProvider == null) { throw new ArgumentNullException(nameof(codeProvider)); } if (projectManager == null) { throw new ArgumentNullException(nameof(projectManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } if (methodInformation == null) { throw new ArgumentNullException(nameof(methodInformation)); } this.authManager = authManager; this.dialogFactory = dialogFactory; this.projectConfiguration = projectConfiguration; this.templateLoader = templateLoader; this.packageManager = packageManager; this.projectManager = projectManager; this.arasDataProvider = arasDataProvider; this.MethodInformation = methodInformation; this.folderBrowserCommand = new RelayCommand <object>(OnFolderBrowserClick); this.okCommand = new RelayCommand <object>(OkCommandClick, IsEnabledOkButton); this.closeCommand = new RelayCommand <object>(OnCloseCliked); this.selectedIdentityCommand = new RelayCommand(SelectedIdentityCommandClick); string sourceCode = File.ReadAllText(pathToFileForSave, new UTF8Encoding(true)); this.methodItemTypeInfo = arasDataProvider.GetMethodItemTypeInfo(); this.MethodNameMaxLength = methodItemTypeInfo.NameStoredLength; this.MethodCommentMaxLength = methodItemTypeInfo.CommentsStoredLength; MethodComment = MethodInformation.MethodComment; PackagePath = projectConfiguration.LastSelectedDir; MethodName = MethodInformation.MethodName; MethodCode = codeProvider.LoadMethodCode(sourceCode, MethodInformation, projectManager.ServerMethodFolderPath); SelectedPackage = MethodInformation.PackageName; selectedIdentityKeyedName = MethodInformation.ExecutionAllowedToKeyedName; selectedIdentityId = MethodInformation.ExecutionAllowedToId; }
public CreateMethodViewModel( IAuthenticationManager authenticationManager, IDialogFactory dialogFactory, IProjectConfiguraiton projectConfiguration, TemplateLoader templateLoader, PackageManager packageManager, IProjectManager projectManager, IArasDataProvider arasDataProvider, ICodeProvider codeProvider, IGlobalConfiguration userConfiguration, MessageManager messageManager) { if (authenticationManager == null) { throw new ArgumentNullException(nameof(authenticationManager)); } if (dialogFactory == null) { throw new ArgumentNullException(nameof(dialogFactory)); } if (projectConfiguration == null) { throw new ArgumentNullException(nameof(projectConfiguration)); } if (templateLoader == null) { throw new ArgumentNullException(nameof(templateLoader)); } if (packageManager == null) { throw new ArgumentNullException(nameof(packageManager)); } if (projectManager == null) { throw new ArgumentNullException(nameof(projectManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } if (codeProvider == null) { throw new ArgumentNullException(nameof(codeProvider)); } if (userConfiguration == null) { throw new ArgumentNullException(nameof(userConfiguration)); } if (messageManager == null) { throw new ArgumentNullException(nameof(messageManager)); } this.authenticationManager = authenticationManager; this.dialogFactory = dialogFactory; this.projectConfiguration = projectConfiguration; this.templateLoader = templateLoader; this.packageManager = packageManager; this.projectManager = projectManager; this.arasDataProvider = arasDataProvider; this.codeProvider = codeProvider; this.globalConfiguration = userConfiguration; this.messageManager = messageManager; this.isUseVSFormattingCode = projectConfiguration.UseVSFormatting; this.UserCodeTemplates = LoadUserCodeTemplates(); this.SelectedUserCodeTemplate = this.userCodeTemplates.First(); this.methodItemTypeInfo = arasDataProvider.GetMethodItemTypeInfo(); this.MethodNameMaxLength = methodItemTypeInfo.NameStoredLength; this.MethodCommentMaxLength = methodItemTypeInfo.CommentsStoredLength; actionLocations = new ObservableCollection <ListInfo>(); foreach (var localtion in Utilities.Utils.GetValueListByName(authenticationManager.InnovatorInstance, "Action Locations")) { string value = localtion.getProperty("value", string.Empty); if (string.Equals(value, "client")) { continue; } actionLocations.Add(new ListInfo(value, localtion.getProperty("label", string.Empty))); } allLanguages = new List <FilteredListInfo>(); foreach (var language in Utilities.Utils.GetFilterValueListByName(authenticationManager.InnovatorInstance, "Method Types")) { string value = language.getProperty("value"); string label = language.getProperty("label"); string filter = language.getProperty("filter"); if (string.Equals(filter, "server", StringComparison.CurrentCultureIgnoreCase) && !string.Equals(value, this.codeProvider.Language, StringComparison.CurrentCultureIgnoreCase)) { continue; } allLanguages.Add(new FilteredListInfo(value, label, filter)); } SelectedActionLocation = actionLocations.First(al => string.Equals(al.Value.ToLowerInvariant(), "server")); okCommand = new RelayCommand <object>(OnOkClick, IsEnabledOkButton); cancelCommand = new RelayCommand <object>(OnCancelClick); closeCommand = new RelayCommand <object>(OnCloseCliked); selectedIdentityCommand = new RelayCommand(SelectedIdentityCommandClick); browseCodeTemplateCommand = new RelayCommand(BrowseCodeTemplateCommandClick); deleteUserCodeTemplateCommand = new RelayCommand <KeyValuePair <string, XmlMethodInfo> >(DeleteUserCodeTemplateCommandClick); SelectedEventSpecificData = EventSpecificData.First(); }
public SaveToPackageViewModel( IAuthenticationManager authManager, IDialogFactory dialogFactory, IProjectConfiguraiton projectConfiguration, TemplateLoader templateLoader, PackageManager packageManager, ICodeProvider codeProvider, IProjectManager projectManager, IArasDataProvider arasDataProvider, IIOWrapper iOWrapper, MessageManager messageManager, MethodInfo methodInformation, string sourceCode) { if (authManager == null) { throw new ArgumentNullException(nameof(authManager)); } if (dialogFactory == null) { throw new ArgumentNullException(nameof(dialogFactory)); } if (projectConfiguration == null) { throw new ArgumentNullException(nameof(projectConfiguration)); } if (templateLoader == null) { throw new ArgumentNullException(nameof(templateLoader)); } if (packageManager == null) { throw new ArgumentNullException(nameof(packageManager)); } if (codeProvider == null) { throw new ArgumentNullException(nameof(codeProvider)); } if (projectManager == null) { throw new ArgumentNullException(nameof(projectManager)); } if (arasDataProvider == null) { throw new ArgumentNullException(nameof(arasDataProvider)); } if (iOWrapper == null) { throw new ArgumentNullException(nameof(iOWrapper)); } if (messageManager == null) { throw new ArgumentNullException(nameof(messageManager)); } if (methodInformation == null) { throw new ArgumentNullException(nameof(methodInformation)); } this.authManager = authManager; this.dialogFactory = dialogFactory; this.projectConfiguration = projectConfiguration; this.templateLoader = templateLoader; this.packageManager = packageManager; this.projectManager = projectManager; this.arasDataProvider = arasDataProvider; this.iOWrapper = iOWrapper; this.messageManager = messageManager; this.MethodInformation = methodInformation; this.folderBrowserCommand = new RelayCommand <object>(OnFolderBrowserClick); this.okCommand = new RelayCommand <object>(OkCommandClick, IsEnabledOkButton); this.closeCommand = new RelayCommand <object>(OnCloseCliked); this.selectedIdentityCommand = new RelayCommand(SelectedIdentityCommandClick); this.methodItemTypeInfo = arasDataProvider.GetMethodItemTypeInfo(); this.MethodNameMaxLength = methodItemTypeInfo.NameStoredLength; this.MethodCommentMaxLength = methodItemTypeInfo.CommentsStoredLength; MethodComment = MethodInformation.MethodComment; PackagePath = projectConfiguration.LastSelectedDir; MethodName = MethodInformation.MethodName; string packageMethodFolderPath = projectConfiguration.UseCommonProjectStructure ? methodInformation.Package.MethodFolderPath : string.Empty; string methodWorkingFolder = Path.Combine(projectManager.ServerMethodFolderPath, packageMethodFolderPath, methodInformation.MethodName); MethodCode = codeProvider.LoadMethodCode(methodWorkingFolder, sourceCode); SelectedPackage = MethodInformation.Package.Name; selectedIdentityKeyedName = MethodInformation.ExecutionAllowedToKeyedName; selectedIdentityId = MethodInformation.ExecutionAllowedToId; }