Link to home
Start Free TrialLog in
Avatar of marketware
marketware

asked on

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?
Avatar of Sjef Bosman
Sjef Bosman
Flag of France image

No clue, but a different approach: send a mail with a Meeting invitation. It is more or less standardized for all Mail environments.
Avatar of marketware
marketware

ASKER

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

ASKER CERTIFIED SOLUTION
Avatar of marketware
marketware

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Well done! Now collect your (own) points... :-))
FYI.  Groupwise does not play well with background threads.