| using System; | 
| using System.Collections.Generic; | 
| using Top.Api.Util; | 
| using Top.Api; | 
| using Top.Api.DingTalk; | 
|   | 
| namespace DingTalk.Api.Request | 
| { | 
|     /// <summary> | 
|     /// TOP API: dingtalk.oapi.chat.update | 
|     /// </summary> | 
|     public class OapiChatUpdateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiChatUpdateResponse> | 
|     { | 
|         /// <summary> | 
|         /// 添加外部联系人成员列表 | 
|         /// </summary> | 
|         public List<string> AddExtidlist { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 添加成员列表 | 
|         /// </summary> | 
|         public List<string> AddUseridlist { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群禁言,0-默认,不禁言,1-全员禁言 | 
|         /// </summary> | 
|         public Nullable<long> ChatBannedType { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群会话id | 
|         /// </summary> | 
|         public string Chatid { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 删除外部联系人成员列表 | 
|         /// </summary> | 
|         public List<string> DelExtidlist { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 删除成员列表 | 
|         /// </summary> | 
|         public List<string> DelUseridlist { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群头像mediaId | 
|         /// </summary> | 
|         public string Icon { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 是否禁言 | 
|         /// </summary> | 
|         public Nullable<bool> IsBan { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 管理类型,0-默认,所有人可管理,1-仅群主可管理 | 
|         /// </summary> | 
|         public Nullable<long> ManagementType { get; set; } | 
|   | 
|         /// <summary> | 
|         /// @all 权限,0-默认,所有人,1-仅群主可@all | 
|         /// </summary> | 
|         public Nullable<long> MentionAllAuthority { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群名称 | 
|         /// </summary> | 
|         public string Name { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群主的userId | 
|         /// </summary> | 
|         public string Owner { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群主类型,emp:企业员工,ext:外部联系人 | 
|         /// </summary> | 
|         public string OwnerType { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 群可搜索,0-默认,不可搜索,1-可搜索 | 
|         /// </summary> | 
|         public Nullable<long> Searchable { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 新成员可查看聊天历史 0否 1是 | 
|         /// </summary> | 
|         public Nullable<long> ShowHistoryType { get; set; } | 
|   | 
|         /// <summary> | 
|         /// 入群验证,0:不入群验证(默认) 1:入群验证 | 
|         /// </summary> | 
|         public Nullable<long> ValidationType { get; set; } | 
|   | 
|         #region IDingTalkRequest Members | 
|   | 
|         public override string GetApiName() | 
|         { | 
|             return "dingtalk.oapi.chat.update"; | 
|         } | 
|   | 
|         public override string GetApiCallType() | 
|         { | 
|             return DingTalkConstants.CALL_TYPE_OAPI; | 
|         } | 
|   | 
|         public override IDictionary<string, string> GetParameters() | 
|         { | 
|             TopDictionary parameters = new TopDictionary(); | 
|             parameters.Add("add_extidlist", TopUtils.ObjectToJson(this.AddExtidlist)); | 
|             parameters.Add("add_useridlist", TopUtils.ObjectToJson(this.AddUseridlist)); | 
|             parameters.Add("chatBannedType", this.ChatBannedType); | 
|             parameters.Add("chatid", this.Chatid); | 
|             parameters.Add("del_extidlist", TopUtils.ObjectToJson(this.DelExtidlist)); | 
|             parameters.Add("del_useridlist", TopUtils.ObjectToJson(this.DelUseridlist)); | 
|             parameters.Add("icon", this.Icon); | 
|             parameters.Add("isBan", this.IsBan); | 
|             parameters.Add("managementType", this.ManagementType); | 
|             parameters.Add("mentionAllAuthority", this.MentionAllAuthority); | 
|             parameters.Add("name", this.Name); | 
|             parameters.Add("owner", this.Owner); | 
|             parameters.Add("ownerType", this.OwnerType); | 
|             parameters.Add("searchable", this.Searchable); | 
|             parameters.Add("showHistoryType", this.ShowHistoryType); | 
|             parameters.Add("validationType", this.ValidationType); | 
|             if (this.otherParams != null) | 
|             { | 
|                 parameters.AddAll(this.otherParams); | 
|             } | 
|             return parameters; | 
|         } | 
|   | 
|         public override void Validate() | 
|         { | 
|             RequestValidator.ValidateMaxListSize("add_extidlist", this.AddExtidlist, 20); | 
|             RequestValidator.ValidateMaxListSize("add_useridlist", this.AddUseridlist, 20); | 
|             RequestValidator.ValidateMaxListSize("del_extidlist", this.DelExtidlist, 20); | 
|             RequestValidator.ValidateMaxListSize("del_useridlist", this.DelUseridlist, 20); | 
|         } | 
|   | 
|         #endregion | 
|     } | 
| } |