public void CreateOutlookAppointments() { var a = new Outlook.Application(); Outlook.AppointmentItem appointment = (Outlook.AppointmentItem)a.CreateItem(Outlook.OlItemType.olAppointmentItem); appointment.Subject = "Feierabend"; appointment.Start = DateTime.Now; appointment.End = appointment.Start.Date.AddDays(1); appointment.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh; appointment.ReminderMinutesBeforeStart = 15; appointment.ReminderSet = true; appointment.Save(); }
private ArrayList RecurringItems() { // Filter all the objects we are looking for. Outlook.AppointmentItem appoinmentItem = null; Outlook.MAPIFolder folder = OutlookApplication.Session.GetDefaultFolder( Outlook.OlDefaultFolders.olFolderCalendar) as Outlook.MAPIFolder; // Use a Jet Query to filter the details we need initially between // the two spcified dates. string dateFilter = String.Format( CultureConstants.DefaultCulture, "[Start] >= '{0:g}' and [End] <= '{1:g}'", startDate, endDate); Outlook.Items calendarItems = folder.Items.Restrict(dateFilter); calendarItems.Sort("[Start]", Type.Missing); calendarItems.IncludeRecurrences = true; // Must use 'like' comparison for Find/FindNext string subjectFilter = String.Empty; if (String.IsNullOrEmpty(subject)) { subjectFilter = "@SQL=" + "\"" + "urn:schemas:httpmail:subject" + "\"" + " like '%" + subject + "%'"; } else { subjectFilter = "@SQL=" + "\"" + "urn:schemas:httpmail:subject" + "\"" + " <> '!@#'"; } // Use Find and FindNext methods to get all the items. ArrayList resultArray = new ArrayList(); appoinmentItem = calendarItems.Find(subjectFilter) as Outlook.AppointmentItem; while (appoinmentItem != null) { resultArray.Add(appoinmentItem); // Find the next appointment. appoinmentItem = calendarItems.FindNext() as Outlook.AppointmentItem; } return(resultArray); }
public override bool GetAppointment(int iIndex) { if (iIndex > appointmentArray.Count - 1) { return(false); } if (iIndex < 0) { return(false); } appointmentItem = (Outlook.AppointmentItem)appointmentArray[iIndex]; startDate = appointmentItem.Start; endDate = appointmentItem.End; subject = appointmentItem.Subject; reminder = appointmentItem.ReminderSet; minutes = appointmentItem.ReminderMinutesBeforeStart; entryID = appointmentItem.EntryID; return(true); }
public override void UpdateAppointment(int iIndex) { appointmentItem = (Outlook.AppointmentItem)appointmentArray[iIndex]; appointmentItem.Subject = subject; appointmentItem.Start = startDate; appointmentItem.End = endDate; appointmentItem.Body = String.Format(CultureConstants.DefaultCulture, "{0} \r\nUpdated: {1}", appointmentItem.Body, DateTime.Now); appointmentItem.ReminderSet = reminder; if (reminder) { appointmentItem.ReminderMinutesBeforeStart = minutes; } else { appointmentItem.ReminderMinutesBeforeStart = 0; } appointmentItem.BusyStatus = Outlook.OlBusyStatus.olBusy; appointmentItem.AllDayEvent = false; appointmentItem.Location = String.Empty; 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.Start.Subtract(dtReminder); appointmentItem.ReminderMinutesBeforeStart = Math.Abs((timeSpan.Hours * 60) + timeSpan.Minutes); minutes = appointmentItem.ReminderMinutesBeforeStart; } appointmentItem.Save(); }
public override void DeleteAppointment(int iIndex) { appointmentItem = (Outlook.AppointmentItem)appointmentArray[iIndex]; appointmentItem.Delete(); }
public override void UpdateAppointment(int iIndex) { appointmentItem = (Outlook.AppointmentItem)appointmentArray[iIndex]; appointmentItem.Subject = subject; appointmentItem.Start = startDate; appointmentItem.End = endDate; appointmentItem.Body = String.Format(CultureConstants.DefaultCulture, "{0} \r\nUpdated: {1}", appointmentItem.Body, DateTime.Now); appointmentItem.ReminderSet = reminder; if (reminder) appointmentItem.ReminderMinutesBeforeStart = minutes; else appointmentItem.ReminderMinutesBeforeStart = 0; appointmentItem.BusyStatus = Outlook.OlBusyStatus.olBusy; appointmentItem.AllDayEvent = false; appointmentItem.Location = String.Empty; 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.Start.Subtract(dtReminder); appointmentItem.ReminderMinutesBeforeStart = Math.Abs((timeSpan.Hours * 60) + timeSpan.Minutes); minutes = appointmentItem.ReminderMinutesBeforeStart; } appointmentItem.Save(); }
public override bool GetAppointment(int iIndex) { if (iIndex > appointmentArray.Count - 1) return false; if (iIndex < 0) return false; appointmentItem = (Outlook.AppointmentItem)appointmentArray[iIndex]; startDate = appointmentItem.Start; endDate = appointmentItem.End; subject = appointmentItem.Subject; reminder = appointmentItem.ReminderSet; minutes = appointmentItem.ReminderMinutesBeforeStart; entryID = appointmentItem.EntryID; return true; }