コード例 #1
0
        protected virtual void Execute(MoveEventTimeContext context)
        {
            Item item = StaticSettings.EventTargetDatabase.GetItem(ID.Parse(context.EventID));
             if (item == null)
             {
            Log.Error("Calendar Module: WebService - cannot find event", null);
            return;
             }

             if (SecurityManager.CanWrite(item) != true)
             {
            return;
             }

             if (item.TemplateID != StaticSettings.EventTemplate.ID)
             {
            throw new EventCalendarException(
               String.Format(
                  String.Format(ResourceManager.Localize("UNSUPPORT_TEMPLATE"), item.Name, item.TemplateName,
                                StaticSettings.EventTemplate.Name)));
             }

             item.Editing.BeginEdit();

             if (!string.IsNullOrEmpty(context.StartTime))
             {
            item.Fields[Event.StartTimeField].Value = Utilities.NormalizeTime(context.StartTime);
             }
             if (!string.IsNullOrEmpty(context.EndTime))
             {
            item.Fields[Event.EndTimeField].Value = Utilities.NormalizeTime(context.EndTime);
             }

             item.Editing.EndEdit();

             Event evt = new Event(item);

             if (evt.ScheduleID != null)
             {
            if (context.UpdateSeries)
            {
               SyncEventTimes(GetEventSet(evt, context.UpdateSeries), evt);
            }
            else
            {
               item.Editing.BeginEdit();
               item.Fields[Event.ScheduleIDField].Value = string.Empty;
               item.Editing.EndEdit();
            }
             }

             PublishUtil.Publishing(item, false, false);
        }
コード例 #2
0
 public static void UpdateTime(string eventID, string startTime, string endTime, bool updateSeries)
 {
     var message = Message.Parse(eventID, "event:movetime");
      var moveTimeContext = new MoveEventTimeContext(eventID, startTime, endTime, updateSeries);
      Dispatcher.Dispatch(message, moveTimeContext);
 }