| 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 | 
| { | 
|     /// <summary> | 
|     /// TOP API: dingtalk.oapi.attendance.group.add | 
|     /// </summary> | 
|     public class OapiAttendanceGroupAddRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiAttendanceGroupAddResponse> | 
|     { | 
|         /// <summary> | 
|         /// 操作人id | 
|         /// </summary> | 
|         public string OpUserId { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 考勤组信息 | 
|         /// </summary> | 
|         public string TopGroup { get; set; } | 
|   | 
|         public TopGroupVoDomain TopGroup_ { set { this.TopGroup = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         #region IDingTalkRequest Members | 
|   | 
|         public override string GetApiName() | 
|         { | 
|             return "dingtalk.oapi.attendance.group.add"; | 
|         } | 
|   | 
|         public override string GetApiCallType() | 
|         { | 
|             return DingTalkConstants.CALL_TYPE_OAPI; | 
|         } | 
|   | 
|         public override IDictionary<string, string> GetParameters() | 
|         { | 
|             TopDictionary parameters = new TopDictionary(); | 
|             parameters.Add("op_user_id", this.OpUserId); | 
|             parameters.Add("top_group", this.TopGroup); | 
|             if (this.otherParams != null) | 
|             { | 
|                 parameters.AddAll(this.otherParams); | 
|             } | 
|             return parameters; | 
|         } | 
|   | 
|         public override void Validate() | 
|         { | 
|             RequestValidator.ValidateRequired("op_user_id", this.OpUserId); | 
|             RequestValidator.ValidateRequired("top_group", this.TopGroup); | 
|         } | 
|   | 
|     /// <summary> | 
| /// TopPositionVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopPositionVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 精度 | 
|             /// </summary> | 
|             [XmlElement("accuracy")] | 
|             public string Accuracy { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 地址 | 
|             /// </summary> | 
|             [XmlElement("address")] | 
|             public string Address { get; set; } | 
|      | 
|             /// <summary> | 
|             /// corpId | 
|             /// </summary> | 
|             [XmlElement("corp_id")] | 
|             public string CorpId { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 纬度 | 
|             /// </summary> | 
|             [XmlElement("latitude")] | 
|             public string Latitude { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 经度 | 
|             /// </summary> | 
|             [XmlElement("longitude")] | 
|             public string Longitude { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 标题 | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopShiftVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopShiftVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 班次id | 
|             /// </summary> | 
|             [XmlElement("id")] | 
|             public Nullable<long> Id { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopMemberVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopMemberVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// corpId | 
|             /// </summary> | 
|             [XmlElement("corp_id")] | 
|             public string CorpId { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 角色 | 
|             /// </summary> | 
|             [XmlElement("role")] | 
|             public string Role { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 类型 | 
|             /// </summary> | 
|             [XmlElement("type")] | 
|             public string Type { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 用户id | 
|             /// </summary> | 
|             [XmlElement("user_id")] | 
|             public string UserId { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopGroupManageRolePermissionVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopGroupManageRolePermissionVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 设置拍照打卡规则 | 
|             /// </summary> | 
|             [XmlElement("camera_check")] | 
|             public string CameraCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置打卡方式 | 
|             /// </summary> | 
|             [XmlElement("check_position_type")] | 
|             public string CheckPositionType { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置考勤时间 | 
|             /// </summary> | 
|             [XmlElement("check_time")] | 
|             public string CheckTime { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置参与考勤人员 | 
|             /// </summary> | 
|             [XmlElement("group_member")] | 
|             public string GroupMember { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置考勤类型 | 
|             /// </summary> | 
|             [XmlElement("group_type")] | 
|             public string GroupType { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置外勤打卡 | 
|             /// </summary> | 
|             [XmlElement("out_side_check")] | 
|             public string OutSideCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 设置加班规则 | 
|             /// </summary> | 
|             [XmlElement("over_time_rule")] | 
|             public string OverTimeRule { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 员工排班 | 
|             /// </summary> | 
|             [XmlElement("schedule")] | 
|             public string Schedule { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopWifiVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopWifiVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 企业corpid | 
|             /// </summary> | 
|             [XmlElement("corp_id")] | 
|             public string CorpId { get; set; } | 
|      | 
|             /// <summary> | 
|             /// mac地址 | 
|             /// </summary> | 
|             [XmlElement("mac_addr")] | 
|             public string MacAddr { get; set; } | 
|      | 
|             /// <summary> | 
|             /// wifi的ssid | 
|             /// </summary> | 
|             [XmlElement("ssid")] | 
|             public string Ssid { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopAtBleDeviceVODomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopAtBleDeviceVODomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 设备id | 
|             /// </summary> | 
|             [XmlElement("device_id")] | 
|             public Nullable<long> DeviceId { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// TopGroupVoDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TopGroupVoDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 蓝牙打卡信息 | 
|             /// </summary> | 
|             [XmlArray("ble_device_list")] | 
|             [XmlArrayItem("top_at_ble_device_v_o")] | 
|             public List<TopAtBleDeviceVODomain> BleDeviceList { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 打卡是否需要健康码 | 
|             /// </summary> | 
|             [XmlElement("check_need_healthy_code")] | 
|             public Nullable<bool> CheckNeedHealthyCode { get; set; } | 
|      | 
|             /// <summary> | 
|             /// corpId | 
|             /// </summary> | 
|             [XmlElement("corp_id")] | 
|             public string CorpId { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 默认班次id(固定班制必填) | 
|             /// </summary> | 
|             [XmlElement("default_class_id")] | 
|             public Nullable<long> DefaultClassId { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 休息日打卡是否需审批。true:需要  false:不需要 | 
|             /// </summary> | 
|             [XmlElement("disable_check_when_rest")] | 
|             public Nullable<bool> DisableCheckWhenRest { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 未排班时是否禁止员工打卡 | 
|             /// </summary> | 
|             [XmlElement("disable_check_without_schedule")] | 
|             public Nullable<bool> DisableCheckWithoutSchedule { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否开启拍照打卡 | 
|             /// </summary> | 
|             [XmlElement("enable_camera_check")] | 
|             public Nullable<bool> EnableCameraCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 未排班时允许员工选择班次打卡 | 
|             /// </summary> | 
|             [XmlElement("enable_emp_select_class")] | 
|             public Nullable<bool> EnableEmpSelectClass { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否开启人脸检测 | 
|             /// </summary> | 
|             [XmlElement("enable_face_check")] | 
|             public Nullable<bool> EnableFaceCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否第二天生效 | 
|             /// </summary> | 
|             [XmlElement("enable_next_day")] | 
|             public Nullable<bool> EnableNextDay { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否开启外勤打卡必须拍照 | 
|             /// </summary> | 
|             [XmlElement("enable_outside_camera_check")] | 
|             public Nullable<bool> EnableOutsideCameraCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否可以外勤打卡 | 
|             /// </summary> | 
|             [XmlElement("enable_outside_check")] | 
|             public Nullable<bool> EnableOutsideCheck { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否启用蓝牙定位 | 
|             /// </summary> | 
|             [XmlElement("enable_position_ble")] | 
|             public Nullable<bool> EnablePositionBle { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 自由工时考勤组考勤开始时间与当天0点偏移分钟数(如:240表示4:00) | 
|             /// </summary> | 
|             [XmlElement("freecheck_day_start_min_offset")] | 
|             public Nullable<long> FreecheckDayStartMinOffset { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 自由工时考勤组工作日(1表示周一,0表示周日) | 
|             /// </summary> | 
|             [XmlArray("freecheck_work_days")] | 
|             [XmlArrayItem("number")] | 
|             public List<string> FreecheckWorkDays { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组id | 
|             /// </summary> | 
|             [XmlElement("id")] | 
|             public Nullable<long> Id { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组子管理员userid列表 | 
|             /// </summary> | 
|             [XmlArray("manager_list")] | 
|             [XmlArrayItem("string")] | 
|             public List<string> ManagerList { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组成员 | 
|             /// </summary> | 
|             [XmlArray("members")] | 
|             [XmlArrayItem("top_member_vo")] | 
|             public List<TopMemberVoDomain> Members { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否有修改考勤组成员相关信息 | 
|             /// </summary> | 
|             [XmlElement("modify_member")] | 
|             public Nullable<bool> ModifyMember { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组名 | 
|             /// </summary> | 
|             [XmlElement("name")] | 
|             public string Name { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤范围 | 
|             /// </summary> | 
|             [XmlElement("offset")] | 
|             public Nullable<long> Offset { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组owner | 
|             /// </summary> | 
|             [XmlElement("owner")] | 
|             public string Owner { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤地址 | 
|             /// </summary> | 
|             [XmlArray("positions")] | 
|             [XmlArrayItem("top_position_vo")] | 
|             public List<TopPositionVoDomain> Positions { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 子管理员权限范围(w表示可管理,r表示可读) | 
|             /// </summary> | 
|             [XmlElement("resource_permission_map")] | 
|             public TopGroupManageRolePermissionVoDomain ResourcePermissionMap { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 班次信息 | 
|             /// </summary> | 
|             [XmlArray("shift_vo_list")] | 
|             [XmlArrayItem("top_shift_vo")] | 
|             public List<TopShiftVoDomain> ShiftVoList { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 是否跳过节假日 | 
|             /// </summary> | 
|             [XmlElement("skip_holidays")] | 
|             public Nullable<bool> SkipHolidays { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 特殊日期配置 | 
|             /// </summary> | 
|             [XmlElement("special_days")] | 
|             public string SpecialDays { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤组类型 | 
|             /// </summary> | 
|             [XmlElement("type")] | 
|             public string Type { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 考勤wifi打卡 | 
|             /// </summary> | 
|             [XmlArray("wifis")] | 
|             [XmlArrayItem("top_wifi_vo")] | 
|             public List<TopWifiVoDomain> Wifis { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 周班次列表(固定班制必填,0表示休息) | 
|             /// </summary> | 
|             [XmlArray("workday_class_list")] | 
|             [XmlArrayItem("number")] | 
|             public List<string> WorkdayClassList { get; set; } | 
| } | 
|   | 
|         #endregion | 
|     } | 
| } |