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.dismission.update
///
public class OapiSmartworkHrmEmployeeDismissionUpdateRequest : BaseDingTalkRequest
{
///
/// 微应用在企业的AgentId
///
public string Agentid { get; set; }
///
/// 离职信息
///
public string Param { get; set; }
public EmpDismissionUpdateParamDomain Param_ { set { this.Param = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.smartwork.hrm.employee.dismission.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);
}
///
/// EmpDismissionUpdateParamDomain Data Structure.
///
[Serializable]
public class EmpDismissionUpdateParamDomain : TopObject
{
///
/// 离职备注
///
[XmlElement("dismission_memo")]
public string DismissionMemo { get; set; }
///
/// 最后工作日期
///
[XmlElement("last_work_date")]
public Nullable LastWorkDate { get; set; }
///
/// 是否计入离职不统计
///
[XmlElement("partner")]
public Nullable Partner { get; set; }
///
/// 主动原因
///
[XmlArray("terminationReasonPassive")]
[XmlArrayItem("string")]
public List TerminationReasonPassive { get; set; }
///
/// 被动原因
///
[XmlArray("terminationReasonVoluntary")]
[XmlArrayItem("string")]
public List TerminationReasonVoluntary { get; set; }
///
/// 员工userId
///
[XmlElement("userid")]
public string Userid { get; set; }
}
#endregion
}
}