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 } }