public override void DoRun() { var mfParser = new ManifestParser(_filePath, _env); foreach (AMLFile amlFile in mfParser.AMLFilesToExecute) { foreach (string aml in amlFile.AMLs) { Log.Log(aml); Item result = Inn.applyAML(aml); if (result.isError()) { Log.LogError($"{result.getErrorString()}"); if (amlFile.StopOnError) { Log.LogError("Stopping Executtion"); return; } } else { Log.LogSuccess("OK"); } } } }
private KeyValuePair <string, string> GetMajorVersionAndServicPack() { string servicePack = "N/A"; string majorVersion = "N/A"; string amlQuery = @"<AML> <Item action='get' type='Variable' select='name,value'> <or> <name>VersionMajor</name> <name>VersionServicePack</name> </or> </Item></AML>"; Item result = Inn.applyAML(amlQuery); if (!result.isError()) { for (int i = 0; i < result.getItemCount(); i++) { Item item = result.getItemByIndex(i); if (item.getProperty("name") == "VersionMajor") { majorVersion = item.getProperty("value", string.Empty); } if (item.getProperty("name") == "VersionServicePack") { servicePack = item.getProperty("value", string.Empty); } } } return(new KeyValuePair <string, string>(majorVersion, servicePack)); }
private List <string> GetAliasIdentityNames() { var identityNames = new List <string>(); var query = @"<AML>" + "<Item action='get' type='Identity' select='keyed_name'>" + "<and>" + "<is_alias condition='eq'>1</is_alias>" + "<classification condition='is null' />" + "</and>" + "</Item>" + "</AML>"; var itmsAML = Inn.applyAML(query); if (itmsAML != null) { var count = itmsAML.getItemCount(); for (var i = 0; i < count; i++) { var itm = itmsAML.getItemByIndex(i); var name = itm.getProperty("keyed_name"); identityNames.Add(name); } identityNames.Sort(); } return(identityNames); }
private List <string> GetListRoleNames() { var roleNames = new List <string>(); var query = @"<AML>" + "<Item action='get' type='List' select='name'>" + "<keyed_name condition='eq'>Project Role</keyed_name>" + "<Relationships>" + "<Item action='get' type='Value' select='value' orderBy='value'>" + "</Item>" + "</Relationships>" + "</Item>" + "</AML>"; var itmsAML = Inn.applyAML(query); if (itmsAML != null) { var count = itmsAML.getItemCount(); if (1 == count) { var rels = itmsAML.getRelationships(); for (var x = 0; x < rels.getItemCount(); x++) { var z = rels.getItemByIndex(x); var name = z.getProperty("value"); roleNames.Add(name); } roleNames.Sort(); } } return(roleNames); }
protected string RetrieveProperty(string propertyName) { string amlQuery = string.Format("<AML><Item action='get' type='{0}' id='{1}' select='{2}'></Item></AML>" , this.GetArasType(), this.GetId(), propertyName); Item item = Inn.applyAML(amlQuery); string value = item.getProperty(propertyName); return(value); }
public override void DoRun() { Log.Log($"Executing {Name}"); Item result = Inn.applyAML(GetMetaAml()); Log.Log($"Meta data count: {result.getItemCount()}"); LoadPackageMap(Inn); Log.Log($"Package Elements total count: {_packageMap.Count}"); int itemsCount = 0; int unpackagedItemsCount = 0; int itemsAddedToPackageCount = 0; for (int i = 0; i < result.getItemCount(); i++) { Item item = result.getItemByIndex(i); string keyedName = item.getPropertyAttribute("id", "keyed_name"); if (keyedName.StartsWith(Prefix, StringComparison.OrdinalIgnoreCase)) { itemsCount++; if (!CheckIfInPackage(item)) { Log.Log($"Not in any package: {item.getType()} named {keyedName}"); unpackagedItemsCount++; var pkgMgr = new Hille.Aras.DevTool.Common.Commands.Aras.PackageManagment.PackageManager(Inn) { DryRun = DryRun, AutoPack = AutoPack }; ((ILoggable)pkgMgr).Logger = Log; Item packageElement = pkgMgr.FindAndAddSuitablePackageForItem(item); if (!packageElement.isError()) { string packageDefName = pkgMgr.GetPackageDefinitionNameFromPackageElement(packageElement); Log.LogSuccess($"Added to package {packageDefName} as {packageElement.getProperty("element_type")} "); itemsAddedToPackageCount++; } else { Log.LogWarning("Could not find a suitable package"); } } } } Log.Log($"Items checked: {itemsCount}"); Log.Log($"Items not in any package: {unpackagedItemsCount}"); Log.Log($"Items added to package: {itemsAddedToPackageCount}"); }
public List <DatabaseUpgrade> GetDatabaseUpgrades() { var databaseUpgrades = new List <DatabaseUpgrade>(); string aml = @"<AML> <Item action='get' type='DatabaseUpgrade' select='applied_on,name,target_release,is_latest,description' orderBy='applied_on DESC'> </Item></AML>"; string latestUpdatedDate = String.Empty; Item dbUpgradeItems = Inn.applyAML(aml); int i = 0; bool allUpdatesFromLatestDay = false; while (!allUpdatesFromLatestDay && (i < dbUpgradeItems.getItemCount())) { Item dbUpgrade = dbUpgradeItems.getItemByIndex(i); string appliedDate = dbUpgrade.getProperty("applied_on", String.Empty); if (appliedDate != String.Empty) { appliedDate = appliedDate.Substring(0, 10); } if (latestUpdatedDate == String.Empty && appliedDate != String.Empty) { latestUpdatedDate = appliedDate.Substring(0, 10); } if (appliedDate == latestUpdatedDate) { var databaseUpgrade = new DatabaseUpgrade { AppliedOn = dbUpgrade.getProperty("applied_on"), Name = dbUpgrade.getProperty("name"), TargetRelease = dbUpgrade.getProperty("target_release"), Description = dbUpgrade.getProperty("description"), IsLatest = (dbUpgrade.getProperty("is_latest") == "1") ? true : false }; databaseUpgrades.Add(databaseUpgrade); } i++; } return(databaseUpgrades); }
private string GetPackageName() { string amlQuery = $@"<AML> <Item action='get' type='PackageGroup' select='source_id'> <Relationships> <Item action='get' type='PackageElement' select='element_type,name'> <element_type>{this.GetArasType()}</element_type> <name>{this.GetKeyedName()}</name> </Item> </Relationships> </Item> </AML>"; Item result = Inn.applyAML(amlQuery); if (result.isError()) { return("N/A"); } return(result.getPropertyAttribute("source_id", "keyed_name")); }