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.participant.add /// public class OapiEduCourseParticipantAddRequest : BaseDingTalkRequest { /// /// 课程编码 /// public string CourseCode { get; set; } /// /// 当前用户ID /// public string OpUserid { get; set; } /// /// 参与方选项信息 /// public string Option { get; set; } public CourseParticipantOptionDomain Option_ { set { this.Option = TopUtils.ObjectToJson(value); } } /// /// 参与方的组织CropId /// public string ParticipantCorpid { get; set; } /// /// 参与方ID。participant_type=1时,participant_id表示用户ID;participant_type=2时,participant_id表示部门ID;participant_type=3时,participant_id表示组织ID; /// public string ParticipantId { get; set; } /// /// 参与方类型。1:用户、2:部门(对应家校通讯录中的班级、年级。详情请参考https://ding-doc.dingtalk.com/doc#/serverapi3/gga05a/z3y0h)、3:组织 /// public Nullable ParticipantType { get; set; } /// /// 参与方角色。student:学生、guardian: 监护人、teacher:老师(注意:授课老师只支持通过课程创建和修改接口,进行添加和修改) /// public string Role { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.edu.course.participant.add"; } 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_userid", this.OpUserid); parameters.Add("option", this.Option); parameters.Add("participant_corpid", this.ParticipantCorpid); parameters.Add("participant_id", this.ParticipantId); parameters.Add("participant_type", this.ParticipantType); parameters.Add("role", this.Role); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("course_code", this.CourseCode); RequestValidator.ValidateRequired("op_userid", this.OpUserid); RequestValidator.ValidateRequired("participant_corpid", this.ParticipantCorpid); RequestValidator.ValidateRequired("participant_id", this.ParticipantId); RequestValidator.ValidateRequired("participant_type", this.ParticipantType); RequestValidator.ValidateRequired("role", this.Role); } /// /// CourseParticipantOptionDomain Data Structure. /// [Serializable] public class CourseParticipantOptionDomain : TopObject { /// /// 群类型:teacherStudentGroup(师生群)、officialClassGroup(家校群) /// [XmlElement("groupType")] public string GroupType { get; set; } } #endregion } }