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.smartwork.hrm.employee.update
///
public class OapiSmartworkHrmEmployeeUpdateRequest : BaseDingTalkRequest
{
///
/// 微应用在企业的AgentId
///
public Nullable Agentid { get; set; }
///
/// 添加待入职入参
///
public string Param { get; set; }
public PreEntryEmployeeAddParamDomain Param_ { set { this.Param = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.smartwork.hrm.employee.update";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("agentid", this.Agentid);
parameters.Add("param", this.Param);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("agentid", this.Agentid);
RequestValidator.ValidateRequired("param", this.Param);
}
///
/// EmpFieldVoDomain Data Structure.
///
[Serializable]
public class EmpFieldVoDomain : TopObject
{
///
/// 更新的字段code
///
[XmlElement("field_code")]
public string FieldCode { get; set; }
///
/// 更新的字段值
///
[XmlElement("value")]
public string Value { get; set; }
}
///
/// EmpListFieldVODomain Data Structure.
///
[Serializable]
public class EmpListFieldVODomain : TopObject
{
///
/// 单个组所有字段
///
[XmlArray("section")]
[XmlArrayItem("emp_field_vo")]
public List Section { get; set; }
}
///
/// GroupMetaInfoDomain Data Structure.
///
[Serializable]
public class GroupMetaInfoDomain : TopObject
{
///
/// 需改的字段所在组ID
///
[XmlElement("group_id")]
public string GroupId { get; set; }
///
/// 同类型组明细
///
[XmlArray("sections")]
[XmlArrayItem("emp_list_field_v_o")]
public List Sections { get; set; }
}
///
/// PreEntryEmployeeAddParamDomain Data Structure.
///
[Serializable]
public class PreEntryEmployeeAddParamDomain : TopObject
{
///
/// 所有组明细
///
[XmlArray("groups")]
[XmlArrayItem("group_meta_info")]
public List Groups { get; set; }
///
/// staff_id or userId用户在企业的唯一标识
///
[XmlElement("userid")]
public string Userid { get; set; }
}
#endregion
}
}