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.shift.add
///
public class OapiAttendanceShiftAddRequest : BaseDingTalkRequest
{
///
/// 操作人
///
public string OpUserId { get; set; }
///
/// 班次
///
public string Shift { get; set; }
public TopAtClassVoDomain Shift_ { set { this.Shift = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.attendance.shift.add";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("op_user_id", this.OpUserId);
parameters.Add("shift", this.Shift);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("op_user_id", this.OpUserId);
RequestValidator.ValidateRequired("shift", this.Shift);
}
///
/// TopAtTimeVoDomain Data Structure.
///
[Serializable]
public class TopAtTimeVoDomain : TopObject
{
///
/// 是否跨天
///
[XmlElement("across")]
public Nullable Across { get; set; }
///
/// 允许的最早提前打卡时间,分钟为单位
///
[XmlElement("begin_min")]
public Nullable BeginMin { get; set; }
///
/// check时间
///
[XmlElement("check_time")]
public Nullable CheckTime { get; set; }
///
/// 类型(OnDuty上班,OffDuty下班)
///
[XmlElement("check_type")]
public string CheckType { get; set; }
///
/// 允许的最玩打卡时间,分钟为单位(-1表示不限制)
///
[XmlElement("end_min")]
public Nullable EndMin { get; set; }
///
/// 当前卡点允许弹性调整范围
///
[XmlArray("flex_minutes")]
[XmlArrayItem("number")]
public List FlexMinutes { get; set; }
///
/// 是否免打卡
///
[XmlElement("free_check")]
public Nullable FreeCheck { get; set; }
}
///
/// TopAtSectionVoDomain Data Structure.
///
[Serializable]
public class TopAtSectionVoDomain : TopObject
{
///
/// times
///
[XmlArray("times")]
[XmlArrayItem("top_at_time_vo")]
public List Times { get; set; }
}
///
/// TopAtClassSettingVoDomain Data Structure.
///
[Serializable]
public class TopAtClassSettingVoDomain : TopObject
{
///
/// 旷工迟到分钟数
///
[XmlElement("absenteeism_late_minutes")]
public Nullable AbsenteeismLateMinutes { get; set; }
///
/// 该班次对应的出勤天数
///
[XmlElement("attend_days")]
public string AttendDays { get; set; }
///
/// 班次id
///
[XmlElement("class_id")]
public Nullable ClassId { get; set; }
///
/// corpId
///
[XmlElement("corp_id")]
public string CorpId { get; set; }
///
/// 固定时长弹性班次设置的工作时长
///
[XmlElement("demand_work_time_minutes")]
public Nullable DemandWorkTimeMinutes { get; set; }
///
/// 班次设置扩展字段(非临时班次无需填写)
///
[XmlElement("extras")]
public string Extras { get; set; }
///
/// 是否删除
///
[XmlElement("is_deleted")]
public string IsDeleted { get; set; }
///
/// 是否弹性
///
[XmlElement("is_flexible")]
public Nullable IsFlexible { get; set; }
///
/// 休息开始
///
[XmlElement("rest_begin_time")]
public TopAtTimeVoDomain RestBeginTime { get; set; }
///
/// 休息结束
///
[XmlElement("rest_end_time")]
public TopAtTimeVoDomain RestEndTime { get; set; }
///
/// 班次休息时段列表,[start1,end1,start2,end2]格式,最多支持3段
///
[XmlArray("rest_time_list")]
[XmlArrayItem("top_at_time_vo")]
public List RestTimeList { get; set; }
///
/// 严重迟到分钟数
///
[XmlElement("serious_late_minutes")]
public Nullable SeriousLateMinutes { get; set; }
///
/// 班次tags(非临时班次无需填写)
///
[XmlElement("tags")]
public string Tags { get; set; }
}
///
/// TopAtClassVoDomain Data Structure.
///
[Serializable]
public class TopAtClassVoDomain : TopObject
{
///
/// 班次组名
///
[XmlElement("class_group_name")]
public string ClassGroupName { get; set; }
///
/// corpId
///
[XmlElement("corp_id")]
public string CorpId { get; set; }
///
/// 班次id
///
[XmlElement("id")]
public Nullable Id { get; set; }
///
/// 班次名称
///
[XmlElement("name")]
public string Name { get; set; }
///
/// 班次owner
///
[XmlElement("owner")]
public string Owner { get; set; }
///
/// sections
///
[XmlArray("sections")]
[XmlArrayItem("top_at_section_vo")]
public List Sections { get; set; }
///
/// 高级排班绑定服务id(非临时班次无需填写)
///
[XmlElement("service_id")]
public Nullable ServiceId { get; set; }
///
/// 设置
///
[XmlElement("setting")]
public TopAtClassSettingVoDomain Setting { get; set; }
}
#endregion
}
}