Event Management plugin problem & suggestion

Jun 22, 2009 at 11:05 AM
Edited Jun 23, 2009 at 11:59 AM

I've posted in the issue tracker regarding the Event Management plugin: http://crmaccelerators.codeplex.com/WorkItem/View.aspx?WorkItemId=4221

Here's a quick summary:

"I have a requirement to create additional Campign Responses in workflow, based on an attribute in a Campaign Response containing data. For example, if a user creates a Campaign Response with the Priority set to "High", workflow will create a new Campaign Response assigned to a Manager.

Since deploying the Event Management Accelerator this workflow doesn't work. The new Campaign Response gets created, but the workflow that was triggered by the original Campaign Response hangs on waiting."  Looking at the Event Logs you also see the error "Given key was not present in the dictionary".

The issue seems to be pivotal on responsecode - if I create the Campaign without a responsecode, the workflow runs correctly (because the plugin only runs if there is a responsecode).  If I then try to update the response code in workflow after the create event, the same error ocurrs.  I'm going to try adding another condition to "if (campaignResponse.Properties.Contains("responsecode"))" to make it check for responsecodes of just registered, waitlisting or cancelled (as these repsonsecodes are specific to event campaigns) to get my workflow running but it would be nice to nail down why this is happening.

I also have an upgrade suggestion.  I'm modifying the plugin and events site so an attendee can reserve x number of tickets without having to fill in the form multiple times.  I've been able to populate a drop down on the events site with values from a picklist attribute (new_placesreserved) on Campaign Response and get that number back into the Campaign Response that gets created, but the plugin is giving me issues.  When I'm incrementing/decrementing the registration count from this number, I have no problems on Create, but the Update throws the same "Given key was not present in the dictionary".  If I can fix this issue, it will probably point me in the right direction for the initial problem.  *EDIT I have resolved this particular issue by adding new_placesreserved to one of the attributes captured from the pre-image as it was coming up null on the post image.*

FYI, here is how I am changing the registrationcount by x amount (7 new lines of code, plus modifying 3 existing regcount lines):

//New lines here under main logic

//Default places reserved to 1
int intPlacesReserved = 1;

<font size="2">

 

</font>

if (campaignResponse.Properties.Contains("new_placesreserved"))
{
 
Picklist placesReserved = (Picklist)campaignResponse["new_placesreserved"];
  intPlacesReserved = placesReserved.Value;
}

//Modify registrationcount - replace + or - 1 with intPlacesReserved
msa_registrationcount.Value = msa_registrationcount.Value + intPlacesReserved;