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