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.attendance.group.schedule.async /// public class OapiAttendanceGroupScheduleAsyncRequest : BaseDingTalkRequest { /// /// 考勤组id /// public Nullable GroupId { get; set; } /// /// 操作者userId /// public string OpUserId { get; set; } /// /// 系统自动生成 /// public string Schedules { get; set; } public List Schedules_ { set { this.Schedules = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.attendance.group.schedule.async"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("group_id", this.GroupId); parameters.Add("op_user_id", this.OpUserId); parameters.Add("schedules", this.Schedules); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("group_id", this.GroupId); RequestValidator.ValidateRequired("op_user_id", this.OpUserId); RequestValidator.ValidateObjectMaxListSize("schedules", this.Schedules, 201); } /// /// TopScheduleParamDomain Data Structure. /// [Serializable] public class TopScheduleParamDomain : TopObject { /// /// 是否休息(true表示休息,shift_id传1) /// [XmlElement("is_rest")] public Nullable IsRest { get; set; } /// /// 班次id(休息班传1,清空班次传-2) /// [XmlElement("shift_id")] public Nullable ShiftId { get; set; } /// /// 人员userId /// [XmlElement("userid")] public string Userid { get; set; } /// /// 排班日期 /// [XmlElement("work_date")] public Nullable WorkDate { get; set; } } #endregion } }