Estoy usando la biblioteca DDay para crear un evento iCal, para que los usuarios de mi sitio puedan agregar algo a su calendario.¿Cómo creo una "cita" de Outlook con DDay.iCal?
Quiero que agreguen una cita en lugar de una convocatoria de reunión en Office 2010 (y espero que otros también). Cuando uso la biblioteca y establezco el método para PUBLICAR, aparece como una cita, pero informa que la reunión no se puede encontrar en el calendario. Luego, cuando hago clic en No se requiere respuesta, el elemento se elimina y no permanece en su calendario.
Si cambio el método a SOLICITUD, se muestra como una convocatoria de reunión. Esta sería una 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"? Supongo que les pediría que respondan a sí mismos.
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);
}
Tenga en cuenta que no aparece el correo electrónico se utiliza realmente para nada, si más adelante entrar y actualizar esto como una solicitud de reunión. –