예제 #1
0
        private void InnerStartWorkflow(string processDescKey, string appName, string programName,
                                        string relativeID, string relativeURL, bool isCloned, NameValueCollection relativeParams)
        {
            StartWorkflowControllerOperation operation = new StartWorkflowControllerOperation();

            operation.StartupParams.ProcessDescriptor = WfProcessDescriptorManager.GetDescriptor(processDescKey);

            if (operation.StartupParams.ProcessDescriptor.DefaultTaskTitle.IsNullOrEmpty())
            {
                operation.StartupParams.DefaultTaskTitle = operation.StartupParams.ProcessDescriptor.Name;
            }
            else
            {
                operation.StartupParams.DefaultTaskTitle = operation.StartupParams.ProcessDescriptor.DefaultTaskTitle;
            }

            operation.StartupParams.ResourceID = UuidHelper.NewUuidString();
            operation.StartupParams.ApplicationRuntimeParameters["ProcessRequestor"] = OguUser.CreateWrapperObject(DeluxeIdentity.CurrentUser);
            operation.ApplicationName           = appName;
            operation.ProgramName               = programName;
            operation.StartupParams.RelativeID  = relativeID;
            operation.StartupParams.RelativeURL = relativeURL;
            operation.StartupParams.Department  = DeluxeIdentity.CurrentUser.TopOU;
            operation.StartupParams.Assignees.Add(DeluxeIdentity.CurrentUser);
            operation.IsCloned = isCloned;

            operation.StartupParams.RelativeParams.CopyFrom(relativeParams);

            operation.NavigationCommand = CollectNavigationCommand(this.GetType());
            operation.SceneInfo         = CollectSceneInfo(this.GetType());

            OnInitOperation(operation);

            PerformanceMonitorHelper.GetDefaultMonitor().WriteExecutionDuration("DoStartWorkflowControllerOperation",
                                                                                () => operation.DoOperation());
        }
예제 #2
0
		private void InnerStartWorkflow(string processDescKey, string appName, string programName,
			string relativeID, string relativeURL, bool isCloned, NameValueCollection relativeParams)
		{
			StartWorkflowControllerOperation operation = new StartWorkflowControllerOperation();

			operation.StartupParams.ProcessDescriptor = WfProcessDescriptorManager.GetDescriptor(processDescKey);

			if (operation.StartupParams.ProcessDescriptor.DefaultTaskTitle.IsNullOrEmpty())
				operation.StartupParams.DefaultTaskTitle = operation.StartupParams.ProcessDescriptor.Name;
			else
				operation.StartupParams.DefaultTaskTitle = operation.StartupParams.ProcessDescriptor.DefaultTaskTitle;

			operation.StartupParams.ResourceID = UuidHelper.NewUuidString();
			operation.StartupParams.ApplicationRuntimeParameters["ProcessRequestor"] = OguUser.CreateWrapperObject(DeluxeIdentity.CurrentUser);
			operation.ApplicationName = appName;
			operation.ProgramName = programName;
			operation.StartupParams.RelativeID = relativeID;
			operation.StartupParams.RelativeURL = relativeURL;
			operation.StartupParams.Department = DeluxeIdentity.CurrentUser.TopOU;
			operation.StartupParams.Assignees.Add(DeluxeIdentity.CurrentUser);
			operation.IsCloned = isCloned;

			operation.StartupParams.RelativeParams.CopyFrom(relativeParams);

			operation.NavigationCommand = CollectNavigationCommand(this.GetType());
			operation.SceneInfo = CollectSceneInfo(this.GetType());

			OnInitOperation(operation);

			PerformanceMonitorHelper.GetDefaultMonitor().WriteExecutionDuration("DoStartWorkflowControllerOperation",
				() => operation.DoOperation());
		}