protected virtual void Execute(MoveEventContext 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(ResourceManager.Localize("UNSUPPORT_TEMPLATE"), item.Name, item.TemplateName, StaticSettings.EventTemplate.Name)); } item.Editing.BeginEdit(); item.Fields[Event.StartDateField].Value = DateUtil.ToIsoDate(Utilities.StringToDate(context.NewDate)); if (Utilities.StringToDate(context.NewDate) > Utilities.IsoStringToDate(item.Fields[Event.EndDateField].Value)) { item.Fields[Event.EndDateField].Value = item.Fields[Event.StartDateField].Value; } item.Fields[Event.ScheduleIDField].Value = string.Empty; item.Editing.EndEdit(); PublishUtil.Publishing(item, true, false); }
public static void MoveEvent(string eventID, string newDate) { Message message = Message.Parse(eventID, "event:move"); var context = new MoveEventContext(eventID, newDate); Dispatcher.Dispatch(message, context); }