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.workspace.task.migrate
///
public class OapiWorkspaceTaskMigrateRequest : BaseDingTalkRequest
{
///
/// 微应用agentId
///
public Nullable Agentid { get; set; }
///
/// 操作者id
///
public string OperatorUserid { get; set; }
///
/// 请求入参
///
public string Task { get; set; }
public TaskCreateDomain Task_ { set { this.Task = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.workspace.task.migrate";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("agentid", this.Agentid);
parameters.Add("operator_userid", this.OperatorUserid);
parameters.Add("task", this.Task);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("operator_userid", this.OperatorUserid);
RequestValidator.ValidateRequired("task", this.Task);
}
///
/// TaskSystemPropertyDomain Data Structure.
///
[Serializable]
public class TaskSystemPropertyDomain : TopObject
{
///
/// APP 跳转链接
///
[XmlElement("appUrl")]
public string AppUrl { get; set; }
///
/// PC 跳转链接
///
[XmlElement("webUrl")]
public string WebUrl { get; set; }
}
///
/// TaskExtensionDomain Data Structure.
///
[Serializable]
public class TaskExtensionDomain : TopObject
{
///
/// 评论数
///
[XmlElement("comment_count")]
public Nullable CommentCount { get; set; }
///
/// 附件地址
///
[XmlElement("file_path")]
public string FilePath { get; set; }
///
/// 用户可扩展的字段
///
[XmlElement("other")]
public string Other { get; set; }
///
/// 待办系统属性,主要包含接入方的详情页跳转链接
///
[XmlElement("systemProperty")]
public TaskSystemPropertyDomain SystemProperty { get; set; }
}
///
/// TaskCreateDomain Data Structure.
///
[Serializable]
public class TaskCreateDomain : TopObject
{
///
/// 任务所属项目(虚拟企业),基于项目空间的项目
///
[XmlElement("corp_id")]
public string CorpId { get; set; }
///
/// 创建者id, 传staffId(工号)
///
[XmlElement("creator_userid")]
public string CreatorUserid { get; set; }
///
/// 任务描述
///
[XmlElement("description")]
public string Description { get; set; }
///
/// 执行者id, 传staffId(工号)
///
[XmlElement("executor_userid")]
public string ExecutorUserid { get; set; }
///
/// 任务的扩展字段
///
[XmlElement("extension")]
public TaskExtensionDomain Extension { get; set; }
///
/// 任务实际完成时间
///
[XmlElement("finish_date")]
public Nullable FinishDate { get; set; }
///
/// 创建时间
///
[XmlElement("gmt_create")]
public Nullable GmtCreate { get; set; }
///
/// 修改时间
///
[XmlElement("gmt_modified")]
public Nullable GmtModified { get; set; }
///
/// 是否归档
///
[XmlElement("is_archived")]
public Nullable IsArchived { get; set; }
///
/// 是否放入回收站
///
[XmlElement("is_recycled")]
public Nullable IsRecycled { get; set; }
///
/// 更新者id, 传staffId(工号)
///
[XmlElement("modifier_userid")]
public string ModifierUserid { get; set; }
///
/// 父任务id
///
[XmlElement("parent_id")]
public string ParentId { get; set; }
///
/// 任务计划完成时间
///
[XmlElement("plan_finish_date")]
public Nullable PlanFinishDate { get; set; }
///
/// 任务计划开始时间
///
[XmlElement("plan_start_date")]
public Nullable PlanStartDate { get; set; }
///
/// 优先级, 较低:10, 普通:20, 紧急:30, 非常紧急:40
///
[XmlElement("priority")]
public Nullable Priority { get; set; }
///
/// 任务来源source
///
[XmlElement("source")]
public string Source { get; set; }
///
/// 此字段用于数据迁移的场景,表示任务在源系统中的唯一ID,ISV接入时必填,用于跳转至各自的任务详情页
///
[XmlElement("source_id")]
public string SourceId { get; set; }
///
/// 任务实际开始日期
///
[XmlElement("start_date")]
public Nullable StartDate { get; set; }
///
/// 状态id,工作流状态, 可以为空
///
[XmlElement("status_id")]
public Nullable StatusId { get; set; }
///
/// 状态阶段: 开始阶段(0),进行阶段(1),完成阶段(2)
///
[XmlElement("status_stage")]
public Nullable StatusStage { get; set; }
///
/// 任务标题
///
[XmlElement("subject")]
public string Subject { get; set; }
///
/// 任务类型分类:// 任务 TASK("task"), // 需求 REQ("req"), // 缺陷 BUG("bug"), // 风险 RISK("risk"), // 工作项 WORKITEM("workitem")
///
[XmlElement("task_type_category")]
public string TaskTypeCategory { get; set; }
///
/// 任务类型id,任务类型,可以不传
///
[XmlElement("task_type_id")]
public Nullable TaskTypeId { get; set; }
///
/// 任务参与者列表, 传staffId(工号)
///
[XmlArray("tracker_userids")]
[XmlArrayItem("string")]
public List TrackerUserids { get; set; }
}
#endregion
}
}