protected override void Execute(CodeActivityContext context) { // Create an Assignment class and populate its properties Assignment a = new Assignment(); a.WorkflowID = context.WorkflowInstanceId; a.LeadID = LeadID.Get(context); a.DateAssigned = DateTime.Now; a.AssignedTo = AssignedTo.Get(context); a.Status = "Assigned"; a.DateDue = DateTime.Now + TimeSpan.FromDays(5); PersistAssignment persist = context.GetExtension <PersistAssignment>(); persist.AddAssignment(context.WorkflowInstanceId, a, "Insert"); }
protected override void Execute(NativeActivityContext context) { // Get the connection string DBExtension ext = context.GetExtension <DBExtension>(); if (ext == null) { throw new InvalidProgramException("No connection string available"); } // Create a data context LeadDataDataContext dc = new LeadDataDataContext(ext.ConnectionString); // Enlist on the current transaction RuntimeTransactionHandle rth = new RuntimeTransactionHandle(); rth = context.Properties.Find(rth.ExecutionPropertyName) as RuntimeTransactionHandle; if (rth != null) { Transaction t = rth.GetCurrentTransaction(context); // Open the connection, if necessary if (dc.Connection.State == System.Data.ConnectionState.Closed) { dc.Connection.Open(); } dc.Connection.EnlistTransaction(t); } // Create an Assignment class and populate its properties Assignment a = new Assignment(); dc.Assignments.InsertOnSubmit(a); a.WorkflowID = context.WorkflowInstanceId; a.LeadID = LeadID.Get(context); a.DateAssigned = DateTime.Now; a.AssignedTo = AssignedTo.Get(context); a.Status = "Assigned"; a.DateDue = DateTime.Now + TimeSpan.FromDays(5); dc.SubmitChanges(); }