Comment puis-je créer des Perspectives “rendez-vous” avec le jour j.iCal?

Je suis en utilisant le jour j de la bibliothèque pour créer un événement iCal, de sorte que les utilisateurs de mon site peut ajouter quelque chose à leur calendrier.

Je tiens à ajouter un rendez-vous, par opposition à une demande de réunion dans Office 2010 (et j'espère que d'autres aussi). Lorsque j'utilise la bibliothèque et de définir la méthode de PUBLIER, il apparaît comme un rendez-vous, mais il signale que la réunion ne peut pas être trouvé dans le calendrier. Puis quand je clique aucune réponse requise, l'élément est supprimé et ne pas rester dans leur calendrier.

Si je change la méthode de la DEMANDE, il se présente comme une demande de réunion. Ce serait un bon deuxième meilleure option, mais les " à " le champ est vide. Si c'est le mieux que je puisse faire, comment puis-je définir le 'champ'? Je suppose que j'aurais à faire face à eux-mêmes.

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);
}

OriginalL'auteur Hoppe | 2012-08-24