using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
namespace DingTalk.Api.Request
{
///
/// TOP API: dingtalk.oapi.workrecord.add
///
public class OapiWorkrecordAddRequest : BaseDingTalkRequest
{
///
/// 外部业务id,建议带上业务方来源字段,防止与其他业务方冲突
///
public string BizId { get; set; }
///
/// 待办时间。Unix时间戳
///
public Nullable CreateTime { get; set; }
///
/// 表单列表
///
public string FormItemList { get; set; }
public List FormItemList_ { set { this.FormItemList = TopUtils.ObjectToJson(value); } }
///
/// 发起人id
///
public string OriginatorUserId { get; set; }
///
/// pc端跳转url,不传则使用url参数
///
public string PcUrl { get; set; }
///
/// 待办的pc打开方式。2表示在pc端打开,4表示在浏览器打开
///
public Nullable PcOpenType { get; set; }
///
/// 待办来源名称
///
public string SourceName { get; set; }
///
/// 标题
///
public string Title { get; set; }
///
/// 待办跳转url
///
public string Url { get; set; }
///
/// 用户id
///
public string Userid { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.workrecord.add";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("biz_id", this.BizId);
parameters.Add("create_time", this.CreateTime);
parameters.Add("formItemList", this.FormItemList);
parameters.Add("originator_user_id", this.OriginatorUserId);
parameters.Add("pcUrl", this.PcUrl);
parameters.Add("pc_open_type", this.PcOpenType);
parameters.Add("source_name", this.SourceName);
parameters.Add("title", this.Title);
parameters.Add("url", this.Url);
parameters.Add("userid", this.Userid);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("create_time", this.CreateTime);
RequestValidator.ValidateRequired("formItemList", this.FormItemList);
RequestValidator.ValidateObjectMaxListSize("formItemList", this.FormItemList, 20);
RequestValidator.ValidateRequired("title", this.Title);
RequestValidator.ValidateRequired("url", this.Url);
RequestValidator.ValidateRequired("userid", this.Userid);
}
///
/// FormItemVoDomain Data Structure.
///
[Serializable]
public class FormItemVoDomain : TopObject
{
///
/// 内容
///
[XmlElement("content")]
public string Content { get; set; }
///
/// 标题
///
[XmlElement("title")]
public string Title { get; set; }
}
#endregion
}
}