예제 #1
0
        /// <summary>
        /// Handles the Click event of the btnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
        protected void btnSave_Click(object sender, EventArgs e)
        {
            WorkflowTrigger        WorkflowTrigger;
            WorkflowTriggerService WorkflowTriggerService = new WorkflowTriggerService();
            AttributeService       attributeService       = new AttributeService();

            int WorkflowTriggerId = int.Parse(hfWorkflowTriggerId.Value);

            if (WorkflowTriggerId == 0)
            {
                WorkflowTrigger = new WorkflowTrigger();
                WorkflowTriggerService.Add(WorkflowTrigger, CurrentPersonId);
            }
            else
            {
                WorkflowTrigger = WorkflowTriggerService.Get(WorkflowTriggerId);
            }

            WorkflowTrigger.EntityTypeId = ddlEntityType.SelectedValueAsInt().Value;
            WorkflowTrigger.EntityTypeQualifierColumn = ddlQualifierColumn.SelectedValue;
            WorkflowTrigger.EntityTypeQualifierValue  = tbQualifierValue.Text;
            WorkflowTrigger.WorkflowTypeId            = ddlWorkflowType.SelectedValueAsInt().Value;
            WorkflowTrigger.WorkflowTriggerType       = (WorkflowTriggerType)System.Enum.Parse(typeof(WorkflowTriggerType), rblTriggerType.SelectedValue);
            WorkflowTrigger.IsActive = cbIsActive.Checked;
            if (string.IsNullOrWhiteSpace(tbWorkflowName.Text))
            {
                WorkflowTrigger.WorkflowName = null;
            }
            else
            {
                WorkflowTrigger.WorkflowName = tbWorkflowName.Text;
            }

            if (!WorkflowTrigger.IsValid)
            {
                // Controls will render the error messages
                return;
            }

            WorkflowTriggerService.Save(WorkflowTrigger, CurrentPersonId);

            Rock.Workflow.TriggerCache.Refresh();

            NavigateToParentPage();
        }
예제 #2
0
        /// <summary>
        /// Handles the Delete event of the gWorkflowTrigger control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param>
        protected void gWorkflowTrigger_Delete(object sender, RowEventArgs e)
        {
            RockTransactionScope.WrapTransaction(() =>
            {
                WorkflowTriggerService WorkflowTriggerService = new WorkflowTriggerService();
                WorkflowTrigger WorkflowTrigger = WorkflowTriggerService.Get((int)e.RowKeyValue);

                if (WorkflowTrigger != null)
                {
                    string errorMessage;
                    if (!WorkflowTriggerService.CanDelete(WorkflowTrigger, out errorMessage))
                    {
                        mdGridWarning.Show(errorMessage, ModalAlertType.Information);
                        return;
                    }

                    WorkflowTriggerService.Delete(WorkflowTrigger, CurrentPersonId);
                    WorkflowTriggerService.Save(WorkflowTrigger, CurrentPersonId);
                }
            });

            BindGrid();
        }