Why can't I create this appointment in Groupwise using c#?

Here is the simple code I'm using:

            //Create a New Appointment
            GroupwareTypeLibrary.Appointment10 appt;

            try
            {
                appt = (GroupwareTypeLibrary.Appointment10)groupwiseAccount.WorkFolder.Messages.Add(gwAppointment, egwDraft, _missing);
               
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Could not create Appointment item:\r\n\r\n" + ex.Message);
                return;
            }

I get the following error when adding the appointment:

Object does not match target type.

Any ideas why this doesn't work?
marketwareAsked:
Who is Participating?
 
marketwareConnect With a Mentor Author Commented:
I solved the problem.  It seems that when I changed the "refresh" of the DevExpress.XtraScheduler control to be performed on a Worker thread it caused groupwise to blow up every time I attempted a new appointment, etc.

Problem Solved I removed the refresh from occuring on a background thread.

bob
0
 
Sjef BosmanGroupware ConsultantCommented:
No clue, but a different approach: send a mail with a Meeting invitation. It is more or less standardized for all Mail environments.
0
 
marketwareAuthor Commented:
Here is what I am trying to do:  Create a new appointment with date, time, subject, etc. and then display the appointment using tokens.  My code is below and it seems to work fine (in a separate .cs file) but when used in my main application it gives the error: "Object does not match target type" on the following line.

appt = (GroupwareTypeLibrary.Appointment10)groupwiseAccount.WorkFolder.Messages.Add(gwAppointment, egwDraft, _missing);

This is really weird.  Why wouldn't it work in my main app all things being equal?  I cut/pasted the code in the main app to produce the code below.  And what really blows me away is that this was working before and now poof!  it doen't.

Thanks.

bob
      public static void Test()
        {
            GroupwareTypeLibrary.Application groupwiseApp;
            GroupwareTypeLibrary.Account groupwiseAccount;

            object gwAppointment = "GW.MESSAGE.APPOINTMENT";
            object _missing = System.Reflection.Missing.Value;
            object egwDraft = 4;
            string mypassword = "abc123";

            groupwiseApp = new GroupwareTypeLibrary.Application();
            groupwiseAccount = groupwiseApp.Login("", "", mypassword, 0, _missing);

            //Create a New Appointment
            GroupwareTypeLibrary.Appointment10 appt;

            try
            {
                appt = (GroupwareTypeLibrary.Appointment10)groupwiseAccount.WorkFolder.Messages.Add(gwAppointment, egwDraft, _missing);

            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Could not create Appointment item:\r\n\r\n" + ex.Message);
                return;
            }

            appt.StartDate = DateTime.Now;
            appt.EndDate = DateTime.Now.AddMinutes(30);

            appt.AlarmSet = false;
            appt.Subject.PlainText = "This is the Subject";

            string messageID = appt.MessageID.ToString();
            string RetString;

            string cmdOpenMessage = "ItemOpen(\"" + messageID + "\")";

            GroupWiseCommander.GWCommander gwc = new GroupWiseCommander.GWCommander();
            gwc.Execute(cmdOpenMessage, out RetString);

            return;

}

Open in new window

0
 
Sjef BosmanGroupware ConsultantCommented:
Well done! Now collect your (own) points... :-))
0
 
marketwareAuthor Commented:
FYI.  Groupwise does not play well with background threads.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.