/// <summary> /// Saves new workflow's data and redirects to Workflow_Edit.aspx. /// </summary> /// <param name="sender">Sender</param> /// <param name="e">Event arguments</param> protected void ButtonOK_Click(object sender, EventArgs e) { // finds whether required fields are not empty string result = new Validator().NotEmpty(txtWorkflowDisplayName.Text, GetString("Development-Workflow_New.RequiresDisplayName")).NotEmpty(txtWorkflowCodeName.Text, GetString("Development-Workflow_New.RequiresCodeName")) .IsCodeName(txtWorkflowCodeName.Text, GetString("general.invalidcodename")) .Result; if (result == "") { WorkflowInfo wi = WorkflowInfoProvider.GetWorkflowInfo(txtWorkflowCodeName.Text); if (wi == null) { int workflowId = SaveNewWorkflow(); if (workflowId > 0) { WorkflowStepInfoProvider.CreateDefaultWorkflowSteps(workflowId); URLHelper.Redirect("Workflow_Edit.aspx?workflowid=" + workflowId + "&saved=1"); } } else { lblError.Visible = true; lblError.Text = GetString("Development-Workflow_New.WorkflowExists"); } } else { lblError.Visible = true; lblError.Text = result; } }
/// <summary> /// Creates process. Called when the "Create process" button is pressed. /// </summary> private bool CreateProcess() { // Create new process object and set its properties WorkflowInfo newProcess = new WorkflowInfo() { WorkflowDisplayName = "My new process", WorkflowName = "MyNewProcess", WorkflowType = WorkflowTypeEnum.Automation, WorkflowRecurrenceType = ProcessRecurrenceTypeEnum.Recurring }; // Save the process WorkflowInfoProvider.SetWorkflowInfo(newProcess); // Create default steps WorkflowStepInfoProvider.CreateDefaultWorkflowSteps(newProcess); // Get the step with codename 'Finished' and allow Move to previous WorkflowStepInfo finishedStep = WorkflowStepInfoProvider.GetWorkflowStepInfo("Finished", newProcess.WorkflowID); finishedStep.StepAllowReject = true; // Save the 'Finished' step WorkflowStepInfoProvider.SetWorkflowStepInfo(finishedStep); return(true); }
protected void EditForm_OnBeforeRedirect(object sender, EventArgs e) { if (editForm.IsInsertMode) { WorkflowStepInfoProvider.CreateDefaultWorkflowSteps(CurrentWorkflow); // To prevent from creating multiple versions - turn versioning back on CurrentWorkflow.Generalized.SupportsVersioning = true; // Create one version manually if (LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.ObjectVersioning) && ObjectVersionManager.AllowObjectVersioning(CurrentWorkflow)) { ObjectVersionManager.CreateVersion(CurrentWorkflow, CMSActionContext.CurrentUser.UserID); } } }
/// <summary> /// Creates workflow. Called when the "Create workflow" button is pressed. /// </summary> private bool CreateWorkflow() { // Create new workflow object WorkflowInfo newWorkflow = new WorkflowInfo(); // Set the properties newWorkflow.WorkflowDisplayName = "My new workflow"; newWorkflow.WorkflowName = "MyNewWorkflow"; // Save the workflow WorkflowInfoProvider.SetWorkflowInfo(newWorkflow); // Create the three default workflow steps WorkflowStepInfoProvider.CreateDefaultWorkflowSteps(newWorkflow); return(true); }