private TaskEventSetting getEditingTaskEvent() { string session = Request["session"] as string; TaskEventSettings settings = Session[session] as TaskEventSettings; if (settings == null) { settings = new TaskEventSettings(); } TaskEventTypes editType = (TaskEventTypes)Enum.Parse(typeof(TaskEventTypes), Request["type"] as string); TaskEventSetting editEvent = settings.Events.Where(p => p.Type == editType).SingleOrDefault(); if (editEvent == null) { editEvent = new TaskEventSetting() { Type = editType, }; settings.Events.Add(editEvent); Session[session] = settings; } return editEvent; }
private void ExecuteActions(TaskEventSetting taskEvent) { if (taskEvent == null) return; foreach (TaskActionSettings taskAction in taskEvent.Actions) { ITaskActionHandler action = TaskActionFactory.CreateTaskActionHandler(taskAction.Type); switch (taskAction.Type) { case TaskActionTypes.UpdateTaskItemWithItemProperty: ((UpdateTaskItemWithItemPropertySettings)taskAction).TaskId = this.Parameter.TaskId; break; case TaskActionTypes.UpdateWorkflowItemWithTaskProperty: ((UpdateWorkflowItemWithTaskPropertySettings)taskAction).TaskId = this.Parameter.TaskId; break; case TaskActionTypes.SendEmailToStaticAddresses: case TaskActionTypes.SendEmailToWorkflowItemUserColumn: case TaskActionTypes.SendEmailToWorkflowTaskUserColumn: ((SendEmailToStaticAddressesSettings)taskAction).TaskId = this.Parameter.TaskId; break; //case TaskActionTypes.SendEmailWithESignMetadataToStaticAddresses: //case TaskActionTypes.SendEmailWithESignMetadataToWorkflowItemUserColumn: // ((SendEmailWithESignMetadataToStaticAddressesSettings)taskAction).ESignMetadata = this.Parameter.ESignMetadata; // break; case TaskActionTypes.UpdateWorkflowTaskMetadata: ((UpdateWorkflowTaskMetadataSettings)taskAction).TaskId = this.Parameter.TaskId; break; //case TaskActionTypes.UpdateWorkflowItemWithESignMetadata: // ((UpdateWorkflowItemWithESignMetadataSettings)taskAction).ESignMetadata = this.Parameter.ESignMetadata; // break; //case TaskActionTypes.SendEmailWithESignVariableToStaticAddresses: // ((SendEmailWithESignVariableToStaticAddressesSettings)taskAction).Variables = this.Parameter.Variables; // ((SendEmailWithESignVariableToStaticAddressesSettings)taskAction).ESignMetadata = this.Parameter.ESignMetadata; // break; //case TaskActionTypes.SendEmailWithESignVariableToWfItemUserColumn: // ((SendEmailWithESignVariableToWfItemUserColumnSettings)taskAction).Variables = this.Parameter.Variables; // ((SendEmailWithESignVariableToWfItemUserColumnSettings)taskAction).ESignMetadata = this.Parameter.ESignMetadata; // break; //case TaskActionTypes.UpdateWorkflowItemWithEsignVariables: // ((UpdateWorkflowItemWithESignVariablesSettings)taskAction).Variables = this.Parameter.Variables; // ((UpdateWorkflowItemWithESignVariablesSettings)taskAction).ESignMetadata = this.Parameter.ESignMetadata; // break; case TaskActionTypes.UpdateExecutedDocumentMetadata: ((UpdateExecutedDocumentMetaDataEditorSettings)taskAction).DestinationListUrl = this.Parameter.DestinationListUrl; ((UpdateExecutedDocumentMetaDataEditorSettings)taskAction).DestinationItemId = this.Parameter.DestinationItemId; break; case TaskActionTypes.UpdateWFPermission: break; case TaskActionTypes.UpdateTaskPermission: ((UpdateTaskPermissionSettings)taskAction).TaskId = this.Parameter.TaskId; break; } TaskActionArgs taskArg = new TaskActionArgs(taskAction, this.Parameter.WorkflowProperties); try { action.Execute(taskArg); } catch (System.Exception) { Utility.LogInfo("There is an error occur when execute action", TVMCORPFeatures.TVS); //throw; } } }