private void UpdateMethodView(Window view) { dynamic methodItem = authManager.InnovatorInstance.newItem("Method", "get"); methodItem.setProperty("name", methodName); methodItem = methodItem.apply(); if (methodItem.isError()) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(messageManager.GetMessage("MethodIsNotFoundInTheCurrentConnection", methodName), messageManager.GetMessage("UpdateMethodFromArasInnovator"), MessageButtons.OK, MessageIcon.Information); methodConfigId = string.Empty; methodId = string.Empty; methodLanguage = string.Empty; methodCode = string.Empty; executionIdentityKeyedName = string.Empty; executionIdentityId = string.Empty; methodType = string.Empty; methodComment = string.Empty; this.selectedTemplate = null; package = null; } else { methodConfigId = methodItem.getProperty("config_id", string.Empty); methodId = methodItem.getProperty("id", string.Empty); methodLanguage = methodItem.getProperty("method_type", string.Empty); methodCode = methodItem.getProperty("method_code", string.Empty); executionIdentityKeyedName = methodItem.getPropertyAttribute("execution_allowed_to", "keyed_name", string.Empty); executionIdentityId = methodItem.getProperty("execution_allowed_to", string.Empty); methodComment = methodItem.getProperty("comments", string.Empty); if (methodLanguage == "C#" || methodLanguage == "VB") { methodType = "server"; } else { methodType = "client"; } TemplateInfo template; string templateName = templateLoader.GetMethodTemplateName(methodCode); if (string.IsNullOrEmpty(templateName)) { template = templateLoader.GetDefaultTemplate(methodLanguage); } else { template = templateLoader.GetTemplateFromCodeString(templateName, methodLanguage); if (template == null) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(messageManager.GetMessage("TheTemplateFromSelectedMethodNotFoundDefaultTemplateWillBeUsed", templateName), "Update method from Aras Innovator", MessageButtons.OK, MessageIcon.Information); template = templateLoader.GetDefaultTemplate(methodLanguage); } } this.SelectedTemplate = template; try { this.package = packageManager.GetPackageDefinitionByElementId(methodConfigId); } catch (Exception ex) { this.package = null; } } RaisePropertyChanged(string.Empty); }
private void InitializeItemData(string itemType, string id) { dynamic item = authenticationManager.InnovatorInstance.newItem(itemType, "get"); item.setID(id); item = item.apply(); if (item.isError()) { return; } this.MethodName = item.getProperty("name", string.Empty); this.MethodId = item.getProperty("id", string.Empty); this.MethodConfigId = item.getProperty("config_id", string.Empty); this.MethodLanguage = item.getProperty("method_type", string.Empty); this.IdentityKeyedName = item.getPropertyAttribute("execution_allowed_to", "keyed_name", string.Empty); this.IdentityId = item.getProperty("execution_allowed_to", string.Empty); this.MethodComment = item.getProperty("comments", string.Empty); var methodCode = item.getProperty("method_code", string.Empty); this.MethodCode = Regex.Replace(methodCode, @"//MethodTemplateName=[\S]+\r\n", ""); if (methodLanguage == "C#" || methodLanguage == "VB") { this.MethodType = "server"; } else { this.MethodType = "client"; } var packageName = string.Empty; try { packageName = packageManager.GetPackageDefinitionByElementId(MethodConfigId).Name; } catch (Exception ex) { } this.Package = packageName; TemplateInfo template; string templateName = templateLoader.GetMethodTemplateName(methodCode); if (string.IsNullOrEmpty(templateName)) { template = templateLoader.GetDefaultTemplate(methodLanguage); } else { template = templateLoader.GetTemplateFromCodeString(templateName, methodLanguage); if (template == null) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(messageManager.GetMessage("TheTemplateFromSelectedMethodNotFoundDefaultTemplateWillBeUsed", templateName), "Open method from Aras Innovator", MessageButtons.OK, MessageIcon.Information); template = templateLoader.GetDefaultTemplate(methodLanguage); } } this.SelectedTemplate = template; }
private void OnFolderBrowserCommandClicked() { var actualFolderPath = GetActualFolderPath(); var viewAdapter = this.dialogFactory.GetOpenFromPackageTreeView(actualFolderPath, this.Package, this.MethodName, this.SelectedSearchType); var dialogResult = viewAdapter.ShowDialog(); if (dialogResult.DialogOperationResult == true) { this.Package = dialogResult.SelectedPackage.Name.Split('\\')[0]; this.SelectedManifestFilePath = dialogResult.SelectedPath; this.SelectedSearchType = dialogResult.SelectedSearchType; var xmlDocument = new XmlDocument(); xmlDocument.Load(dialogResult.SelectedMethodFullName); XmlNode itemXmlNode = xmlDocument.SelectSingleNode("AML/Item"); XmlNode commentsXmlNode = itemXmlNode.SelectSingleNode("comments"); XmlNode methodCodeXmlNode = itemXmlNode.SelectSingleNode("method_code"); XmlNode executionAllowedToXmlNode = itemXmlNode.SelectSingleNode("execution_allowed_to"); XmlNode methodTypeXmlNode = itemXmlNode.SelectSingleNode("method_type"); XmlNode nameTypeXmlNode = itemXmlNode.SelectSingleNode("name"); this.MethodLanguage = methodTypeXmlNode.InnerText; if (methodLanguage == "C#" || methodLanguage == "VB") { this.MethodType = "server"; } else { this.MethodType = "client"; } this.MethodComment = commentsXmlNode?.InnerText; this.MethodCode = methodCodeXmlNode.InnerText; this.IdentityKeyedName = executionAllowedToXmlNode.Attributes["keyed_name"].InnerText; this.IdentityId = executionAllowedToXmlNode.InnerText; this.MethodName = nameTypeXmlNode.InnerText; this.MethodConfigId = itemXmlNode.Attributes["id"].InnerText; this.MethodId = itemXmlNode.Attributes["id"].InnerText; TemplateInfo template; string templateName = templateLoader.GetMethodTemplateName(methodCode); if (string.IsNullOrEmpty(templateName)) { template = templateLoader.GetDefaultTemplate(methodLanguage); } else { template = templateLoader.GetTemplateFromCodeString(templateName, methodLanguage); if (template == null) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(messageManager.GetMessage("TheTemplateFromSelectedMethodNotFoundDefaultTemplateWillBeUsed", templateName), "Open method from AML package", MessageButtons.OK, MessageIcon.Information); template = templateLoader.GetDefaultTemplate(methodLanguage); } } this.SelectedTemplate = template; } }
private void SearchMethodDialogCommandClicked(object window) { string itemTypeName = "Method"; string itemTypeSingularLabel = "Method"; List <PropertyInfo> predefinedPropertyValues = new List <PropertyInfo> { new PropertyInfo() { PropertyName = "method_type", PropertyValue = projectLanguage, IsReadonly = true } }; List <PropertyInfo> predefinedSearchItems; if (!configurationManager.CurrentProjectConfiguraiton.LastSavedSearch.TryGetValue(itemTypeName, out predefinedSearchItems)) { predefinedSearchItems = new List <PropertyInfo>(); } foreach (var searchItem in predefinedSearchItems) { if (predefinedPropertyValues.Any(x => x.PropertyName == searchItem.PropertyName)) { continue; } predefinedPropertyValues.Add(new ItemSearchPropertyInfo() { PropertyName = searchItem.PropertyName, PropertyValue = searchItem.PropertyValue }); } var presenter = dialogFactory.GetItemSearchPresenter(itemTypeName, itemTypeSingularLabel); var searchArguments = new ItemSearchPresenterArgs() { Title = "Search dialog", PredefinedPropertyValues = predefinedPropertyValues }; var result = presenter.Run(searchArguments); if (result.DialogResult == DialogResult.OK) { dynamic item = authenticationManager.InnovatorInstance.newItem(result.ItemType, "get"); item.setID(result.ItemId); item = item.apply(); this.MethodName = item.getProperty("name", string.Empty); this.MethodId = item.getProperty("id", string.Empty); this.MethodConfigId = item.getProperty("config_id", string.Empty); this.MethodLanguage = item.getProperty("method_type", string.Empty); this.IdentityKeyedName = item.getPropertyAttribute("execution_allowed_to", "keyed_name", string.Empty); this.IdentityId = item.getProperty("execution_allowed_to", string.Empty); this.MethodComment = item.getProperty("comments", string.Empty); var methodCode = item.getProperty("method_code", string.Empty); this.MethodCode = Regex.Replace(methodCode, @"//MethodTemplateName=[\S]+\r\n", ""); if (methodLanguage == "C#" || methodLanguage == "VB") { this.MethodType = "server"; } else { this.MethodType = "client"; } var packageName = string.Empty; try { packageName = packageManager.GetPackageDefinitionByElementName(methodName).Name; } catch (Exception ex) { } this.Package = packageName; TemplateInfo template; string templateName = templateLoader.GetMethodTemplateName(methodCode); if (string.IsNullOrEmpty(templateName)) { template = templateLoader.GetDefaultTemplate(methodLanguage); } else { template = templateLoader.GetTemplateFromCodeString(templateName, methodLanguage); if (template == null) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(messageManager.GetMessage("TheTemplateFromSelectedMethodNotFoundDefaultTemplateWillBeUsed", templateName), "Open method from Aras Innovator", MessageButtons.OK, MessageIcon.Information); template = templateLoader.GetDefaultTemplate(methodLanguage); } } this.SelectedTemplate = template; if (configurationManager.CurrentProjectConfiguraiton.LastSavedSearch.ContainsKey(result.ItemType)) { configurationManager.CurrentProjectConfiguraiton.LastSavedSearch[result.ItemType] = result.LastSavedSearch.Cast <PropertyInfo>().ToList(); } else { configurationManager.CurrentProjectConfiguraiton.LastSavedSearch.Add(result.ItemType, result.LastSavedSearch.Cast <PropertyInfo>().ToList()); } } }