Answer was staring me right in the face.
Been making a lot of progress on Outlook.Sync. Infact I just got it to successful send and recieve appointments, contacts, and tasks all at once, while paying attention to private items and configured through the Outlook options menu.
Took me quite a while to get support for ignoring items. At first, I tried setting up a user property called “DoNotSync”. That was working ok, but then I tried to change it from a text property to a yes/no (bool) and it wouldn't let me. Tried deleting that one and creating a new one, but it was always saying one already existed by that name, even though it couldn't find it. So then I just started using an ArrayList to track them (much like I'm doing for deleted items), but the problem there was that you could not mark a brand new item to not send. It doesn't have an EntryID yet. You have to create it, reopen it, and mark it. Minor problem, but I just had the button not show on new items. I spent hours getting it all right, trying the different methods, figging out why it would run the function multiple times (kept adding the event handler, doh).
Finally, I was testing synching contacts and I noticed a little “Private” checkbox in the corner. I looked on the other screens and it was there too. Hrm. Little cloud formed above my head. Where would it store that? Duh, in the “Sensitivity” setting, something I've had right in front of me the whole time. Much better now. Mark it private in Outlook and it doesn't send it. No need for the ArrayList, no “Do Not Sync” button, no need to watch for new inspectors (detail screens). Perfect.
Should be ready for a release later this week or next week. Have a final Thursday, presentation next Monday, and test next Tuesday... so we'll see. Everything is almost done. This is all I have left:
- Clean up code (little disorganized/debuging comments)
- Document some of the functions better
- Take out some of the pointless properties (if you have first name, middle name, and last name, you don't need to set full name or initials, etc. Outlook does it for you.).
- Maybe create a webpage for the thing? My site is non-existent right now.
- ADDED: SQL Server/MSDE support.