/// <summary> /// Provides the enum value which corresponds to the name provided /// </summary> /// <param name="name"></param> /// <returns></returns> public EnumValue FindEnumValue(string name) { EnumValue retVal = (EnumValue)NamableUtils.FindByName(name, Values); if (retVal == null && EnclosingEnum != null) { retVal = EnclosingEnum.FindEnumValue(name); } return(retVal); }
/// <summary> /// Handles setting all the update information for this element (this updates source) /// </summary> /// <param name="source"></param> public override void SetUpdateInformation(ModelElement source) { base.SetUpdateInformation(source); Enum sourceEnum = source as Enum; if (sourceEnum != null) { Requirements.Clear(); setUpdates(source.Guid); foreach (EnumValue value in Values) { EnumValue matchingValue = sourceEnum.FindEnumValue(value.Name); value.setUpdates(matchingValue.Guid); } foreach (Enum subEnum in SubEnums) { Enum matchingEnum = sourceEnum.FindSubEnum(subEnum.Name); subEnum.SetUpdateInformation(matchingEnum); } } }