private static TTreeId ReplaceTreeId(TTreeId treeId, Dictionary <string, string> oldId2Key, Dictionary <string, string> key2NewId) { var key = oldId2Key[treeId.Id]; string newId; if (!key2NewId.TryGetValue(key, out newId)) { newId = "NOT_FOUND_" + key + "_" + treeId.Id; } return(new TTreeId(newId, treeId.TemplateId, treeId.ConfigName, treeId.Kind)); }
static IEnumerable <TDataId> ReadOuts(CNaosFx r) { for (int i = r.DataInCount; i < r.DataAllCount; i++) { TTreeId tId = r.Data[i].TreeId; if (!tId.IsTemporary()) { yield return((TDataId)tId); } } }
private static void ReplaceInFiles(string srcDir, string mappingDir, string entity) { var oldId2Key = ReadMapping(Path.Combine(mappingDir, entity, "Old.Txt"), true); var key2NewId = ReadMapping(Path.Combine(mappingDir, entity, "New.Txt"), false);; foreach (var file in Directory.GetFiles(srcDir, "*.xml", SearchOption.TopDirectoryOnly)) { var element = XElement.Load(file); foreach (var shapeElement in element.ReadElement("Shapes").ReadElement("Shape").ReadElement("Shapes").ReadElements("Shape")) { if (shapeElement.Attribute("Name").Value != shapeElement.Attribute("TreeId").Value) { throw new Exception(); } var treeId = new TTreeId(shapeElement.Attribute("Name").Value); if (treeId.EntityName() == entity) { treeId = ReplaceTreeId(treeId, oldId2Key, key2NewId); shapeElement.Attribute("Name").Value = shapeElement.Attribute("TreeId").Value = treeId.ToString(); } } element.Save(file); } }
static string EntityName(this TTreeId dataId) { return(dataId.TemplateId.Split('.')[0]); }