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