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