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.school.init /// public class OapiEduSchoolInitRequest : BaseDingTalkRequest { /// /// 校区 /// public string Campus { get; set; } public OpenCampusDomain Campus_ { set { this.Campus = TopUtils.ObjectToJson(value); } } /// /// 钉钉企业通讯录管理员 /// public string Operator { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.edu.school.init"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("campus", this.Campus); parameters.Add("operator", this.Operator); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("campus", this.Campus); RequestValidator.ValidateRequired("operator", this.Operator); } /// /// OpenGradeDomain Data Structure. /// [Serializable] public class OpenGradeDomain : TopObject { /// /// [0,无限)其下的班级数。尽量不要超过100个,否则页面性能有问题 /// [XmlElement("classes")] public Nullable Classes { get; set; } /// /// 年级level /// [XmlElement("grade")] public string Grade { get; set; } /// /// 年级名,与grade start_year需要对应 /// [XmlElement("name")] public string Name { get; set; } /// /// 入学年份。请注意startyear name grade三者之间的关联关系 /// [XmlElement("start_year")] public string StartYear { get; set; } } /// /// OpenPeriodDomain Data Structure. /// [Serializable] public class OpenPeriodDomain : TopObject { /// /// 年级列表 /// [XmlArray("grades")] [XmlArrayItem("open_grade")] public List Grades { get; set; } /// /// number: 初中按照1,2,3年级命名。默认。 text: 初中按照6,7,8,9年级命名 /// [XmlElement("name_mode")] public string NameMode { get; set; } /// /// 学段code。幼儿园:kindergarten 小学:primary_school 初中: middle_school 高中: high_school /// [XmlElement("period_code")] public string PeriodCode { get; set; } /// /// 学段名;幼儿园:kindergarten 小学:primary_school 初中: middle_school 高中: high_school /// [XmlElement("step")] public string Step { get; set; } } /// /// OpenCampusDomain Data Structure. /// [Serializable] public class OpenCampusDomain : TopObject { /// /// 校区名 /// [XmlElement("name")] public string Name { get; set; } /// /// 学段列表 /// [XmlArray("periods")] [XmlArrayItem("open_period")] public List Periods { get; set; } } #endregion } }