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.edu.course.create
///
public class OapiEduCourseCreateRequest : BaseDingTalkRequest
{
///
/// 业务唯一键,用于保证课程的唯一性,防止重复创建
///
public string BizKey { get; set; }
///
/// 课程的结束时间,Unix毫秒时间戳
///
public Nullable EndTime { get; set; }
///
/// 课程介绍
///
public string Introduce { get; set; }
///
/// 课程名称
///
public string Name { get; set; }
///
/// 当前用户ID
///
public string OpUserid { get; set; }
///
/// 课程选项信息
///
public string Option { get; set; }
public CreateCourseOptionDomain Option_ { set { this.Option = TopUtils.ObjectToJson(value); } }
///
/// 课程的开始时间,Unix毫秒时间戳
///
public Nullable StartTime { get; set; }
///
/// 老师的组织CorpId
///
public string TeacherCorpid { get; set; }
///
/// 老师的用户ID
///
public string TeacherUserid { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.edu.course.create";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("biz_key", this.BizKey);
parameters.Add("end_time", this.EndTime);
parameters.Add("introduce", this.Introduce);
parameters.Add("name", this.Name);
parameters.Add("op_userid", this.OpUserid);
parameters.Add("option", this.Option);
parameters.Add("start_time", this.StartTime);
parameters.Add("teacher_corpid", this.TeacherCorpid);
parameters.Add("teacher_userid", this.TeacherUserid);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("biz_key", this.BizKey);
RequestValidator.ValidateMaxLength("biz_key", this.BizKey, 64);
RequestValidator.ValidateRequired("introduce", this.Introduce);
RequestValidator.ValidateMaxLength("introduce", this.Introduce, 120);
RequestValidator.ValidateRequired("name", this.Name);
RequestValidator.ValidateMaxLength("name", this.Name, 64);
RequestValidator.ValidateRequired("op_userid", this.OpUserid);
RequestValidator.ValidateRequired("teacher_corpid", this.TeacherCorpid);
RequestValidator.ValidateRequired("teacher_userid", this.TeacherUserid);
}
///
/// CreateCourseOptionDomain Data Structure.
///
[Serializable]
public class CreateCourseOptionDomain : TopObject
{
///
/// 课堂模式:1/6/12(支持多少人上台)
///
[XmlElement("onlineMode")]
public string OnlineMode { get; set; }
///
/// 使用的平台:1(在线课堂)、2(在线课堂Pro)
///
[XmlElement("platform")]
public string Platform { get; set; }
///
/// 是否录制老师头像
///
[XmlElement("recordAvatar")]
public Nullable RecordAvatar { get; set; }
}
#endregion
}
}