Пример #1
0
        // Token: 0x06000FDA RID: 4058 RVA: 0x0005A298 File Offset: 0x00058498
        public IEnumerator <ExceptionInstance> GetEnumerator()
        {
            foreach (object obj in base.XmlNode.ChildNodes)
            {
                XmlNode             exceptionNode = (XmlNode)obj;
                XmlNamespaceManager mgr           = new XmlNamespaceManager(base.XmlNode.OwnerDocument.NameTable);
                mgr.AddNamespace("X", exceptionNode.NamespaceURI);
                XmlNode    startTimeNode = exceptionNode.SelectSingleNode("X:ExceptionStartTime", mgr);
                ExDateTime startTime;
                if (!ExDateTime.TryParseExact(startTimeNode.InnerText, "yyyyMMdd\\THHmmss\\Z", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out startTime))
                {
                    throw new AirSyncPermanentException(HttpStatusCode.BadRequest, StatusCode.InvalidDateTime, null, false)
                          {
                              ErrorStringForProtocolLogger = "InvalidDateTimeInAirSyncException"
                          };
                }
                XmlNode deletedNode = exceptionNode.SelectSingleNode("X:Deleted", mgr);
                if (deletedNode != null && deletedNode.InnerText == "1")
                {
                    ExceptionInstance returnVal = new ExceptionInstance(startTime, 1);
                    yield return(returnVal);
                }
                else
                {
                    exceptionNode.RemoveChild(startTimeNode);
                    if (deletedNode != null)
                    {
                        exceptionNode.RemoveChild(deletedNode);
                    }
                    AirSyncDataObject exceptionContainer = this.schemaState.GetInnerAirSyncDataObject(this.missingPropertyStrategy);
                    try
                    {
                        exceptionContainer.Bind(exceptionNode);
                        yield return(new ExceptionInstance(startTime, 0)
                        {
                            ModifiedException = exceptionContainer
                        });

                        exceptionNode.AppendChild(startTimeNode);
                        if (deletedNode != null)
                        {
                            exceptionNode.AppendChild(deletedNode);
                        }
                    }
                    finally
                    {
                        exceptionContainer.Unbind();
                    }
                }
            }
            yield break;
        }
Пример #2
0
 // Token: 0x06001022 RID: 4130 RVA: 0x0005B5E8 File Offset: 0x000597E8
 public void Validate(AirSyncDataObject airSyncDataObject)
 {
     if (this.supportedTags != null && airSyncDataObject == null)
     {
         throw new ArgumentNullException("airSyncDataObject");
     }
     if (this.supportedTags != null)
     {
         foreach (IProperty property in airSyncDataObject.Children)
         {
             AirSyncProperty airSyncProperty = (AirSyncProperty)property;
             if (airSyncProperty.RequiresClientSupport && !this.supportedTags.ContainsKey(airSyncProperty.AirSyncTagNames[0]))
             {
                 throw new ConversionException("Client must support property: " + airSyncProperty.AirSyncTagNames[0]);
             }
         }
     }
 }
 // Token: 0x06001024 RID: 4132 RVA: 0x0005B6C8 File Offset: 0x000598C8
 public void PostProcessPropertyBag(AirSyncDataObject airSyncDataObject)
 {
     if (airSyncDataObject == null)
     {
         throw new ArgumentNullException("airSyncDataObject");
     }
     foreach (IProperty property in airSyncDataObject.Children)
     {
         AirSyncProperty airSyncProperty = (AirSyncProperty)property;
         if (airSyncProperty.State == PropertyState.Uninitialized)
         {
             airSyncProperty.State = PropertyState.Unmodified;
         }
         else if (airSyncProperty.IsBoundToEmptyTag())
         {
             airSyncProperty.State = PropertyState.SetToDefault;
         }
     }
 }
Пример #4
0
 public void PostProcessPropertyBag(AirSyncDataObject airSyncDataObject)
 {
     if (airSyncDataObject == null)
     {
         throw new ArgumentNullException("airSyncDataObject");
     }
     foreach (IProperty property in airSyncDataObject.Children)
     {
         AirSyncProperty airSyncProperty = (AirSyncProperty)property;
         if (airSyncProperty.State == PropertyState.Uninitialized)
         {
             airSyncProperty.State = PropertyState.Unmodified;
         }
         else if (airSyncProperty.IsBoundToEmptyTag())
         {
             airSyncProperty.State = PropertyState.SetToDefault;
         }
         AirSyncDiagnostics.TraceInfo <AirSyncProperty, PropertyState>(ExTraceGlobals.AirSyncTracer, this, "Property={0} State={1}", airSyncProperty, airSyncProperty.State);
     }
 }
Пример #5
0
        // Token: 0x06000FDC RID: 4060 RVA: 0x0005A2CC File Offset: 0x000584CC
        protected override void InternalCopyFrom(IProperty srcProperty)
        {
            IExceptionsProperty exceptionsProperty = srcProperty as IExceptionsProperty;

            if (exceptionsProperty == null)
            {
                throw new UnexpectedTypeException("IExceptionsProperty", srcProperty);
            }
            base.XmlNode = base.XmlParentNode.OwnerDocument.CreateElement(base.AirSyncTagNames[0], base.Namespace);
            foreach (ExceptionInstance exceptionInstance in exceptionsProperty)
            {
                XmlNode           xmlNode = base.XmlParentNode.OwnerDocument.CreateElement("Exception", base.Namespace);
                AirSyncDataObject innerAirSyncDataObject = this.schemaState.GetInnerAirSyncDataObject(this.missingPropertyStrategy);
                try
                {
                    innerAirSyncDataObject.Bind(xmlNode);
                    if (exceptionInstance.Deleted == 1)
                    {
                        XmlNode xmlNode2 = base.XmlParentNode.OwnerDocument.CreateElement("Deleted", base.Namespace);
                        xmlNode2.InnerText = "1";
                        xmlNode.AppendChild(xmlNode2);
                        XmlNode xmlNode3 = base.XmlParentNode.OwnerDocument.CreateElement("ExceptionStartTime", base.Namespace);
                        xmlNode3.InnerText = exceptionInstance.ExceptionStartTime.ToString("yyyyMMdd\\THHmmss\\Z", DateTimeFormatInfo.InvariantInfo);
                        xmlNode.AppendChild(xmlNode3);
                    }
                    else
                    {
                        innerAirSyncDataObject.CopyFrom(exceptionInstance.ModifiedException);
                    }
                }
                finally
                {
                    innerAirSyncDataObject.Unbind();
                }
                base.XmlNode.AppendChild(xmlNode);
            }
            if (base.XmlNode.HasChildNodes)
            {
                base.XmlParentNode.AppendChild(base.XmlNode);
            }
        }
Пример #6
0
 // Token: 0x06001021 RID: 4129 RVA: 0x0005B54C File Offset: 0x0005974C
 public void PostProcessPropertyBag(AirSyncDataObject airSyncDataObject)
 {
     if (airSyncDataObject == null)
     {
         throw new ArgumentNullException("airSyncDataObject");
     }
     foreach (IProperty property in airSyncDataObject.Children)
     {
         AirSyncProperty airSyncProperty = (AirSyncProperty)property;
         if (airSyncProperty.State == PropertyState.Uninitialized)
         {
             if (this.supportedTags != null && !this.supportedTags.ContainsKey(airSyncProperty.AirSyncTagNames[0]))
             {
                 airSyncProperty.State = PropertyState.Unmodified;
             }
             else
             {
                 airSyncProperty.State = (airSyncProperty.ClientChangeTracked ? PropertyState.Unmodified : PropertyState.SetToDefault);
             }
         }
     }
 }
Пример #7
0
 public void Validate(AirSyncDataObject airSyncDataObject)
 {
 }