Beispiel #1
0
        public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer)
        {
            WfClientProcessStartupParams startupParams = new WfClientProcessStartupParams();

            startupParams.AutoStartInitialActivity = dictionary.GetValue("autoStartInitialActivity", true);
            startupParams.AutoCommit = dictionary.GetValue("autoCommit", false);
            startupParams.CheckStartProcessUserPermission = dictionary.GetValue("checkStartProcessUserPermission", true);
            startupParams.DefaultTaskTitle     = dictionary.GetValue("defaultTaskTitle", string.Empty);
            startupParams.DefaultUrl           = dictionary.GetValue("defaultUrl", string.Empty);
            startupParams.ProcessDescriptorKey = dictionary.GetValue("processDescriptorKey", string.Empty);
            startupParams.RelativeID           = dictionary.GetValue("relativeID", string.Empty);
            startupParams.RelativeURL          = dictionary.GetValue("relativeURL", string.Empty);
            startupParams.ResourceID           = dictionary.GetValue("resourceID", string.Empty);
            startupParams.RuntimeProcessName   = dictionary.GetValue("runtimeProcessName", string.Empty);
            startupParams.AutoPersist          = dictionary.GetValue("autoPersist", true);

            startupParams.Creator    = JSONSerializerExecute.Deserialize <WfClientUser>(dictionary.GetValue("creator", (object)null));
            startupParams.Department = JSONSerializerExecute.Deserialize <WfClientOrganization>(dictionary.GetValue("department", (object)null));

            startupParams.Opinion = JSONSerializerExecute.Deserialize <WfClientOpinion>(dictionary.GetValue("opinion", (object)null));

            JSONSerializerExecute.FillDeserializedCollection(dictionary.GetValue("assignees", (object)null), startupParams.Assignees);
            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "applicationRuntimeParameters", startupParams.ApplicationRuntimeParameters);
            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "processContext", startupParams.ProcessContext);

            return(startupParams);
        }
Beispiel #2
0
        public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer)
        {
            WfClientRuntimeContext context = new WfClientRuntimeContext();

            context.AutoCalculate = dictionary.GetValue("autoCalculate", false);
            context.TaskTitle     = dictionary.GetValue("taskTitle", string.Empty);
            context.NotifyTitle   = dictionary.GetValue("notifyTitle", string.Empty);
            context.Operator      = JSONSerializerExecute.Deserialize <WfClientUser>(dictionary.GetValue("operator", (object)null));
            context.Opinion       = JSONSerializerExecute.Deserialize <WfClientOpinion>(dictionary.GetValue("opinion", (object)null));
            context.AutoPersist   = dictionary.GetValue("autoPersist", true);
            context.UpdateTag     = dictionary.GetValue("updateTag", -1);

            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "applicationRuntimeParameters", context.ApplicationRuntimeParameters);
            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "processContext", context.ProcessContext);

            return(context);
        }
Beispiel #3
0
        public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer)
        {
            WfClientProcessInfoBase processInfo = this.CreateInstance(dictionary, type, serializer);

            processInfo.ID = dictionary.GetValue("id", string.Empty);
            processInfo.ProcessDescriptorKey = dictionary.GetValue("processDescriptorKey", string.Empty);
            processInfo.CurrentActivityKey   = dictionary.GetValue("currentActivityKey", string.Empty);
            processInfo.RuntimeProcessName   = dictionary.GetValue("runtimeProcessName", string.Empty);
            processInfo.Committed            = dictionary.GetValue("committed", true);
            processInfo.ProcessDescriptorKey = dictionary.GetValue("processDescriptorKey", string.Empty);
            processInfo.Creator           = JSONSerializerExecute.Deserialize <WfClientUser>(dictionary.GetValue("creator", (object)null));
            processInfo.OwnerDepartment   = JSONSerializerExecute.Deserialize <WfClientOrganization>(dictionary.GetValue("ownerDepartment", (object)null));
            processInfo.RelativeID        = dictionary.GetValue("relativeID", string.Empty);
            processInfo.ResourceID        = dictionary.GetValue("resourceID", string.Empty);
            processInfo.RelativeUrl       = dictionary.GetValue("relativeUrl", string.Empty);
            processInfo.SearchID          = dictionary.GetValue("searchID", string.Empty);
            processInfo.OwnerActivityID   = dictionary.GetValue("ownerActivityID", string.Empty);
            processInfo.OwnerTemplateKey  = dictionary.GetValue("ownerTemplateKey", string.Empty);
            processInfo.StartTime         = dictionary.GetValue("startTime", DateTime.MinValue);
            processInfo.EndTime           = dictionary.GetValue("endTime", DateTime.MinValue);
            processInfo.Status            = dictionary.GetValue("status", WfClientProcessStatus.NotRunning);
            processInfo.AuthorizationInfo = dictionary.GetValue("authorizationInfo", processInfo.AuthorizationInfo);
            processInfo.CanWithdraw       = dictionary.GetValue("canWithdraw", false);
            processInfo.CanCancel         = dictionary.GetValue("canCancel", false);
            processInfo.CanPause          = dictionary.GetValue("canPause", false);
            processInfo.CanResume         = dictionary.GetValue("canResume", false);
            processInfo.CanRestore        = dictionary.GetValue("canRestore", false);
            processInfo.CurrentOpinion    = JSONSerializerExecute.Deserialize <WfClientOpinion>(dictionary.GetValue("currentOpinion", (object)null));
            processInfo.UpdateTag         = dictionary.GetValue("updateTag", -1);

            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "processContext", processInfo.ProcessContext);
            JSONSerializerExecute.FillDeserializedDictionary(dictionary, "applicationRuntimeParameters", processInfo.ApplicationRuntimeParameters);
            JSONSerializerExecute.FillDeserializedCollection(dictionary.GetValue("mainStreamActivityDescriptors", (object)null), processInfo.MainStreamActivityDescriptors);

            return(processInfo);
        }