예제 #1
0
 private void Write7_WorkHoursVersion1(string n, string ns, WorkHoursVersion1 o, bool isNullable, bool needType)
 {
     if (o == null)
     {
         if (isNullable)
         {
             base.WriteNullTagLiteral(n, ns);
         }
         return;
     }
     if (!needType)
     {
         Type type = o.GetType();
         if (!(type == typeof(WorkHoursVersion1)))
         {
             throw base.CreateUnknownTypeException(o);
         }
     }
     base.WriteStartElement(n, ns, o, false, null);
     if (needType)
     {
         base.WriteXsiType("WorkHoursVersion1", "WorkingHours.xsd");
     }
     this.Write4_WorkHoursTimeZone("TimeZone", "WorkingHours.xsd", o.TimeZone, false, false);
     this.Write5_TimeSlot("TimeSlot", "WorkingHours.xsd", o.TimeSlot, false, false);
     base.WriteElementString("WorkDays", "WorkingHours.xsd", this.Write6_DaysOfWeek(o.WorkDays));
     base.WriteEndElement(o);
 }
        private WorkHoursVersion1 Read7_WorkHoursVersion1(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.id4_WorkHoursVersion1 || xmlQualifiedName.Namespace != this.id2_WorkingHoursxsd))
            {
                throw base.CreateUnknownTypeException(xmlQualifiedName);
            }
            if (flag)
            {
                return(null);
            }
            WorkHoursVersion1 workHoursVersion = new WorkHoursVersion1();

            bool[] array = new bool[3];
            while (base.Reader.MoveToNextAttribute())
            {
                if (!base.IsXmlnsAttribute(base.Reader.Name))
                {
                    base.UnknownNode(workHoursVersion);
                }
            }
            base.Reader.MoveToElement();
            if (base.Reader.IsEmptyElement)
            {
                base.Reader.Skip();
                return(workHoursVersion);
            }
            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 (!array[0] && base.Reader.LocalName == this.id5_TimeZone && base.Reader.NamespaceURI == this.id2_WorkingHoursxsd)
                    {
                        workHoursVersion.TimeZone = this.Read4_WorkHoursTimeZone(false, true);
                        array[0] = true;
                    }
                    else if (!array[1] && base.Reader.LocalName == this.id6_TimeSlot && base.Reader.NamespaceURI == this.id2_WorkingHoursxsd)
                    {
                        workHoursVersion.TimeSlot = this.Read5_TimeSlot(false, true);
                        array[1] = true;
                    }
                    else if (!array[2] && base.Reader.LocalName == this.id7_WorkDays && base.Reader.NamespaceURI == this.id2_WorkingHoursxsd)
                    {
                        workHoursVersion.WorkDays = this.Read6_DaysOfWeek(base.Reader.ReadElementString());
                        array[2] = true;
                    }
                    else
                    {
                        base.UnknownNode(workHoursVersion, "WorkingHours.xsd:TimeZone, WorkingHours.xsd:TimeSlot, WorkingHours.xsd:WorkDays");
                    }
                }
                else
                {
                    base.UnknownNode(workHoursVersion, "WorkingHours.xsd:TimeZone, WorkingHours.xsd:TimeSlot, WorkingHours.xsd:WorkDays");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref num, ref readerCount);
            }
            base.ReadEndElement();
            return(workHoursVersion);
        }