public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();
			WeChatBaseResponse data = (WeChatBaseResponse)obj;

			dictionary.AddNonDefaultValue("ret", data.Ret);
			dictionary.AddNonDefaultValue("err_msg", data.ErrMsg);

			return dictionary;
		}
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			EnumItemPropertyDescription desp = (EnumItemPropertyDescription)obj;

			Dictionary<string, object> dictionary = new Dictionary<string, object>();

			dictionary.AddNonDefaultValue("value", desp.Value);
			dictionary.AddNonDefaultValue("text", desp.Text);

			return dictionary;
		}
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientApplication application = (WfClientApplication)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("codeName", application.CodeName);
            dictionary.AddNonDefaultValue("name", application.Name);
            dictionary.AddNonDefaultValue("sort", application.Sort);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            SOARolePropertyRow row = (SOARolePropertyRow)obj;

            dictionary.AddNonDefaultValue("rowNumber", row.RowNumber);
            dictionary.AddNonDefaultValue("operatorType", row.OperatorType);
            dictionary.AddNonDefaultValue("operator", row.Operator);

            dictionary["values"] = JSONSerializerExecute.Serialize(row.Values);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            WfClientTransferParams transferParams = (WfClientTransferParams)obj;

            dictionary.AddNonDefaultValue("nextActivityDescriptorKey", transferParams.NextActivityDescriptorKey);
            dictionary.AddNonDefaultValue("fromTransitionDescriptorKey", transferParams.FromTransitionDescriptorKey);
            dictionary["operator"] = transferParams.Operator;

            dictionary["branchTransferParams"] = transferParams.BranchTransferParams;
            dictionary["assignees"] = transferParams.Assignees;

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientKeyedDescriptorBase desp = (WfClientKeyedDescriptorBase)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("key", desp.Key);
            dictionary.AddNonDefaultValue("name", desp.Name);

            DictionaryHelper.AddNonDefaultValue<string, object>(dictionary, "description", desp.Description);
            DictionaryHelper.AddNonDefaultValue<string, object>(dictionary, "enabled", desp.Enabled);

            dictionary.Add("properties", desp.Properties);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            WfClientBranchProcessStartupParams startupParams = (WfClientBranchProcessStartupParams)obj;

            dictionary.AddNonDefaultValue("defaultTaskTitle", startupParams.DefaultTaskTitle);
            dictionary.AddNonDefaultValue("resourceID", startupParams.ResourceID);

            dictionary.AddNonDefaultValue("department", startupParams.Department);

            dictionary["assignees"] = startupParams.Assignees;
            dictionary["applicationRuntimeParameters"] = startupParams.ApplicationRuntimeParameters;
            dictionary["relativeParams"] = NameValueCollectionToDictionary(startupParams.RelativeParams);
            dictionary["startupContext"] = startupParams.StartupContext;

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            System.IO.Stream stream = (System.IO.Stream)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();
            byte[] buffer = stream.ToBytes();
            dictionary.AddNonDefaultValue("__stream", Convert.ToBase64String(buffer));

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            WfClientRuntimeContext context = (WfClientRuntimeContext)obj;

            dictionary.AddNonDefaultValue("autoCalculate", context.AutoCalculate);
            dictionary["taskTitle"] = context.TaskTitle;
            dictionary["notifyTitle"] = context.NotifyTitle;
            dictionary["operator"] = context.Operator;
            dictionary["autoPersist"] = context.AutoPersist;
            dictionary["applicationRuntimeParameters"] = context.ApplicationRuntimeParameters;
            dictionary["processContext"] = context.ProcessContext;
            dictionary["updateTag"] = context.UpdateTag;

            dictionary.AddNonDefaultValue("opinion", context.Opinion);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            VoucherItemCollection data = (VoucherItemCollection)obj;

            dictionary.AddNonDefaultValue("collectioName", data.CollectioName);
            dictionary["items"] = data.ToArray();

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            VoucherEntity data = (VoucherEntity)obj;

            dictionary.AddNonDefaultValue("name", data.Name);
            dictionary["items"] = data.Items;

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientDelegation opinion = (WfClientDelegation)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("sourceUserID", opinion.SourceUserID);
            dictionary.AddNonDefaultValue("sourceUserName", opinion.SourceUserName);
            dictionary.AddNonDefaultValue("destinationUserID", opinion.DestinationUserID);
            dictionary.AddNonDefaultValue("destinationUserName", opinion.DestinationUserName);
            dictionary.AddNonDefaultValue("startTime", opinion.StartTime);
            dictionary.AddNonDefaultValue("endTime", opinion.EndTime);
            dictionary.AddNonDefaultValue("enabled", opinion.Enabled);

            dictionary.AddNonDefaultValue("applicationName", opinion.ApplicationName);
            dictionary.AddNonDefaultValue("programName", opinion.ProgramName);
            dictionary.AddNonDefaultValue("tenantCode", opinion.TenantCode);

            return dictionary;
        }
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();
			WeChatAppMessage data = (WeChatAppMessage)obj;

			dictionary.AddNonDefaultValue("app_id", data.AppMessageID);
			dictionary.AddNonDefaultValue("file_id", data.FileID);
			dictionary.AddNonDefaultValue("title", data.Title);
			dictionary.AddNonDefaultValue("digest", data.Digest);
			dictionary.AddNonDefaultValue("author", data.Author);
			dictionary.AddNonDefaultValue("content_url", data.ContentUrl);
			dictionary.AddNonDefaultValue("img_url", data.ImageUrl);
			dictionary.AddNonDefaultValue("create_time", data.CreateTime.ToJavascriptDateNumber() / 1000);
			dictionary.AddNonDefaultValue("show_cover_pic", data.ShowCover ? 1 : 0);

			return dictionary;
		}
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientMainStreamActivityDescriptor clientMSActDesp = (WfClientMainStreamActivityDescriptor)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("activityInstanceID", clientMSActDesp.ActivityInstanceID);
            dictionary.AddNonDefaultValue("level", clientMSActDesp.Level);
            dictionary.AddNonDefaultValue("elapsed", clientMSActDesp.Elapsed);
            dictionary.AddNonDefaultValue("activity", clientMSActDesp.Activity);
            dictionary.AddNonDefaultValue("branchProcessGroupsCount", clientMSActDesp.BranchProcessGroupsCount);
            dictionary["status"] = clientMSActDesp.Status;
            dictionary["operator"] = clientMSActDesp.Operator;

            dictionary.Add("fromTransitionDescriptor", clientMSActDesp.FromTransitionDescriptor);
            dictionary.Add("toTransitionDescriptor", clientMSActDesp.ToTransitionDescriptor);
            dictionary.Add("assignees", clientMSActDesp.Assignees);
            dictionary.Add("associatedActivities", clientMSActDesp.AssociatedActivities);

            return dictionary;
        }
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			WfBranchProcessStartupParams data = (WfBranchProcessStartupParams)obj;

			IDictionary<string, object> dictionary = new Dictionary<string, object>();

			dictionary.AddNonDefaultValue("ResourceID", data.ResourceID);
			dictionary.AddNonDefaultValue("DefaultTaskTitle", data.DefaultTaskTitle);
			dictionary["Assignees"] = data.Assignees;
			dictionary["Department"] = data.Department;
			dictionary["ApplicationRuntimeParameters"] = data.ApplicationRuntimeParameters;

			Dictionary<string, string> relativeParams = new Dictionary<string, string>();

			foreach (string key in data.RelativeParams)
				relativeParams[key] = data.RelativeParams[key];

			dictionary["RelativeParams"] = relativeParams;
			dictionary["StartupContext"] = data.StartupContext;

			return dictionary;
		}
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();
			WeChatFriend data = (WeChatFriend)obj;

			dictionary.AddNonDefaultValue("id", data.FakeID);
			dictionary.AddNonDefaultValue("nick_name", data.NickName);
			dictionary.AddNonDefaultValue("remark_name", data.RemarkName);
			dictionary.AddNonDefaultValue("group_id", data.GroupID);
			dictionary.AddNonDefaultValue("openID", data.OpenID);
			dictionary.AddNonDefaultValue("accountID", data.AccountID);
			dictionary.AddNonDefaultValue("createTime", data.CreateTime);
			dictionary.AddNonDefaultValue("updateTime", data.UpdateTime);

			return dictionary;
		}
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientActivity activity = (WfClientActivity)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("id", activity.ID);
            dictionary.AddNonDefaultValue("descriptorKey", activity.DescriptorKey);
            dictionary.AddNonDefaultValue("startTime", activity.StartTime);
            dictionary.AddNonDefaultValue("endTime", activity.EndTime);
            dictionary.AddNonDefaultValue("loadingType", activity.LoadingType);
            dictionary.AddNonDefaultValue("mainStreamActivityKey", activity.MainStreamActivityKey);
            dictionary.AddNonDefaultValue("operator", activity.Operator);
            dictionary.AddNonDefaultValue("status", activity.Status);
            dictionary.Add("assignees", activity.Assignees);
            dictionary.Add("candidates", activity.Candidates);
            dictionary.Add("branchProcessReturnValue", activity.BranchProcessReturnValue);
            dictionary.Add("branchProcessGroupsCount", activity.BranchProcessGroupsCount);
            dictionary.AddNonDefaultValue("descriptor", activity.Descriptor);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientAuthorizationInfo auInfo = (WfClientAuthorizationInfo)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("originalActivityID", auInfo.OriginalActivityID);
            dictionary.AddNonDefaultValue("userID", auInfo.UserID);
            dictionary.AddNonDefaultValue("isProcessAdmin", auInfo.IsProcessAdmin);
            dictionary.AddNonDefaultValue("isProcessViewer", auInfo.IsProcessViewer);
            dictionary.AddNonDefaultValue("inMoveToMode", auInfo.InMoveToMode);
            dictionary.AddNonDefaultValue("inMoveToStatus", auInfo.InMoveToStatus);
            dictionary.AddNonDefaultValue("isInAcl", auInfo.IsInAcl);

            return dictionary;
        }
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();
			WeChatGroup data = (WeChatGroup)obj;

			dictionary.AddNonDefaultValue("accountID", data.AccountID);
			dictionary.AddNonDefaultValue("id", data.GroupID);
			dictionary.AddNonDefaultValue("name", data.Name);
			dictionary.AddNonDefaultValue("cnt", data.Count);
			dictionary.AddNonDefaultValue("createTime", data.CreateTime);
			dictionary.AddNonDefaultValue("updateTime", data.UpdateTime);

			return dictionary;
		}
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();

			SchemaObjectBase data = (SchemaObjectBase)obj;

			dictionary.AddNonDefaultValue("id", data.ID);
			dictionary.AddNonDefaultValue("name", data.Properties.GetValue("Name", string.Empty));
			dictionary.AddNonDefaultValue("codeName", data.Properties.GetValue("CodeName", string.Empty));
			dictionary.AddNonDefaultValue("displayName", data.Properties.GetValue("DisplayName", string.Empty));
			dictionary.AddNonDefaultValue("description", data.Properties.GetValue("Description", string.Empty));
			dictionary.AddNonDefaultValue("schemaType", data.SchemaType);

			return dictionary;
		}
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientProcessDescriptorInfo processInfo = (WfClientProcessDescriptorInfo)obj;
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("processKey", processInfo.ProcessKey);
            dictionary.AddNonDefaultValue("processName", processInfo.ProcessName);
            dictionary.AddNonDefaultValue("applicationName", processInfo.ApplicationName);
            dictionary.AddNonDefaultValue("programName", processInfo.ProgramName);

  
            dictionary.AddNonDefaultValue("data", processInfo.Data);
            dictionary.AddNonDefaultValue("enabled", processInfo.Enabled);

            dictionary.AddNonDefaultValue("createTime", processInfo.CreateTime);
            dictionary.AddNonDefaultValue("modifyTime", processInfo.ModifyTime);
            dictionary.AddNonDefaultValue("importTime", processInfo.ImportTime);

            dictionary.AddNonDefaultValue("creator", processInfo.Creator);
            dictionary.AddNonDefaultValue("modifier", processInfo.Modifier);
            dictionary.AddNonDefaultValue("importUser", processInfo.ImportUser); 

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            WfClientProcessStartupParams startupParams = (WfClientProcessStartupParams)obj;

            dictionary.AddNonDefaultValue("autoStartInitialActivity", startupParams.AutoStartInitialActivity);
            dictionary.AddNonDefaultValue("autoCommit", startupParams.AutoCommit);
            dictionary.AddNonDefaultValue("checkStartProcessUserPermission", startupParams.CheckStartProcessUserPermission);
            dictionary.AddNonDefaultValue("defaultTaskTitle", startupParams.DefaultTaskTitle);
            dictionary.AddNonDefaultValue("defaultUrl", startupParams.DefaultUrl);
            dictionary.AddNonDefaultValue("processDescriptorKey", startupParams.ProcessDescriptorKey);
            dictionary.AddNonDefaultValue("relativeID", startupParams.RelativeID);
            dictionary.AddNonDefaultValue("relativeURL", startupParams.RelativeURL);
            dictionary.AddNonDefaultValue("resourceID", startupParams.ResourceID);
            dictionary.AddNonDefaultValue("runtimeProcessName", startupParams.RuntimeProcessName);

            dictionary.AddNonDefaultValue("creator", startupParams.Creator);
            dictionary.AddNonDefaultValue("department", startupParams.Department);
            dictionary.AddNonDefaultValue("autoPersist", startupParams.AutoPersist);

            dictionary["assignees"] = startupParams.Assignees;
            dictionary["applicationRuntimeParameters"] = startupParams.ApplicationRuntimeParameters;
            dictionary["processContext"] = startupParams.ProcessContext;

            dictionary.AddNonDefaultValue("opinion", startupParams.Opinion);

            return dictionary;
        }
 public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
 {
     DocumentProperty docProp = (DocumentProperty)obj;
     Dictionary<string, object> dictionary = new Dictionary<string, object>();
     
     dictionary.AddNonDefaultValue("InitialData", docProp.InitialData);
     dictionary.AddNonDefaultValue("Id", docProp.Id);
     dictionary.AddNonDefaultValue("DocumentImages", new DocumentImageList());
     //dictionary.AddNonDefaultValue("DocImageProps", docProp.DocImageProps);
     return dictionary;
 }
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			UEditorConfigWrapper config = (UEditorConfigWrapper)obj;
			Dictionary<string, object> dictionary = new Dictionary<string, object>();

			dictionary.AddNonDefaultValue("imagePath", config.ImagePath);
			dictionary.AddNonDefaultValue("compressSide", config.CompressSide);
			dictionary.AddNonDefaultValue("maxImageSideLength", config.MaxImageSideLength);
			dictionary.AddNonDefaultValue("relativePath", config.RelativePath);
			dictionary.AddNonDefaultValue("catcherUrl", config.CatcherUrl);

			dictionary.AddNonDefaultValue("UEDITOR_HOME_URL", config.UEDITOR_HOME_URL);
			dictionary.AddNonDefaultValue("toolbars", new object[] { config.Toolbars });
			dictionary.AddNonDefaultValue("initialContent", config.InitialContent);
			dictionary.AddNonDefaultValue("autoClearinitialContent", config.AutoClearInitialContent);

			dictionary.AddNonDefaultValue("pasteplain", config.PastePlain);
			dictionary.AddNonDefaultValue("textarea", config.TextArea);

			dictionary.AddNonDefaultValue("autoHeightEnabled", config.AutoHeightEnabled);
			dictionary.AddNonDefaultValue("elementPathEnabled", config.ElementPathEnabled);
			dictionary.AddNonDefaultValue("wordCount", config.WordCount);
			dictionary.AddNonDefaultValue("maximumWords", config.MaximumWords);

			dictionary.AddNonDefaultValue("highlightJsUrl", config.HighlightJsUrl);
			dictionary.AddNonDefaultValue("highlightCssUrl", config.HighlightCssUrl);

			return dictionary;
		}
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			Dictionary<string, object> dictionary = new Dictionary<string, object>();
			WeChatRecentMessage data = (WeChatRecentMessage)obj;

			dictionary.AddNonDefaultValue("accountID", data.AccountID);
			dictionary.AddNonDefaultValue("id", data.MessageID);
			dictionary.AddNonDefaultValue("type", data.MessageType);
			dictionary.AddNonDefaultValue("fakeid", data.FakeID);
			dictionary.AddNonDefaultValue("nick_name", data.NickName);
			dictionary.AddNonDefaultValue("date_time", data.SentTime.ToJavascriptDateNumber() / 1000);
			dictionary.AddNonDefaultValue("content", data.Content);
			dictionary.AddNonDefaultValue("source", data.Source);
			dictionary.AddNonDefaultValue("msg_status", data.MessageStatus);
			dictionary.AddNonDefaultValue("has_reply", data.HasReply);
			dictionary.AddNonDefaultValue("refuse_reason", data.RefuseReason);
			dictionary.AddNonDefaultValue("to_uin", data.ToFakeID);

			return dictionary;
		}
		public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
		{
			WfClientOpinion opinion = (WfClientOpinion)obj;

			Dictionary<string, object> dictionary = new Dictionary<string, object>();

			dictionary.AddNonDefaultValue("id", opinion.ID);
			dictionary.AddNonDefaultValue("resourceID", opinion.ResourceID);
			dictionary.AddNonDefaultValue("activityID", opinion.ActivityID);
			dictionary.AddNonDefaultValue("processID", opinion.ProcessID);
			dictionary.AddNonDefaultValue("content", opinion.Content);
			dictionary.AddNonDefaultValue("opinionType", opinion.OpinionType);
			dictionary.AddNonDefaultValue("levelName", opinion.LevelName);
			dictionary.AddNonDefaultValue("levelDesp", opinion.LevelDesp);
			dictionary.AddNonDefaultValue("issueTime", opinion.IssueTime);
			dictionary.AddNonDefaultValue("appendTime", opinion.AppendTime);
			dictionary.AddNonDefaultValue("issuePersonID", opinion.IssuePersonID);
			dictionary.AddNonDefaultValue("issuePersonName", opinion.IssuePersonName);
			dictionary.AddNonDefaultValue("appendPersonID", opinion.AppendPersonID);
			dictionary.AddNonDefaultValue("appendPersonName", opinion.AppendPersonName);
			dictionary.AddNonDefaultValue("extraData", opinion.ExtraData);

			return dictionary;
		}
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientProcessInfoBase processInfo = (WfClientProcessInfoBase)obj;
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("id", processInfo.ID);
            dictionary.AddNonDefaultValue("processDescriptorKey", processInfo.ProcessDescriptorKey);
            dictionary.AddNonDefaultValue("currentActivityKey", processInfo.CurrentActivityKey);
            dictionary.AddNonDefaultValue("runtimeProcessName", processInfo.RuntimeProcessName);
            dictionary.AddNonDefaultValue("committed", processInfo.Committed);
            dictionary.AddNonDefaultValue("creator", processInfo.Creator);
            dictionary.AddNonDefaultValue("ownerDepartment", processInfo.OwnerDepartment);
            dictionary.AddNonDefaultValue("relativeID", processInfo.RelativeID);
            dictionary.AddNonDefaultValue("resourceID", processInfo.ResourceID);
            dictionary.AddNonDefaultValue("relativeUrl", processInfo.RelativeUrl);
            dictionary.AddNonDefaultValue("searchID", processInfo.SearchID);
            dictionary.AddNonDefaultValue("ownerActivityID", processInfo.OwnerActivityID);
            dictionary.AddNonDefaultValue("ownerTemplateKey", processInfo.OwnerTemplateKey);
            dictionary.AddNonDefaultValue("startTime", processInfo.StartTime);
            dictionary.AddNonDefaultValue("endTime", processInfo.EndTime);
            dictionary.AddNonDefaultValue("status", processInfo.Status);
            dictionary.AddNonDefaultValue("authorizationInfo", processInfo.AuthorizationInfo);
            dictionary.AddNonDefaultValue("processContext", processInfo.ProcessContext);
            dictionary.AddNonDefaultValue("applicationRuntimeParameters", processInfo.ApplicationRuntimeParameters);
            dictionary.AddNonDefaultValue("canWithdraw", processInfo.CanWithdraw);
            dictionary.AddNonDefaultValue("canCancel", processInfo.CanCancel);
            dictionary.AddNonDefaultValue("canPause", processInfo.CanPause);
            dictionary.AddNonDefaultValue("canResume", processInfo.CanResume);
            dictionary.AddNonDefaultValue("canRestore", processInfo.CanRestore);

            dictionary.AddNonDefaultValue("currentOpinion", processInfo.CurrentOpinion);
            dictionary.AddNonDefaultValue("mainStreamActivityDescriptors", processInfo.MainStreamActivityDescriptors);
            dictionary.AddNonDefaultValue("updateTag", processInfo.UpdateTag);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientProcessCurrentInfo processInfo = (WfClientProcessCurrentInfo)obj;
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("instanceID", processInfo.InstanceID);
            dictionary.AddNonDefaultValue("resourceID", processInfo.ResourceID);

            dictionary.AddNonDefaultValue("applicationName", processInfo.ApplicationName);
            dictionary.AddNonDefaultValue("programName", processInfo.ProgramName);
            dictionary.AddNonDefaultValue("processName", processInfo.ProcessName);
            dictionary.AddNonDefaultValue("descriptorKey", processInfo.DescriptorKey);
            dictionary.AddNonDefaultValue("ownerActivityID", processInfo.OwnerActivityID);
            dictionary.AddNonDefaultValue("ownerTemplateKey", processInfo.OwnerTemplateKey);
            dictionary.AddNonDefaultValue("currentActivityID", processInfo.CurrentActivityID);
            
            dictionary.AddNonDefaultValue("sequence", processInfo.Sequence);
            dictionary.AddNonDefaultValue("committed", processInfo.Committed);
            dictionary.AddNonDefaultValue("createTime", processInfo.CreateTime);
            dictionary.AddNonDefaultValue("startTime", processInfo.StartTime);
            dictionary.AddNonDefaultValue("endTime", processInfo.EndTime);

            dictionary.AddNonDefaultValue("creator", processInfo.Creator);
            dictionary.AddNonDefaultValue("department", processInfo.Department);
            dictionary.AddNonDefaultValue("status", processInfo.Status);
            dictionary.AddNonDefaultValue("updateTag", processInfo.UpdateTag);

            return dictionary;
        }
        public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            WfClientUserOperationLog log = (WfClientUserOperationLog)obj;

            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            dictionary.AddNonDefaultValue("id", log.ID);

            dictionary.AddNonDefaultValue("resourceID", log.ResourceID);
            dictionary.AddNonDefaultValue("processID", log.ProcessID);
            dictionary.AddNonDefaultValue("activityID", log.ActivityID);
            dictionary.AddNonDefaultValue("activityName", log.ActivityName);

            dictionary.AddNonDefaultValue("subject", log.Subject);

            dictionary.AddNonDefaultValue("applicationName", log.ApplicationName);
            dictionary.AddNonDefaultValue("programName", log.ProgramName);

            dictionary.AddNonDefaultValue("operationName", log.OperationName);
            dictionary.AddNonDefaultValue("operationDescription", log.OperationDescription);
            dictionary.AddNonDefaultValue("operationType", log.OperationType);
            dictionary.AddNonDefaultValue("operationDateTime", log.OperationDateTime);

            dictionary.AddNonDefaultValue("correlationID", log.CorrelationID);
            dictionary.AddNonDefaultValue("httpContextString", log.HttpContextString);

            dictionary["operator"] = log.Operator;
            dictionary["realUser"] = log.RealUser;
            dictionary["topDepartment"] = log.TopDepartment;

            return dictionary;
        }