Example #1
0
        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;
        }
Example #2
0
        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;
                }

            }
        }