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