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