protected void lbProfileNext_Click(object sender, EventArgs e) { // setup merge fields var mergeFields = Rock.Lava.LavaHelper.GetCommonMergeFields(this.RockPage, this.CurrentPerson); mergeFields.Add("PersonId", hfPersonId.Value); mergeFields.Add("FirstName", tbFirstName.Text); mergeFields.Add("LastName", tbLastName.Text); mergeFields.Add("StreetAddress", acAddress.Street1); mergeFields.Add("City", acAddress.City); mergeFields.Add("State", acAddress.State); mergeFields.Add("PostalCode", acAddress.PostalCode); mergeFields.Add("Country", acAddress.Country); mergeFields.Add("Email", tbEmail.Text); mergeFields.Add("HomePhone", pnbHomePhone.Text); mergeFields.Add("MobilePhone", pnbHomePhone.Text); mergeFields.Add("BirthDate", dpBirthdate.Text); mergeFields.Add("OtherUpdates", tbOtherUpdates.Text); // if an email was provided email results RockContext rockContext = new RockContext(); if (!string.IsNullOrWhiteSpace(GetAttributeValue("UpdateEmail"))) { var receiptEmail = new SystemEmailService(rockContext).Get(new Guid(GetAttributeValue("UpdateEmail"))); if (receiptEmail != null && receiptEmail.To.IsNotNullOrWhitespace()) { var errorMessages = new List <string>(); var message = new RockEmailMessage(receiptEmail); foreach (var recipient in message.GetRecipientData()) { recipient.MergeFields = mergeFields; } message.Send(out errorMessages); } } // launch workflow if configured if (!string.IsNullOrWhiteSpace(GetAttributeValue("WorkflowType"))) { var workflowService = new WorkflowService(rockContext); var workflowType = WorkflowTypeCache.Read(new Guid(GetAttributeValue("WorkflowType"))); if (workflowType != null && (workflowType.IsActive ?? true)) { var workflow = Rock.Model.Workflow.Activate(workflowType, "Kiosk Update Info"); // set attributes workflow.SetAttributeValue("PersonId", hfPersonId.Value); workflow.SetAttributeValue("FirstName", tbFirstName.Text); workflow.SetAttributeValue("LastName", tbLastName.Text); workflow.SetAttributeValue("StreetAddress", acAddress.Street1); workflow.SetAttributeValue("City", acAddress.City); workflow.SetAttributeValue("State", acAddress.State); workflow.SetAttributeValue("PostalCode", acAddress.PostalCode); workflow.SetAttributeValue("Country", acAddress.Country); workflow.SetAttributeValue("Email", tbEmail.Text); workflow.SetAttributeValue("HomePhone", pnbHomePhone.Text); workflow.SetAttributeValue("MobilePhone", pnbHomePhone.Text); workflow.SetAttributeValue("BirthDate", dpBirthdate.Text); workflow.SetAttributeValue("OtherUpdates", tbOtherUpdates.Text); // lauch workflow List <string> workflowErrors; workflowService.Process(workflow, out workflowErrors); } } HidePanels(); pnlComplete.Visible = true; lCompleteMessage.Text = GetAttributeValue("CompleteMessageLava").ResolveMergeFields(mergeFields); }