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.start /// public class OapiEduCourseStartRequest : BaseDingTalkRequest { /// /// 需要开始的课程编码 /// public string CourseCode { get; set; } /// /// 操作用户id /// public string OpUserId { get; set; } /// /// 开始课程的可选属性设定 /// public string StartOption { get; set; } public StartOptionDomain StartOption_ { set { this.StartOption = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.edu.course.start"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("course_code", this.CourseCode); parameters.Add("op_user_id", this.OpUserId); parameters.Add("start_option", this.StartOption); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("course_code", this.CourseCode); RequestValidator.ValidateRequired("op_user_id", this.OpUserId); } /// /// StartOptionDomain Data Structure. /// [Serializable] public class StartOptionDomain : TopObject { /// /// 该课堂是否允许提前进入,时效最早为提前30分钟 /// [XmlElement("b_allow_join_in_advance")] public Nullable BAllowJoinInAdvance { get; set; } } #endregion } }