Esempio n. 1
0
        public void Cancel(string key, CancelEventParameters parameters, CommandContext context = null)
        {
            CancelEventBase cancelEventBase = base.CommandFactory.CreateCancelCommand(key, this);

            cancelEventBase.Parameters = parameters;
            cancelEventBase.Execute(context);
        }
Esempio n. 2
0
        // Token: 0x06001223 RID: 4643 RVA: 0x0006281C File Offset: 0x00060A1C
        public static CancelEventParameters ParseCancel(XmlNode xmlNode)
        {
            CancelEventParameters cancelEventParameters = new CancelEventParameters();

            foreach (object obj in xmlNode.ChildNodes)
            {
                XmlNode xmlNode2 = (XmlNode)obj;
                string  localName;
                if ((localName = xmlNode2.LocalName) != null)
                {
                    if (localName == "Importance")
                    {
                        cancelEventParameters.Importance = EventParametersParser.ParseImportance(xmlNode2);
                        continue;
                    }
                    if (localName == "Body")
                    {
                        cancelEventParameters.Notes = EventParametersParser.ParseBody(xmlNode2);
                        continue;
                    }
                }
                throw new RequestParsingException("BadCancelEventNode:" + xmlNode2.LocalName);
            }
            return(cancelEventParameters);
        }
Esempio n. 3
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));
        }
Esempio n. 4
0
        protected void DeleteItem(ISyncItemId syncItemId, CancelEventParameters parameters)
        {
            AirSyncDiagnostics.TraceInfo(ExTraceGlobals.RequestsTracer, this, "SyncCollection.DeleteItem");
            string key = EntitySyncItem.GetKey(base.StoreSession.MailboxGuid, (StoreId)syncItemId.NativeId);

            this.Events.Cancel(key, parameters, null);
            base.ItemIdMapping.Delete(new ISyncItemId[]
            {
                syncItemId
            });
        }
 public void CancelEvent(StoreId id, CancelEventParameters parameters, int?seriesSequenceNumber = null, bool deleteAfterCancelling = true, Event updateToEvent = null, byte[] masterGoid = null)
 {
     using (ICalendarItemBase calendarItemBase = this.Bind(id))
     {
         if (calendarItemBase.IsMeeting && !calendarItemBase.IsOrganizer())
         {
             throw new InvalidRequestException(CalendaringStrings.ErrorNotAuthorizedToCancel);
         }
         calendarItemBase.OpenAsReadWrite();
         if (updateToEvent != null)
         {
             EventTranslator.Instance.SetPropertiesFromEntityOnStorageObject(updateToEvent, calendarItemBase);
         }
         if (calendarItemBase.IsMeeting && calendarItemBase.AttendeeCollection != null && calendarItemBase.AttendeeCollection.Count > 0)
         {
             using (MeetingCancellation meetingCancellation = ((CalendarItemBase)calendarItemBase).CancelMeeting(seriesSequenceNumber, masterGoid))
             {
                 if (parameters != null)
                 {
                     EventWorkflowParametersTranslator <CancelEventParameters, CancelEventParametersSchema> .Instance.SetPropertiesFromEntityOnStorageObject(parameters, meetingCancellation);
                 }
                 MeetingMessage.SendLocalOrRemote(meetingCancellation, true, true);
                 goto IL_95;
             }
         }
         if (updateToEvent != null)
         {
             calendarItemBase.SaveWithConflictCheck(SaveMode.ResolveConflicts);
         }
         IL_95 :;
     }
     if (deleteAfterCancelling)
     {
         this.Delete(id, DeleteItemFlags.MoveToDeletedItems | DeleteItemFlags.CancelCalendarItem);
     }
 }