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.vacation.quota.update
///
public class OapiAttendanceVacationQuotaUpdateRequest : BaseDingTalkRequest
{
///
/// 待更新的假期余额记录
///
public string LeaveQuotas { get; set; }
public List LeaveQuotas_ { set { this.LeaveQuotas = TopUtils.ObjectToJson(value); } }
///
/// 操作者ID
///
public string OpUserid { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.attendance.vacation.quota.update";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("leave_quotas", this.LeaveQuotas);
parameters.Add("op_userid", this.OpUserid);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("leave_quotas", this.LeaveQuotas);
RequestValidator.ValidateObjectMaxListSize("leave_quotas", this.LeaveQuotas, 100);
RequestValidator.ValidateRequired("op_userid", this.OpUserid);
}
///
/// LeaveQuotasDomain Data Structure.
///
[Serializable]
public class LeaveQuotasDomain : TopObject
{
///
/// 额度有效期结束时间(毫秒级时间戳)
///
[XmlElement("end_time")]
public Nullable EndTime { get; set; }
///
/// 假期类型唯一标识
///
[XmlElement("leave_code")]
public string LeaveCode { get; set; }
///
/// 额度所对应的周期(除了假期类型为调休的时候可以为空之外 其他情况均不能为空 且格式必须满足"yyyy")
///
[XmlElement("quota_cycle")]
public string QuotaCycle { get; set; }
///
/// 单位以天计算的额度总数(假期类型按天计算该值不为空且按百分之一天折算 例如 100=1天)
///
[XmlElement("quota_num_per_day")]
public Nullable QuotaNumPerDay { get; set; }
///
/// 单位以小时计算的额度总数(假期类型按小时计算该值不为空且按百分之一小时折算 例如 100=1小时)
///
[XmlElement("quota_num_per_hour")]
public Nullable QuotaNumPerHour { get; set; }
///
/// 操作原因
///
[XmlElement("reason")]
public string Reason { get; set; }
///
/// 额度有效期开始时间(毫秒级时间戳)
///
[XmlElement("start_time")]
public Nullable StartTime { get; set; }
///
/// 员工ID
///
[XmlElement("userid")]
public string Userid { get; set; }
}
#endregion
}
}