Cómo cancelar un evento de calendario, utilizando archivos ics?

Uno de nuestros requisitos es para crear archivos iCalendar (.ics) y enviar a cada uno de ellos en mensajes de correo electrónico como un archivo adjunto. Estamos utilizando DDay.Ical.dll para crear 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:

  1. Usuario1 crear un archivo iCal para la fecha y hora específicas y enviarlo a Usuario2.
  2. Usuario2 se abrirá el archivo ics y aceptar la invitación. Un elemento de cita será creado en el Usuario2 LOCAL de outlook.

Ahora, Supongamos que, por cualquier razón, si la cita es cancelado, Usuario1 TIENE que crear un archivo ics y enviarlo a Usuario2, por lo que Usuario2 puede cancelar su cita en el local de outlook.

Cómo crear dicho archivo ics?

OriginalEl autor Bharat Mori | 2012-05-11

1 Kommentar

  1. 11

    Archivo se crea en la misma forma que el original de ics archivo. El estado del evento será diferente. UID identificará el evento y el número de secuencia se indican prioridad de actualización y, a continuación, los detalles del evento se hará constar (cambios o cancelaciones)

    Si desea cambiar o cancelar un evento después de que el envío de una invitación, es necesario identificar el evento, con el nombramiento por su UID, y asignar un mayor número de SECUENCIA que el original de ics evento.

    UID (identificador único) : http://tools.ietf.org/html/rfc5545#page-117

    Secuencia: http://tools.ietf.org/html/rfc5545#page-138

    y establecer el estado de los eventos de

                 /"CANCELLED"    ;Indicates event was cancelled.
    

    Estado: http://tools.ietf.org/html/rfc5545#page-92

    oh – y el método
    Si usted necesita enviar una cancelación de un evento el UID debe ser el mismo que el original evento y las propiedades de un componente debe ser establecida para cancelar la Ex.
    MÉTODO:CANCELAR
    ESTADO:CANCELADO

    Por supuesto, esto sólo ‘cancelar’ el caso de que el destinatario, a continuación, haga clic para cargar/suscribirse a la misma aplicación de calendario como la primera vez.
    Para las aplicaciones que tienen «suscrito» el remoto ics – la próxima vez que haga un ‘update’ comprobar la actualización debe ser procesada y sobrescribir el original evento.

    Estuve probando con mi cliente de outlook, sorprendentemente cuando puedo cancelar una reunión de outlook y leer el archivo ics en el receptor final, no me parece de ESTADO de bandera no, no hablemos de la cancela. También, el VEVENT se establece a CANCELAR, pero no estoy seguro de si eso es una buena indicación de si la reunión fue cancelada ? Puede usted por favor dígame ¿qué otras cosas puedo comprobar en el lado del receptor para saber si esto es una reunión cancelada? Lo necesito para algunos flujo de trabajo!

    OriginalEl autor anmari

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein