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 } }