private CommandStateBase Controller_PrepareCommandState(IWfProcess process)
        {
            DynamicFormCommandState state = null;

            //从流程上下文中获取数据。在这里通过流程上下文保存表单数据,省去了单独建表存储的工作
            //var data = DynamicFormDataAdapter.Instance.Load(process.ResourceID, false); //(string)process.RootProcess.Context["appData"];;

            string strData = (string)process.RootProcess.Context["appData"];

            if (strData.IsNullOrEmpty())
            {
                DynamicFormData data = new DynamicFormData();

                //data.Properties = null;

                state = new DynamicFormCommandState()
                {
                    Data = data
                };

                process.GenerateCandidatesFromResources();
            }
            else
            {
                var data = SerializationHelper.DeserializeStringToObject(strData, SerializationFormatterType.Binary) as DynamicFormData;
                return(new DynamicFormCommandState()
                {
                    Data = data
                });
            }

            return(state);
        }
        private CommandStateBase Controller_PrepareCommandState(IWfProcess process)
        {
            DynamicFormCommandState state = null;

            //从流程上下文中获取数据。在这里通过流程上下文保存表单数据,省去了单独建表存储的工作
            //var data = DynamicFormDataAdapter.Instance.Load(process.ResourceID, false); //(string)process.RootProcess.Context["appData"];;

            string strData = (string)process.RootProcess.Context["appData"];
            
            if (strData.IsNullOrEmpty())
            {
                DynamicFormData data = new DynamicFormData();
            
                //data.Properties = null;

                state = new DynamicFormCommandState() { Data = data };

                process.GenerateCandidatesFromResources();
            }
            else
            {
                var data = SerializationHelper.DeserializeStringToObject(strData, SerializationFormatterType.Binary) as DynamicFormData;
                return new DynamicFormCommandState() { Data = data };
            }

            return state;
        }
        /// <summary>
        /// 将runtimeContext的数据合并到流程上下文中
        /// </summary>
        /// <param name="process"></param>
        /// <param name="runtimeContext"></param>
        private static void MeregeRuntimeContext(IWfProcess process, WfClientRuntimeContext runtimeContext)
        {
            if (runtimeContext != null)
            {
                WfClientDictionaryConverter.Instance.ClientToServer(runtimeContext.ApplicationRuntimeParameters, process.ApplicationRuntimeParameters);
                WfClientDictionaryConverter.Instance.ClientToServer(runtimeContext.ProcessContext, process.Context);
                WfClientProcessInfoBaseConverter.Instance.FillOpinionInfoByProcessByActivity(runtimeContext.Opinion, process.CurrentActivity, runtimeContext.Operator, runtimeContext.Operator);

                if (runtimeContext.AutoCalculate)
                {
                    process.GenerateCandidatesFromResources();
                }
            }
        }
        private CommandStateBase Controller_PrepareCommandState(IWfProcess process)
        {
            TemplateCommandState state = null;

            //从流程上下文中获取数据。在这里通过流程上下文保存表单数据,省去了单独建表存储的工作
            string appData = (string)process.RootProcess.Context["appData"];

            if (appData.IsNullOrEmpty())
            {
                TemplateData data = new TemplateData();
                data.ID = process.ResourceID;

                data.CostCenter         = "1001";
                data.AdministrativeUnit = "Group";

                state = new TemplateCommandState()
                {
                    Data = data
                };

                process.ApplicationRuntimeParameters["approval1"]          = OguUser.CreateWrapperObject(OguMechanismFactory.GetMechanism().GetObjects <IUser>(SearchOUIDType.LogOnName, "fanhy").FirstOrDefault());
                process.ApplicationRuntimeParameters["Amount"]             = data.Amount;
                process.ApplicationRuntimeParameters["CostCenter"]         = data.CostCenter;
                process.ApplicationRuntimeParameters["AdministrativeUnit"] = data.AdministrativeUnit;
                process.ApplicationRuntimeParameters["TempApprover"]       =
                    (IUser)OguUser.CreateWrapperObject(OguMechanismFactory.GetMechanism().GetObjects <IUser>(SearchOUIDType.LogOnName, "fanhy").First());

                process.GenerateCandidatesFromResources();
            }
            else
            {
                state             = (TemplateCommandState)SerializationHelper.DeserializeStringToObject(appData, SerializationFormatterType.Binary);
                state.Data.Loaded = true;
            }

            return(state);
        }
Beispiel #5
0
        private CommandStateBase Controller_PrepareCommandState(IWfProcess process)
        {
            TemplateCommandState state = null;

            //从流程上下文中获取数据。在这里通过流程上下文保存表单数据,省去了单独建表存储的工作
            string appData = (string)process.RootProcess.Context["appData"];

            if (appData.IsNullOrEmpty())
            {
                TemplateData data = new TemplateData();
                data.ID = process.ResourceID;

                data.CostCenter         = "1001";
                data.AdministrativeUnit = "Group";

                state = new TemplateCommandState()
                {
                    Data = data
                };

                process.ApplicationRuntimeParameters["IndustrialParkCode"] = "04";

                process.ApplicationRuntimeParameters["Amount"]             = data.Amount;
                process.ApplicationRuntimeParameters["CostCenter"]         = data.CostCenter;
                process.ApplicationRuntimeParameters["AdministrativeUnit"] = data.AdministrativeUnit;

                process.GenerateCandidatesFromResources();
            }
            else
            {
                state             = (TemplateCommandState)SerializationHelper.DeserializeStringToObject(appData, SerializationFormatterType.Binary);
                state.Data.Loaded = true;
            }

            return(state);
        }
        /// <summary>
        /// 将runtimeContext的数据合并到流程上下文中
        /// </summary>
        /// <param name="process"></param>
        /// <param name="runtimeContext"></param>
        private static void MeregeRuntimeContext(IWfProcess process, WfClientRuntimeContext runtimeContext)
        {
            if (runtimeContext != null)
            {
                WfClientDictionaryConverter.Instance.ClientToServer(runtimeContext.ApplicationRuntimeParameters, process.ApplicationRuntimeParameters);
                WfClientDictionaryConverter.Instance.ClientToServer(runtimeContext.ProcessContext, process.Context);
                WfClientProcessInfoBaseConverter.Instance.FillOpinionInfoByProcessByActivity(runtimeContext.Opinion, process.CurrentActivity, runtimeContext.Operator, runtimeContext.Operator);

                if (runtimeContext.AutoCalculate)
                    process.GenerateCandidatesFromResources();
            }
        }