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.pbp.instance.group.position.update /// public class OapiPbpInstanceGroupPositionUpdateRequest : BaseDingTalkRequest { /// /// 同步参数 /// public string SyncParam { get; set; } public PunchGroupSyncPositionParamDomain SyncParam_ { set { this.SyncParam = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.pbp.instance.group.position.update"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("sync_param", this.SyncParam); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("sync_param", this.SyncParam); } /// /// PunchGroupPositionParamDomain Data Structure. /// [Serializable] public class PunchGroupPositionParamDomain : TopObject { /// /// 位置唯一标识 /// [XmlElement("position_id")] public string PositionId { get; set; } /// /// 位置名称 /// [XmlElement("position_name")] public string PositionName { get; set; } /// /// 位置类型,如101表示B1 /// [XmlElement("position_type")] public Nullable PositionType { get; set; } } /// /// PunchGroupSyncPositionParamDomain Data Structure. /// [Serializable] public class PunchGroupSyncPositionParamDomain : TopObject { /// /// 新增位置列表 /// [XmlArray("add_position_list")] [XmlArrayItem("punch_group_position_param")] public List AddPositionList { get; set; } /// /// 业务唯一标识 /// [XmlElement("biz_id")] public string BizId { get; set; } /// /// 业务实例唯一标识 /// [XmlElement("biz_inst_id")] public string BizInstId { get; set; } /// /// 删除位置列表 /// [XmlArray("delete_position_list")] [XmlArrayItem("punch_group_position_param")] public List DeletePositionList { get; set; } /// /// 打卡组唯一标识 /// [XmlElement("punch_group_id")] public string PunchGroupId { get; set; } } #endregion } }