示例#1
0
        /// <summary>
        /// Recupera a regra de entrada associada com o grupo e o contexto UI informados.
        /// </summary>
        /// <param name="inputRulesGroupId">Identificador do grupo de regras de entrada.</param>
        /// <param name="uiContext">Nome do context de interface com o usuário.</param>
        /// <returns></returns>
        public InputRules GetRules(int inputRulesGroupId, string uiContext)
        {
            var inputRulesGroup = InputRulesGroups.FirstOrDefault(f => f.InputRulesGroupId == inputRulesGroupId);

            if (inputRulesGroup == null)
            {
                return(null);
            }
            foreach (var inputRulesGroupEntry in inputRulesGroup.InputRules)
            {
                if (string.IsNullOrEmpty(inputRulesGroupEntry.UIContext) || (!string.IsNullOrEmpty(uiContext) && inputRulesGroupEntry.UIContext == uiContext))
                {
                    foreach (var inputRule in _inputRules)
                    {
                        if (inputRule.Uid == inputRulesGroupEntry.InputRulesUid)
                        {
                            return(inputRule);
                        }
                    }
                    return(null);
                }
            }
            return(null);
        }
示例#2
0
 /// <summary>
 /// Lê os dados serializados.
 /// </summary>
 /// <param name="reader"></param>
 void System.Xml.Serialization.IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
 {
     reader.MoveToElement();
     if (!reader.IsEmptyElement)
     {
         reader.ReadStartElement();
         while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
         {
             if (reader.IsEmptyElement)
             {
                 reader.Skip();
                 continue;
             }
             if (reader.LocalName == "EntityTypes")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "EntityType")
                     {
                         var type = new EntityType();
                         ((System.Xml.Serialization.IXmlSerializable)type).ReadXml(reader);
                         EntityTypes.Add(type);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "PropertySettings")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "PropertySetting")
                     {
                         var settings = new PropertySettings();
                         ((System.Xml.Serialization.IXmlSerializable)settings).ReadXml(reader);
                         PropertySettings.Add(settings);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "ValidationTypes")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "ValidationType")
                     {
                         var validationType = new ValidationType();
                         ((System.Xml.Serialization.IXmlSerializable)validationType).ReadXml(reader);
                         ValidationTypes.Add(validationType);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "Validations")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "Validation")
                     {
                         var validation = new Validation();
                         ((System.Xml.Serialization.IXmlSerializable)validation).ReadXml(reader);
                         Validations.Add(validation);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "InputRules")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "InputRules")
                     {
                         var inputRules = new InputRules();
                         ((System.Xml.Serialization.IXmlSerializable)inputRules).ReadXml(reader);
                         InputRules.Add(inputRules);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "InputRulesGroups")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "InputRulesGroup")
                     {
                         var inputRulesGroup = new InputRulesGroup();
                         ((System.Xml.Serialization.IXmlSerializable)inputRulesGroup).ReadXml(reader);
                         InputRulesGroups.Add(inputRulesGroup);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else if (reader.LocalName == "InputValidates")
             {
                 reader.ReadStartElement();
                 while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
                 {
                     if (reader.LocalName == "InputValidate")
                     {
                         var validate = new InputValidate();
                         ((System.Xml.Serialization.IXmlSerializable)validate).ReadXml(reader);
                         InputValidates.Add(validate);
                     }
                     else
                     {
                         reader.Skip();
                     }
                 }
                 reader.ReadEndElement();
             }
             else
             {
                 reader.Skip();
             }
         }
         reader.ReadEndElement();
     }
 }