private void Write5_Item(string n, string ns, MachineToPersonMessagingPolicies o, bool isNullable, bool needType)
        {
            if (o == null)
            {
                if (isNullable)
                {
                    base.WriteNullTagLiteral(n, ns);
                }
                return;
            }
            if (!needType)
            {
                Type type = o.GetType();
                if (!(type == typeof(MachineToPersonMessagingPolicies)))
                {
                    throw base.CreateUnknownTypeException(o);
                }
            }
            base.WriteStartElement(n, ns, o, false, null);
            if (needType)
            {
                base.WriteXsiType("MachineToPersonMessagingPolicies", "");
            }
            List <PossibleRecipient> possibleRecipients = o.PossibleRecipients;

            if (possibleRecipients != null)
            {
                for (int i = 0; i < ((ICollection)possibleRecipients).Count; i++)
                {
                    this.Write4_PossibleRecipient("PossibleRecipient", "", possibleRecipients[i], false, false);
                }
            }
            base.WriteEndElement(o);
        }
예제 #2
0
        private MachineToPersonMessagingPolicies Read5_Item(bool isNullable, bool checkType)
        {
            XmlQualifiedName xmlQualifiedName = checkType ? base.GetXsiType() : null;
            bool             flag             = false;

            if (isNullable)
            {
                flag = base.ReadNull();
            }
            if (checkType && !(xmlQualifiedName == null) && (xmlQualifiedName.Name != this.id5_Item || xmlQualifiedName.Namespace != this.id2_Item))
            {
                throw base.CreateUnknownTypeException(xmlQualifiedName);
            }
            if (flag)
            {
                return(null);
            }
            MachineToPersonMessagingPolicies machineToPersonMessagingPolicies = new MachineToPersonMessagingPolicies();

            if (machineToPersonMessagingPolicies.PossibleRecipients == null)
            {
                machineToPersonMessagingPolicies.PossibleRecipients = new List <PossibleRecipient>();
            }
            List <PossibleRecipient> possibleRecipients = machineToPersonMessagingPolicies.PossibleRecipients;

            while (base.Reader.MoveToNextAttribute())
            {
                if (!base.IsXmlnsAttribute(base.Reader.Name))
                {
                    base.UnknownNode(machineToPersonMessagingPolicies);
                }
            }
            base.Reader.MoveToElement();
            if (base.Reader.IsEmptyElement)
            {
                base.Reader.Skip();
                return(machineToPersonMessagingPolicies);
            }
            base.Reader.ReadStartElement();
            base.Reader.MoveToContent();
            int num         = 0;
            int readerCount = base.ReaderCount;

            while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    if (base.Reader.LocalName == this.id16_PossibleRecipient && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (possibleRecipients == null)
                        {
                            base.Reader.Skip();
                        }
                        else
                        {
                            possibleRecipients.Add(this.Read4_PossibleRecipient(false, true));
                        }
                    }
                    else
                    {
                        base.UnknownNode(machineToPersonMessagingPolicies, ":PossibleRecipient");
                    }
                }
                else
                {
                    base.UnknownNode(machineToPersonMessagingPolicies, ":PossibleRecipient");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref num, ref readerCount);
            }
            base.ReadEndElement();
            return(machineToPersonMessagingPolicies);
        }