/// <summary>
        /// Gets the configuration of the varying input field.
        /// </summary>
        /// <param name="fieldName">The name of the varying input field.</param>
        public RCNetBaseSettings GetFieldCfg(string fieldName)
        {
            int index = ExternalFieldsCfg.GetFieldID(fieldName, false);

            if (index != -1)
            {
                return(ExternalFieldsCfg.FieldCfgCollection[index]);
            }
            if (GeneratedFieldsCfg != null)
            {
                index = GeneratedFieldsCfg.GetFieldID(fieldName, false);
                if (index != -1)
                {
                    return(GeneratedFieldsCfg.FieldCfgCollection[index]);
                }
            }
            throw new InvalidOperationException($"Field name {fieldName} not found.");
        }
Exemple #2
0
        /// <summary>
        /// Generates xml element containing the settings.
        /// </summary>
        /// <param name="rootElemName">Name to be used as a name of the root element.</param>
        /// <param name="suppressDefaults">Specifies whether to ommit optional nodes having set default values</param>
        /// <returns>XElement containing the settings</returns>
        public override XElement GetXml(string rootElemName, bool suppressDefaults)
        {
            XElement rootElem = new XElement(rootElemName,
                                             ExternalFieldsCfg.GetXml(suppressDefaults)
                                             );

            if (TransformedFieldsCfg != null)
            {
                rootElem.Add(TransformedFieldsCfg.GetXml(suppressDefaults));
            }
            if (GeneratedFieldsCfg != null)
            {
                rootElem.Add(GeneratedFieldsCfg.GetXml(suppressDefaults));
            }
            if (!suppressDefaults || !IsDefaultRouteToReadout)
            {
                rootElem.Add(new XAttribute("routeToReadout", RouteToReadout.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()));
            }
            Validate(rootElem, XsdTypeName);
            return(rootElem);
        }