using System; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.attendance.approve.schedule.switch /// public class OapiAttendanceApproveScheduleSwitchRequest : BaseDingTalkRequest { /// /// 申请人换班日期当天的班次id /// public Nullable ApplyShiftId { get; set; } /// /// 申请换班人id,仅支持排班制考勤组用户 /// public string ApplyUserid { get; set; } /// /// 审批单唯一id /// public string ApproveId { get; set; } /// /// 申请人还班日期当天的班次id /// public Nullable RebackApplyShiftId { get; set; } /// /// 还班日期,当天必须有排班或排休,如果申请换班人和被换班人是同一个人,那么必须要有还班日期 /// public string RebackDate { get; set; } /// /// 被换班人还班日期当天的班次id /// public Nullable RebackTargetShiftId { get; set; } /// /// 申请换班日期,当天必须有排班或排休 /// public string SwitchDate { get; set; } /// /// 被换班人换班日期当天的班次id /// public Nullable TargetShiftId { get; set; } /// /// 被换班人id,仅支持排班制考勤组用户 /// public string TargetUserid { get; set; } /// /// 发起人的user_id /// public string Userid { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.attendance.approve.schedule.switch"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("apply_shift_id", this.ApplyShiftId); parameters.Add("apply_userid", this.ApplyUserid); parameters.Add("approve_id", this.ApproveId); parameters.Add("reback_apply_shift_id", this.RebackApplyShiftId); parameters.Add("reback_date", this.RebackDate); parameters.Add("reback_target_shift_id", this.RebackTargetShiftId); parameters.Add("switch_date", this.SwitchDate); parameters.Add("target_shift_id", this.TargetShiftId); parameters.Add("target_userid", this.TargetUserid); parameters.Add("userid", this.Userid); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("apply_userid", this.ApplyUserid); RequestValidator.ValidateRequired("approve_id", this.ApproveId); RequestValidator.ValidateMaxLength("approve_id", this.ApproveId, 100); RequestValidator.ValidateRequired("switch_date", this.SwitchDate); RequestValidator.ValidateRequired("target_userid", this.TargetUserid); RequestValidator.ValidateRequired("userid", this.Userid); } #endregion } }