Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }