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.member.update
///
public class OapiAttendanceGroupMemberUpdateRequest : BaseDingTalkRequest
{
///
/// 考勤组id
///
public Nullable GroupId { get; set; }
///
/// 操作人userId
///
public string OpUserId { get; set; }
///
/// 0表示从今天开始排班,1表示从明天
///
public Nullable ScheduleFlag { get; set; }
///
/// 更新入参
///
public string UpdateParam { get; set; }
public TopGroupMemberUpdateParamDomain UpdateParam_ { set { this.UpdateParam = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.attendance.group.member.update";
}
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("schedule_flag", this.ScheduleFlag);
parameters.Add("update_param", this.UpdateParam);
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.ValidateRequired("schedule_flag", this.ScheduleFlag);
RequestValidator.ValidateRequired("update_param", this.UpdateParam);
}
///
/// TopGroupMemberUpdateParamDomain Data Structure.
///
[Serializable]
public class TopGroupMemberUpdateParamDomain : TopObject
{
///
/// 要添加的考勤部门,没有的话,无需赋值
///
[XmlArray("add_depts")]
[XmlArrayItem("string")]
public List AddDepts { get; set; }
///
/// 要添加的无需考勤人员,没有的话,无需赋值
///
[XmlArray("add_extra_users")]
[XmlArrayItem("string")]
public List AddExtraUsers { get; set; }
///
/// 要添加的考勤人员,没有的话,无需赋值
///
[XmlArray("add_users")]
[XmlArrayItem("string")]
public List AddUsers { get; set; }
///
/// 要删除的考勤部门,没有的话,无需赋值
///
[XmlArray("remove_depts")]
[XmlArrayItem("string")]
public List RemoveDepts { get; set; }
///
/// 要删除的无需考勤人员,没有的话,无需赋值
///
[XmlArray("remove_extra_users")]
[XmlArrayItem("string")]
public List RemoveExtraUsers { get; set; }
///
/// 要删除的考勤人员,没有的话,无需赋值
///
[XmlArray("remove_users")]
[XmlArrayItem("string")]
public List RemoveUsers { get; set; }
}
#endregion
}
}