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);
        }
Exemple #2
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);
        }