protected override void Execute(CodeActivityContext context) { // Get the connection string DBConnection ext = context.GetExtension <DBConnection>(); if (ext == null) { throw new InvalidProgramException("No connection string available"); } // Lookup the Request RequestDataContext dc = new RequestDataContext(ext.ConnectionString); Request r = dc.Requests.SingleOrDefault(x => x.RequestKey == RequestKey.Get(context)); if (r == null) { throw new InvalidProgramException("The specified request (" + RequestKey.Get(context) + ") was not found"); } // Update the Request record r.ActionTaken = ActionTaken.Get(context); r.RouteNext = RouteNext.Get(context); PersistRequest persist = context.GetExtension <PersistRequest>(); persist.AddRequest(r); context.SetValue(Request, r); }