internal override void ParseXmlRequest()
 {
     base.ParseXmlRequest();
     if (base.Version >= 160)
     {
         if (base.XmlRequest["Mime"] != null)
         {
             if (base.XmlRequest["Importance"] != null || base.XmlRequest["Body", "AirSyncBase:"] != null || base.XmlRequest["Forwardees"] != null)
             {
                 base.ProtocolLogger.SetValue(ProtocolLoggerData.Error, "InvalidMimeTags");
                 throw new AirSyncPermanentException(HttpStatusCode.InternalServerError, StatusCode.InvalidMimeBodyCombination, null, false);
             }
         }
         else
         {
             if (base.XmlRequest["SaveInSentItems"] != null || base.XmlRequest["ReplaceMime"] != null || base.XmlRequest["TemplateID", "RightsManagement:"] != null)
             {
                 base.ProtocolLogger.SetValue(ProtocolLoggerData.Error, "InvalidBodyTags");
                 throw new AirSyncPermanentException(HttpStatusCode.InternalServerError, StatusCode.InvalidMimeBodyCombination, null, false);
             }
             try
             {
                 this.forwardEventParameters = EventParametersParser.ParseForward(base.Request.CommandXml);
             }
             catch (RequestParsingException ex)
             {
                 base.ProtocolLogger.SetValue(ProtocolLoggerData.Error, ex.LogMessage);
                 throw new AirSyncPermanentException(HttpStatusCode.InternalServerError, StatusCode.InvalidSmartForwardParameters, null, false);
             }
         }
     }
 }
Example #2
0
        public override OperationResult DeleteSyncItem(SyncCommandItem syncCommandItem, bool deletesAsMoves)
        {
            AirSyncDiagnostics.TraceInfo(ExTraceGlobals.RequestsTracer, this, "SyncCollection.DeleteSyncItem(SyncCommandItem)");
            EntitySyncProviderFactory entitySyncProviderFactory = (EntitySyncProviderFactory)base.SyncProviderFactory;
            StoreObjectId             folderId = entitySyncProviderFactory.FolderId;

            if (AirSyncUtility.GetAirSyncFolderTypeClass(folderId) == "Calendar")
            {
                CancelEventParameters parameters;
                if (syncCommandItem.XmlNode != null)
                {
                    try
                    {
                        parameters = EventParametersParser.ParseCancel(syncCommandItem.XmlNode);
                        goto IL_72;
                    }
                    catch (RequestParsingException ex)
                    {
                        throw new AirSyncPermanentException(StatusCode.Sync_ProtocolError, ex.LocalizedString, ex, false)
                              {
                                  ErrorStringForProtocolLogger = ex.LogMessage
                              };
                    }
                }
                parameters = new CancelEventParameters();
IL_72:
                this.DeleteItem(syncCommandItem.Id, parameters);
                return(OperationResult.Succeeded);
            }
            return(this.DeleteSyncItem(syncCommandItem.ServerId, deletesAsMoves));
        }
Example #3
0
            // Token: 0x06000CF4 RID: 3316 RVA: 0x00046138 File Offset: 0x00044338
            public void FillRespondToEventParameters(XmlNode requestNode)
            {
                this.RespondToEventParameters = new RespondToEventParameters();
                string userResponse;

                if ((userResponse = this.UserResponse) != null)
                {
                    if (!(userResponse == "1"))
                    {
                        if (!(userResponse == "2"))
                        {
                            if (!(userResponse == "3"))
                            {
                                goto IL_6C;
                            }
                            this.RespondToEventParameters.Response = ResponseType.Declined;
                        }
                        else
                        {
                            this.RespondToEventParameters.Response = ResponseType.TentativelyAccepted;
                        }
                    }
                    else
                    {
                        this.RespondToEventParameters.Response = ResponseType.Accepted;
                    }
                    XmlNode xmlNode = requestNode["SendResponse", "MeetingResponse:"];
                    if (xmlNode == null)
                    {
                        this.RespondToEventParameters.SendResponse = false;
                        return;
                    }
                    this.RespondToEventParameters.SendResponse = true;
                    XmlNode xmlNode2 = xmlNode["Importance", "MeetingResponse:"];
                    if (xmlNode2 != null)
                    {
                        this.RespondToEventParameters.Importance = EventParametersParser.ParseImportance(xmlNode2);
                    }
                    XmlNode xmlNode3 = xmlNode["Body", "AirSyncBase:"];
                    if (xmlNode3 != null)
                    {
                        this.RespondToEventParameters.Notes = EventParametersParser.ParseBody(xmlNode3);
                    }
                    XmlNode xmlNode4 = xmlNode["ProposedStartTime", "MeetingResponse:"];
                    if (xmlNode4 != null)
                    {
                        this.RespondToEventParameters.ProposedStartTime = new ExDateTime?(EventParametersParser.ParseDateTime(xmlNode4, "ProposedStartTime"));
                    }
                    XmlNode xmlNode5 = xmlNode["ProposedEndTime", "MeetingResponse:"];
                    if (xmlNode5 != null)
                    {
                        this.RespondToEventParameters.ProposedEndTime = new ExDateTime?(EventParametersParser.ParseDateTime(xmlNode5, "ProposedEndTime"));
                    }
                    return;
                }
IL_6C:
                throw new RequestParsingException("InvalidUserResponse:" + this.UserResponse);
            }