I'm doing some work with an icalndar appointment generation; this would allow a delegate to view an event's website and click on a link provided to add an appointment to their calendar.
I have a working assembly that will generate an ics formatted output (as either a physical file or a Stream) based on a known set of information (start date, end date, title etc.).
An example of the output I generate for a calendar appointment is the following:
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20110210T124703Z
DESCRIPTION:Anything Else\n\nHopefully some useful information would be written here\n
DTEND:20110212T100000Z
DTSTAMP:20110210T124600Z
DTSTART:20110212T090000Z
LAST-MODIFIED:20110210T124703Z
LOCATION:Dummy Location
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:Dummy Meeting
TRANSP:OPAQUE
UID:040000008200E00074C5B7101A82E00800000000B0D1061C57C8CB01000000000000000
010000000281117EDC1194242B64F0247C54DB401
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\n<HTML>\n<HEAD>\n<META HTTP-EQUIV="Content-Type" CONTENT="text/html\; charset=Windows-1252">\n<META NAME="Generator" CONTENT="MS Exchange Server
version 6.5.7654.12">\n<TITLE>Dummy Meeting</TITLE>\n</HEAD>\n<BODY>\n<!-
- Converted from text/plain format -->\n\n<P><FONT SIZE=2><\;h1>\;Anyt
hing Else<\;/h1>\;<\;p>\;Hopefully some useful information would b
e written here<\;/p>\;<BR>\n</FONT>\n</P>\n\n</BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
END:VEVENT
END:VCALENDAR
What I have been asked is; is it possible to change the appointment, but the next time someone requests the reminder it will detect the appointment as already existing in their calendar and update it instead of creating a new entry?
So I am trying to find if it is possible to overwrite an existing calendar appointment.
I noticed that there was a UID value, I have tried keeping this value the same, but it doesnt appear to provide a link between the calendar appointments.
Is it possible that the Save and Close action on the calendar appointment generates a new UID so there is no longer a link?
What else can I try?