private List <AxEnumValue> GetAxEnumValues() { List <AxEnumValue> resList = new List <AxEnumValue>(); List <string> listImp = new List <string>( EnumValuesStr.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)); bool isFirstElement = true; int currentIndex = EnumValueStartIndex; foreach (string lineImp in listImp) { string enumLabelLocal = "", enumNameLocal = ""; if (lineImp.Contains(ValuesSeparator)) { List <string> listLineImp = new List <string>( lineImp.Split(new[] { ValuesSeparator }, StringSplitOptions.None)); enumLabelLocal = listLineImp[0].Trim(); enumNameLocal = listLineImp[1].Trim(); if (enumLabelLocal == "" && enumNameLocal == "" && isFirstElement) { enumNameLocal = "None"; } } else { enumLabelLocal = lineImp.Trim(); enumNameLocal = AxHelper.GetTypeNameFromLabel(enumLabelLocal); //enumNameLocal = textInfo.ToTitleCase(enumLabelLocal).Replace(" ", ""); } isFirstElement = false; if (enumNameLocal != "") { AxEnumValue enumValue = new AxEnumValue { Label = enumLabelLocal, Name = enumNameLocal }; enumValue.Value = currentIndex; currentIndex++; resList.Add(enumValue); } else { break; } } return(resList); }
protected string ConvertRelationFilterToString(AxEdtTableReferenceFilter referenceFilter) { string res = ""; AxTable axTableRef = _axHelper.MetadataProvider.Tables.Read(referenceFilter.Table); AxTableFieldEnum field = axTableRef?.Fields[referenceFilter.RelatedField] as AxTableFieldEnum; if (field != null && !String.IsNullOrEmpty(field.EnumType)) { AxEnum axEnum = _axHelper.MetadataProvider.Enums.Read(field.EnumType); AxEnumValue axEnumValue = axEnum?.EnumValues[referenceFilter.Value]; if (axEnumValue != null && axEnumValue.Value == referenceFilter.Value) { res = $"{axEnum.Name}::{axEnumValue.Name}"; } } return(res); }