예제 #1
0
        private void innerSaveButton_Click(object sender, EventArgs e)
        {
            WfSaveDataExecutor executor = new WfSaveDataExecutor(WfClientContext.Current.OriginalActivity, WfClientContext.Current.OriginalActivity);

            OnAfterCreateExecutor(executor);

            ExecuteOperation("保存", WfControlOperationType.Save, executor);
        }
        public WfClientProcessInfo SaveProcess(string processID, WfClientRuntimeContext runtimeContext)
        {
            OperationContext.Current.FillContextToOguServiceContext();

            return(ExecuteProcessActionByProcessID(processID, runtimeContext,
                                                   (process) =>
            {
                WfSaveDataExecutor executor = new WfSaveDataExecutor(process.CurrentActivity, process.CurrentActivity);

                executor.SaveApplicationData += (dataContext) => SaveOpinion(runtimeContext.Opinion);
                return executor;
            }
                                                   ));
        }
예제 #3
0
        public static WfClientProcess Save(WfClientSaveParameters parameters)
        {
            IWfProcess process = WfRuntime.GetProcessByProcessID(parameters.ProcessID);

            IWfActivity activity = process.CurrentActivity;

            WfSaveDataExecutor executor = new WfSaveDataExecutor(activity, activity);

            WfClientOpinion opinion = parameters.CurrentOpinion;

            GenericOpinion serverOpinion = PrepareOpinion(process.CurrentActivity, parameters.CurrentOpinion, DeluxeIdentity.CurrentUser);

            executor.PrepareApplicationData += dataContext => GenericOpinionAdapter.Instance.Update(serverOpinion);

            return(GetClientProcess(executor.Execute()));
        }
예제 #4
0
        private void RecreateProcesses(WfControlNextStepCollection nextSteps, bool saveAndReload, bool isCurrent)
        {
            _Table.Rows.Clear();

            if (saveAndReload)
            {
                WfSaveDataExecutor executor;

                if (isCurrent)
                {
                    executor = new WfSaveDataExecutor(WfClientContext.Current.OriginalCurrentActivity, WfClientContext.Current.OriginalCurrentActivity);
                }
                else
                {
                    executor = new WfSaveDataExecutor(OriginalActivity, OriginalActivity);
                }

                executor.AutoCommit    = false;
                executor.SaveUserTasks = false;

                executor.Execute();

                ReloadProcessContext();
            }

            CreateProcessSteps(GetAllMainStreamActivities());

            if (WfMoveToControl.Current != null)
            {
                if (nextSteps == null)
                {
                    nextSteps = WfMoveToControl.Current.NextSteps;
                }

                WfMoveToControl.DoActionAfterRegisterContextConverter(() =>
                                                                      AddControlToTemplate(_RootPanel, new LiteralControl(
                                                                                               string.Format("<input type='hidden' id='adjustNextStepsHidden' name='adjustNextStepsHidden' value='{0}'/>",
                                                                                                             HttpUtility.HtmlAttributeEncode(JSONSerializerExecute.Serialize(nextSteps)))
                                                                                               ))
                                                                      );
            }
        }