HasEnums() public method

public HasEnums ( ) : System.Boolean
return System.Boolean
Example #1
0
        /// <summary>
        /// If field is an enum, make sure the value is valid.
        /// </summary>
        /// <param name="field"></param>
        public void CheckValue(Fields.IField field)
        {
            DDField fld = FieldsByTag[field.Tag];

            if (fld.HasEnums() && !fld.EnumDict.ContainsKey(field.ToString()))
            {
                throw new IncorrectTagValue(field.Tag);
            }
        }
        private void ProcessFieldMapToJSON(string sNode, StringBuilder sb, FieldMap fieldMap, string origChkSum = null)
        {
            Type fieldType;

            sb.Append($@"""{sNode}"":");

            foreach (var field in fieldMap)
            {
                if (dataDictionary.TryGetFieldType(field.Key, out fieldType))
                {
                    FIXDictionary.DDField ddField = dataDictionary.FieldsByTag[field.Key];
                    child = new XElement(ddField.Name);
                    child.Add(new XAttribute("Tag", field.Key));
                    child.Add(new XAttribute("Value", field.Value));
                    if (ddField.HasEnums())
                    {
                        child.Add(new XAttribute("HasEnums", true));
                        string enumTranslation = ddField.EnumDict.FirstOrDefault(t => t.Key == field.Value.ToString()).Value;
                        if (!string.IsNullOrEmpty(enumTranslation))
                        {
                            child.Add(new XAttribute("EnumTranslation", enumTranslation));
                        }
                    }

                    if (field.Key == Tags.CheckSum && origChkSum != null)
                    {
                        child.Add(new XAttribute("OrigChks", origChkSum));
                    }

                    int groupCount = fieldMap.GroupCount(field.Key);

                    if (groupCount > 0)
                    {
                        child.Add(new XAttribute("IsGroup", "Y"));
                        child.Add(new XAttribute("GroupsCount", groupCount));

                        for (int i = 1; i <= groupCount; i++)
                        {
                            Group currGroup = fieldMap.GetGroup(i, field.Key);
                            ProcessFieldMapToXML(child, currGroup);
                        }
                    }
                }
                else
                {
                    child = new XElement("UserDefined_" + field.Key.ToString());
                    child.Add(new XAttribute("Tag", field.Key));
                    child.Add(new XAttribute("Value", field.Value));
                }
                parent.Add(child);
            }
            sb.Append("}");
        }
Example #3
0
        /// <summary>
        /// If field is an enum, make sure the value is valid.
        /// </summary>
        /// <param name="field"></param>
        public void CheckValue(Fields.IField field)
        {
            DDField fld = FieldsByTag[field.Tag];

            if (fld.HasEnums())
            {
                if (fld.IsMultipleValueFieldWithEnums)
                {
                    string[] splitted = field.ToString().Split(' ');

                    foreach (string value in splitted)
                    {
                        if (!fld.EnumDict.ContainsKey(value))
                        {
                            throw new IncorrectTagValue(field.Tag);
                        }
                    }
                }
                else if (!fld.EnumDict.ContainsKey(field.ToString()))
                {
                    throw new IncorrectTagValue(field.Tag);
                }
            }
        }