/// <summary> /// Adds a reminder to a calendar event. /// </summary> /// <param name="entry">The event to update.</param> /// <param name="numMinutes">Reminder time, in minutes.</param> /// <returns>The updated EventEntry object.</returns> static EventEntry AddReminder(EventEntry entry, int numMinutes) { Reminder reminder = new Reminder(); reminder.Minutes = numMinutes; entry.Reminder = reminder; return (EventEntry)entry.Update(); }
/// <summary> /// Adds an extended property to a calendar event. /// </summary> /// <param name="entry">The event to update.</param> /// <returns>The updated EventEntry object.</returns> static EventEntry AddExtendedProperty(EventEntry entry) { ExtendedProperty property = new ExtendedProperty(); property.Name = "http://www.example.com/schemas/2005#mycal.id"; property.Value = "1234"; entry.ExtensionElements.Add(property); return (EventEntry)entry.Update(); }
/// <summary> /// Updates the title of an existing calendar event. /// </summary> /// <param name="entry">The event to update.</param> /// <param name="newTitle">The new title for this event.</param> /// <returns>The updated EventEntry object.</returns> static EventEntry UpdateTitle(EventEntry entry, String newTitle) { entry.Title.Text = newTitle; return (EventEntry)entry.Update(); }
public bool SaveEventEntry (EventEntry KalenderEntry, String WPMediaEventID) { try { KalenderEntry.Update (); } catch (Exception Excp) { WMB.Basics.ReportErrorToEventViewer ("WPMediaGoogleCalendarUpdate.DoUpdate.SaveEventEntry", "Bei der GoogleEventID:\r\n\"" + KalenderEntry.EventId + "\"\r\nder WPMediaID \"" + WPMediaEventID + "\"\r\n" + "mit der Uri:\r\n\"" + KalenderEntry.SelfUri.ToString () + "\"\r\ntrat folgender Fehler auf :\r\n" + Excp.ToString()); if (!MissingGoogleEventIDs.ContainsKey(WPMediaEventID)) MissingGoogleEventIDs[WPMediaEventID] = KalenderEntry.EventId; return false; } return true; }
/// <summary> /// Adds the specified appointment into the configured Google Calendar. /// This action is done into a thread and the action will be done when it's done /// </summary> /// <param name="appointment">The appointment to insert.</param> public void AddAppointment(Appointment appointment) { var context = TaskScheduler.FromCurrentSynchronizationContext(); var token = new CancellationTokenSource().Token; var task = System.Threading.Tasks.Task.Factory.StartNew(() => { try { var service = this.GetService(); var entry = new EventEntry(); entry.Title.Text = appointment.Subject; entry.Times.Add(new When() { StartTime = appointment.StartTime, EndTime = appointment.EndTime, }); var postUri = new Uri(this.CalendarUri); entry = service.Insert(postUri, entry) as EventEntry; entry.ExtensionElements.Add(new ExtendedProperty() { Name = SynchronisationProperty, Value = appointment.GoogleSynchronisationId.ToString(), }); entry.Update(); this.Logger.Info("Appointment correctly added into Google Calendar."); } catch (Exception ex) { throw new GoogleCalendarException(ex.Message, ex); } }); task.ContinueWith(t => this.Logger.Warn(t.Exception.InnerException.InnerException), token, TaskContinuationOptions.OnlyOnFaulted, context); }
public override void UpdateAppointment(int iIndex) { Exception googleProblem = null; int defaultMinutes = minutes; appointmentItem = (EventEntry)appointmentArray[iIndex]; appointmentItem.Times[0].StartTime = startDate; appointmentItem.Times[0].EndTime = endDate; appointmentItem.Title.Text = subject; if (alternateReminder) { earlyReminder = new DateTime(startDate.Year, startDate.Month, startDate.Day, earlyReminder.Hour, earlyReminder.Minute, earlyReminder.Second); lateReminder = new DateTime(startDate.Year, startDate.Month, startDate.Day, lateReminder.Hour, lateReminder.Minute, lateReminder.Second); DateTime dtReminder = WorkOutAlternateReminders(); // Subtract the reminder time from the appointment time. TimeSpan timeSpan = appointmentItem.Times[0].StartTime.Subtract(dtReminder); minutes = Math.Abs((timeSpan.Hours * 60) + timeSpan.Minutes); } if (reminder) { // They may not have had a reminder on the inital appointment. if (appointmentItem.Reminder == null) appointmentItem.Reminder = new Reminder(); try { appointmentItem.Reminder.Minutes = GetGoogleMinutes(minutes, defaultMinutes); } catch (Exception ex) { googleProblem = ex; // We set the minutes. appointmentItem.Reminder.Minutes = minutes; } appointmentItem.Reminder.Method = (Reminder.ReminderMethod)googleReminders[reminderMethod]; } else { appointmentItem.Reminder = null; } appointmentItem.Update(); // If there was a problem, throw the excpetion to let the calling app know. if (googleProblem != null) throw googleProblem; }
/// <summary> /// Updates a given event. /// </summary> /// <param name='index'> /// The number of the entry in the list of entries. /// </param> /// <param name='entry'> /// The entry itself, with the modifications already done. /// </param> public void ModifyEvent(int index, EventEntry entry) { entry.Update(); }