¿Cómo puedo crear una visión de «cita» con DDay.iCal?

Estoy usando el DDay de la biblioteca para crear un evento de iCal, de modo que los usuarios de mi sitio web puede agregar algo a su calendario.

Quiero agregar una cita frente a una petición de reunión en Office 2010 (y espero que a otros también). Cuando yo uso la biblioteca y establecer el método para PUBLICAR, lo hace aparecer como una cita, pero se informa que la reunión no se encuentra en el calendario. Luego, cuando hago clic no se exige una respuesta, el elemento se elimina y no se quede en su calendario.

Si puedo cambiar el método de SOLICITUD, se muestra como una solicitud de reunión. Este sería un bien, la segunda mejor opción, pero el campo ‘para’ está en blanco. Si eso es lo mejor que puedo hacer, cómo puedo configurar el campo «para»? Creo que tendría que respondan a las mismas.

private static string CreateCalendarEvent(
    string title, string body, DateTime startDate, double duration, 
    string location, string organizer, string eventId, bool allDayEvent)
{
    //mandatory for outlook 2007
    if(String.IsNullOrEmpty(organizer))
        throw new Exception("Organizer provided was null");

    var iCal = new iCalendar
    {
        Method = "PUBLISH",
        Version = "2.0"
    };

    //"REQUEST" will update an existing event with the same UID (Unique ID) and a newer time stamp.
    //if (updatePreviousEvent)
    //{
    //   iCal.Method = "REQUEST";
    //}

    var evt = iCal.Create<Event>();
    evt.Summary = title;
    evt.Start = new iCalDateTime(startDate);
    evt.Duration = TimeSpan.FromHours(duration);
    evt.Description = body;
    evt.Location = location;
    evt.IsAllDay = allDayEvent;
    evt.UID = String.IsNullOrEmpty(eventId) ? new Guid().ToString() : eventId;
    evt.Organizer = new Organizer(organizer);
    evt.Alarms.Add(new Alarm
    {
        Duration = new TimeSpan(0, 15, 0),
        Trigger = new Trigger(new TimeSpan(0, 15, 0)),
        Action = AlarmAction.Display,
        Description = "Reminder"
    });

    return new iCalendarSerializer().SerializeToString(iCal);
}

OriginalEl autor Hoppe | 2012-08-24

2 Kommentare

  1. 3

    Cuando me puse el organizador de una dirección de correo electrónico, como oposición a una cadena de prueba, funcionó bien. Yo había escrito todo esto, así que pensé en compartirlo en caso de que alguien más tenía el mismo problema

    Tenga en cuenta que no aparece el correo electrónico se utiliza realmente para nada, si después de ir y actualizar esto como una petición de reunión.

    OriginalEl autor Hoppe

  2. 1

    Mi app dejó de funcionar cuando el servidor de exchange se actualiza a Outlook 2010 desde 2003. Antes de la actualización PUBLICAR funcionaba bien, pero ahora he tenido que cambiar a PETICIÓN

    Gracias por el artículo

    OriginalEl autor Mthokozisi Moyo

Kommentieren Sie den Artikel

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

Pruebas en línea