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.calendar.list
///
public class OapiCalendarListRequest : BaseDingTalkRequest
{
///
/// 钉钉日历文件夹的对外id,默认是自己的默认文件夹
///
public string CalendarFolderId { get; set; }
///
/// 结果返回的最多数量,默认250,最多返回2500
///
public Nullable MaxResults { get; set; }
///
/// 查询对应页,值有上一次请求返回的结果里对应nextPageToken
///
public string PageToken { get; set; }
///
/// 是否需要展开循环日程
///
public Nullable SingleEvents { get; set; }
///
/// 查询时间上限
///
public string TimeMax { get; set; }
public DateTimeDomain TimeMax_ { set { this.TimeMax = TopUtils.ObjectToJson(value); } }
///
/// 查询时间下限
///
public string TimeMin { get; set; }
public DateTimeDomain TimeMin_ { set { this.TimeMin = TopUtils.ObjectToJson(value); } }
///
/// 员工ID
///
public string UserId { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.calendar.list";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("calendar_folder_id", this.CalendarFolderId);
parameters.Add("max_results", this.MaxResults);
parameters.Add("page_token", this.PageToken);
parameters.Add("single_events", this.SingleEvents);
parameters.Add("time_max", this.TimeMax);
parameters.Add("time_min", this.TimeMin);
parameters.Add("user_id", this.UserId);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("user_id", this.UserId);
}
///
/// DateTimeDomain Data Structure.
///
[Serializable]
public class DateTimeDomain : TopObject
{
///
/// 时间 'yyyy-MM-ddTHH:mm:ssZ',
///
[XmlElement("date_time")]
public string DateTime_ { get; set; }
///
/// 时区
///
[XmlElement("time_zone")]
public string TimeZone { get; set; }
}
#endregion
}
}