Uno de nuestros requisitos es crear archivos iCalendar (.ics) y enviarlos a cada uno en un archivo adjunto. Estamos utilizando DDay.Ical.dll para crear archivos ICS como en:¿Cómo cancelar un evento de calendario usando archivos ics?
// Create a new iCalendar
iCalendar iCal = new iCalendar();
// Create the event, and add it to the iCalendar
Event evt = iCal.Create<Event>();
// Set information about the event
evt.Start = new iCalDateTime(SomeStartTime);
evt.End = new iCalDateTime(SomeEndTime);
evt.Location = "At so and so place";
evt.Description = "Some Description";
evt.Summary = "About Some Subject";
iCal.Method = "PUBLISH";
// Serialize (save) the iCalendar
iCalendarSerializer serializer = new iCalendarSerializer();
serializer.Serialize(iCal, @"iCalendar.ics");
proceso completo es:
- Usuario1 crear un archivo iCal para la fecha y hora específica y enviarla a Usuario2.
- User2 abrirá el archivo ics y aceptará la invitación. Se creará un elemento de cita en la perspectiva LOCAL del Usuario2.
Ahora, supongamos que, por alguna razón, si se cancela una cita, el Usuario1 TIENE que crear un archivo ics y enviarlo al Usuario2, para que el Usuario2 pueda cancelar su evento desde la perspectiva local.
¿Cómo crear dicho archivo ics?
Estaba probando esto con mi cliente de Outlook, sorprendentemente cuando cancelo una reunión de Outlook y leo el archivo ics en el extremo receptor, no encuentro la bandera de ESTADO allí, y mucho menos cancelada. Además, el VEVENT está configurado para CANCELAR, pero no estoy seguro de si eso es una indicación suficientemente buena de si se canceló la reunión. ¿Puede decirme qué otras cosas puedo verificar en el lado del receptor para saber si esta es una reunión cancelada? Lo necesito para un flujo de trabajo! – k2ibegin