using System; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.user.update /// public class OapiUserUpdateRequest : BaseDingTalkRequest { /// /// 部门列表 /// public List Department { get; set; } /// /// 邮箱 /// public string Email { get; set; } /// /// 扩展属性 /// public string Extattr { get; set; } /// /// 入职时间 /// public Nullable HiredDate { get; set; } /// /// 是否号码隐藏 /// public Nullable IsHide { get; set; } /// /// 是否高管模式 /// public Nullable IsSenior { get; set; } /// /// 工号 /// public string Jobnumber { get; set; } /// /// 通讯录语言(默认zh_CN另外支持en_US) /// public string Lang { get; set; } /// /// 主管 /// public string ManagerUserid { get; set; } /// /// 手机号 /// public string Mobile { get; set; } /// /// 名字 /// public string Name { get; set; } /// /// 实际是Map的序列化字符串 /// public string OrderInDepts { get; set; } /// /// 公司邮箱 /// public string OrgEmail { get; set; } /// /// 职位 /// public string Position { get; set; } /// /// 实际是Map的序列化字符串 /// public string PositionInDepts { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 分机号,长度为0~50个字符 /// public string Tel { get; set; } /// /// 用户id /// public string Userid { get; set; } /// /// 工作地点 /// public string WorkPlace { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.user.update"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("department", TopUtils.ObjectToJson(this.Department)); parameters.Add("email", this.Email); parameters.Add("extattr", this.Extattr); parameters.Add("hiredDate", this.HiredDate); parameters.Add("isHide", this.IsHide); parameters.Add("isSenior", this.IsSenior); parameters.Add("jobnumber", this.Jobnumber); parameters.Add("lang", this.Lang); parameters.Add("managerUserid", this.ManagerUserid); parameters.Add("mobile", this.Mobile); parameters.Add("name", this.Name); parameters.Add("orderInDepts", this.OrderInDepts); parameters.Add("orgEmail", this.OrgEmail); parameters.Add("position", this.Position); parameters.Add("positionInDepts", this.PositionInDepts); parameters.Add("remark", this.Remark); parameters.Add("tel", this.Tel); parameters.Add("userid", this.Userid); parameters.Add("workPlace", this.WorkPlace); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("department", this.Department, 20); } #endregion } }