var newEvent = DateTime.Now.AddDays(7);
var title = " XXX 工作室預約";
var evt = new Ical.Net.CalendarComponents.CalendarEvent
{
DtStart = new Ical.Net.DataTypes.CalDateTime(newEvent, "Asia/Taipei"),
Start= new Ical.Net.DataTypes.CalDateTime(newEvent, "Asia/Taipei"),
//事件在十分鐘後結束
DtEnd = new Ical.Net.DataTypes.CalDateTime(newEvent.AddMinutes(10), "Asia/Taipei"),
End = new Ical.Net.DataTypes.CalDateTime(newEvent.AddMinutes(10), "Asia/Taipei"),
Location = "台北市中正區中山南路21號",
Description = "親,這是您的預約 ,別忘記了",
IsAllDay = false,
Summary = title
};
//開始前15分鐘提醒
var alarm = new Ical.Net.CalendarComponents.Alarm()
{
Summary = title,
Trigger = new Ical.Net.DataTypes.Trigger(TimeSpan.FromMinutes(-15)),
Action = Ical.Net.AlarmAction.Display
};
var calendar = new Ical.Net.Calendar();
calendar.Properties.Add(new Ical.Net.CalendarProperty("X-WR-CALNAME", title));
calendar.AddTimeZone("Asia/Taipei");
calendar.Events.Add(evt);
evt.Alarms.Add(alarm);
var serializer = new Ical.Net.Serialization.CalendarSerializer();
var serializedCalendar = serializer.SerializeToString(calendar);
這裡面 注意 event 中的 Summary 一定要寫,因為我用 outlook 的行事曆,如果沒有寫就不會出現任何訊息