public void CollectEnumValue(EA.Attribute l_Attr, EAPEnumeration en) { EAPEnumValue enValue = new EAPEnumValue(); enValue.Name = l_Attr.Name; enValue.Description = l_Attr.Notes; enValue.Value = ReturnValue(enValue, l_Attr, en); if (enValue.Description.Split(':').Length > 1) { enValue.Title = enValue.Description.Split(':')[0]; enValue.Description = enValue.Description.Remove(0, enValue.Title.Length + 1).Trim(); } else { enValue.Title = ""; enValue.Description = enValue.Description.Trim(); } enValue.Title = enValue.Title.Replace("<b>", "").Replace("</b>", "").Replace("<i>", "").Replace("</i>", "").Trim(); enValue.Description = enValue.Description.Replace("<b>", "").Replace("</b>", "").Replace("<i>", "").Replace("</i>", "").Trim(); //enValue.Value = (long)Convert.ChangeType(Enum.Parse(proba, enValue.Name), typeof(long)); if (!(en.AddEnumValue(enValue))) { if (Validate) { tw.WriteLine("Enum value name:" + l_Attr.Name + ", already exists in Enum name: " + en.Name + ". (Look at EAP)"); tw.WriteLine("*************************************************************************"); tw.WriteLine("\n\n"); } } }
public void CollectEnums(EA.Element elem, bool parse, EAPModel model) { if (!model.Enums.ContainsKey(elem.Name)) { EAPEnumeration en = new EAPEnumeration(); en.Name = elem.Name; en.Code = elem.Alias; en.Description = elem.Notes; en.Bitfield = elem.Stereotype.Contains("bitfield"); en.Parse = parse; if (en.Description.Split(':').Length > 1) { en.Title = en.Description.Split(':')[0]; en.Description = en.Description.Remove(0, en.Title.Length + 1).Trim(); } else { en.Title = ""; en.Description = en.Description.Trim(); } en.Title = en.Title.Replace("<b>", "").Replace("</b>", "").Replace("<i>", "").Replace("</i>", "").Trim(); en.Description = en.Description.Replace("<b>", "").Replace("</b>", "").Replace("<i>", "").Replace("</i>", "").Trim(); foreach (EA.Attribute l_Attr in elem.Attributes) { CollectEnumValue(l_Attr, en); } model.Enums.Add(en.Name, en); if (Validate && !en.Parse && en.EnumValue.Count != 0) { tw.WriteLine("Model Code for enum: {0},", en.Code); tw.WriteLine("Name for enum: {0},\n", en.Name); tw.WriteLine("Enum name:" + en.Name + ", was not being processed but it has enum value."); tw.WriteLine("*************************************************************************"); tw.WriteLine("\n\n"); } } else { if (Validate) { tw.WriteLine("Enum name:" + elem.Name + ", already exists in EAP."); tw.WriteLine("*************************************************************************"); tw.WriteLine("\n\n"); } } }
public string ReturnValue(MetaEntity obj, EA.Attribute l_Attr, EAPEnumeration en = null) { if (l_Attr.Default != null && (l_Attr.Default != "")) { if (!l_Attr.Default.StartsWith("0x", true, CultureInfo.InvariantCulture)) { return(l_Attr.Default); } else { string helpString = l_Attr.Default.Remove(0, 2).Trim(); try { long val = Convert.ToInt64(helpString, 16); return(val.ToString()); } catch { if (Validate) { if (en != null) { tw.WriteLine("Model Code for enum: {0},", en.Code); tw.WriteLine("Name for enum: {0},", en.Name); } else { tw.WriteLine("Model Code: {0},", obj.Code); } tw.WriteLine("Name: {0},", obj.Name); tw.WriteLine("Value Default {0},\n", l_Attr.Default); tw.WriteLine(l_Attr.Default + " value can not be converted in number."); tw.WriteLine("*************************************************************************"); tw.WriteLine("\n\n"); } } } } return(null); }