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
|
{
|
/// <summary>
|
/// TOP API: dingtalk.oapi.calendar.v2.event.create
|
/// </summary>
|
public class OapiCalendarV2EventCreateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiCalendarV2EventCreateResponse>
|
{
|
/// <summary>
|
/// 开放平台应用对应的AgentId
|
/// </summary>
|
public Nullable<long> Agentid { get; set; }
|
|
/// <summary>
|
/// 日程创建对象
|
/// </summary>
|
public string Event { get; set; }
|
|
public EventDomain Event_ { set { this.Event = TopUtils.ObjectToJson(value); } }
|
|
#region IDingTalkRequest Members
|
|
public override string GetApiName()
|
{
|
return "dingtalk.oapi.calendar.v2.event.create";
|
}
|
|
public override string GetApiCallType()
|
{
|
return DingTalkConstants.CALL_TYPE_OAPI;
|
}
|
|
public override IDictionary<string, string> GetParameters()
|
{
|
TopDictionary parameters = new TopDictionary();
|
parameters.Add("agentid", this.Agentid);
|
parameters.Add("event", this.Event);
|
if (this.otherParams != null)
|
{
|
parameters.AddAll(this.otherParams);
|
}
|
return parameters;
|
}
|
|
public override void Validate()
|
{
|
RequestValidator.ValidateRequired("event", this.Event);
|
}
|
|
/// <summary>
|
/// AttendeeDomain Data Structure.
|
/// </summary>
|
[Serializable]
|
|
public class AttendeeDomain : TopObject
|
{
|
/// <summary>
|
/// 员工工号
|
/// </summary>
|
[XmlElement("userid")]
|
public string Userid { get; set; }
|
}
|
|
/// <summary>
|
/// DateTimeDomain Data Structure.
|
/// </summary>
|
[Serializable]
|
|
public class DateTimeDomain : TopObject
|
{
|
/// <summary>
|
/// 日期,全天日程使用,格式必须为'yyyy-mm-dd',和timestamp字段互斥,该字段有值时,则忽略timestamp字段
|
/// </summary>
|
[XmlElement("date")]
|
public string Date { get; set; }
|
|
/// <summary>
|
/// 时间戳,单位为秒。非全天日程使用,与date字段互斥
|
/// </summary>
|
[XmlElement("timestamp")]
|
public Nullable<long> Timestamp { get; set; }
|
|
/// <summary>
|
/// 时区信息,默认为"Asia/Shanghai"。date有值时,timezone 为 UTC;
|
/// </summary>
|
[XmlElement("timezone")]
|
public string Timezone { get; set; }
|
}
|
|
/// <summary>
|
/// OpenCalendarReminderVoDomain Data Structure.
|
/// </summary>
|
[Serializable]
|
|
public class OpenCalendarReminderVoDomain : TopObject
|
{
|
/// <summary>
|
/// 提醒方式.app表示应用内提醒
|
/// </summary>
|
[XmlElement("method")]
|
public string Method { get; set; }
|
|
/// <summary>
|
/// 开始前提醒的分钟数,有效值为0,5,15,30,60,1440
|
/// </summary>
|
[XmlElement("minutes")]
|
public Nullable<long> Minutes { get; set; }
|
}
|
|
/// <summary>
|
/// LocationVoDomain Data Structure.
|
/// </summary>
|
[Serializable]
|
|
public class LocationVoDomain : TopObject
|
{
|
/// <summary>
|
/// 纬度
|
/// </summary>
|
[XmlElement("latitude")]
|
public string Latitude { get; set; }
|
|
/// <summary>
|
/// 经度
|
/// </summary>
|
[XmlElement("longitude")]
|
public string Longitude { get; set; }
|
|
/// <summary>
|
/// 地址详情
|
/// </summary>
|
[XmlElement("place")]
|
public string Place { get; set; }
|
}
|
|
/// <summary>
|
/// EventDomain Data Structure.
|
/// </summary>
|
[Serializable]
|
|
public class EventDomain : TopObject
|
{
|
/// <summary>
|
/// 日程参与者,参与者最大人数为100(包括组织者)
|
/// </summary>
|
[XmlArray("attendees")]
|
[XmlArrayItem("attendee")]
|
public List<AttendeeDomain> Attendees { get; set; }
|
|
/// <summary>
|
/// 目前只能传primary,表示创建的日程在“我的日程”下
|
/// </summary>
|
[XmlElement("calendar_id")]
|
public string CalendarId { get; set; }
|
|
/// <summary>
|
/// 日程描述
|
/// </summary>
|
[XmlElement("description")]
|
public string Description { get; set; }
|
|
/// <summary>
|
/// 结束时间
|
/// </summary>
|
[XmlElement("end")]
|
public DateTimeDomain End { get; set; }
|
|
/// <summary>
|
/// 地址信息
|
/// </summary>
|
[XmlElement("location")]
|
public LocationVoDomain Location { get; set; }
|
|
/// <summary>
|
/// 受限字段,仅支持传NONE或者APP
|
/// </summary>
|
[XmlElement("notification_type")]
|
public string NotificationType { get; set; }
|
|
/// <summary>
|
/// 日程组织者
|
/// </summary>
|
[XmlElement("organizer")]
|
public AttendeeDomain Organizer { get; set; }
|
|
/// <summary>
|
/// 会议开始前多少分钟提醒
|
/// </summary>
|
[XmlElement("reminder")]
|
public OpenCalendarReminderVoDomain Reminder { get; set; }
|
|
/// <summary>
|
/// 开始时间
|
/// </summary>
|
[XmlElement("start")]
|
public DateTimeDomain Start { get; set; }
|
|
/// <summary>
|
/// 日程主题
|
/// </summary>
|
[XmlElement("summary")]
|
public string Summary { get; set; }
|
}
|
|
#endregion
|
}
|
}
|