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.v2.event.update
///
public class OapiCalendarV2EventUpdateRequest : BaseDingTalkRequest
{
///
/// 开放平台应用对应的AgentId
///
public Nullable Agentid { get; set; }
///
/// 日程创建对象
///
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.update";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary 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);
}
///
/// AttendeeDomain Data Structure.
///
[Serializable]
public class AttendeeDomain : TopObject
{
///
/// 添加或者删除状态,add:添加;remove:删除;若通过该接口新增或删除参会人,则该字段必填
///
[XmlElement("attendee_status")]
public string AttendeeStatus { get; set; }
///
/// 员工工号,若通过该接口新增或删除参会人,则该字段必填
///
[XmlElement("userid")]
public string Userid { get; set; }
}
///
/// DateTimeDomain Data Structure.
///
[Serializable]
public class DateTimeDomain : TopObject
{
///
/// 日期,全天日程使用,格式必须为'yyyy-mm-dd',和timestamp字段互斥,该字段有值时,则忽略timestamp字段
///
[XmlElement("date")]
public string Date { get; set; }
///
/// 时间戳,单位为秒。非全天日程使用,与date字段互斥
///
[XmlElement("timestamp")]
public Nullable Timestamp { get; set; }
///
/// 时区信息,默认为"Asia/Shanghai"。date有值时,timezone 为 UTC;
///
[XmlElement("timezone")]
public string Timezone { get; set; }
}
///
/// OpenCalendarReminderVoDomain Data Structure.
///
[Serializable]
public class OpenCalendarReminderVoDomain : TopObject
{
///
/// 提醒方式.app表示应用内提醒
///
[XmlElement("method")]
public string Method { get; set; }
///
/// 开始前提醒的分钟数,有效值为0,5,15,30,60,1440
///
[XmlElement("minutes")]
public Nullable Minutes { get; set; }
}
///
/// LocationVoDomain Data Structure.
///
[Serializable]
public class LocationVoDomain : TopObject
{
///
/// 纬度
///
[XmlElement("latitude")]
public string Latitude { get; set; }
///
/// 经度
///
[XmlElement("longitude")]
public string Longitude { get; set; }
///
/// 地址详情
///
[XmlElement("place")]
public string Place { get; set; }
}
///
/// EventDomain Data Structure.
///
[Serializable]
public class EventDomain : TopObject
{
///
/// 日程参与者,参与人数最多100人,包括组织者
///
[XmlArray("attendees")]
[XmlArrayItem("attendee")]
public List Attendees { get; set; }
///
/// 日历ID,目前仅支持传primary,表示修改当前用户“我的日程”下的日程
///
[XmlElement("calendar_id")]
public string CalendarId { get; set; }
///
/// 日程描述
///
[XmlElement("description")]
public string Description { get; set; }
///
/// 结束时间
///
[XmlElement("end")]
public DateTimeDomain End { get; set; }
///
/// 日程Id
///
[XmlElement("event_id")]
public string EventId { get; set; }
///
/// 地址
///
[XmlElement("location")]
public LocationVoDomain Location { get; set; }
///
/// 日程组织者,暂不支持修改
///
[XmlElement("organizer")]
public AttendeeDomain Organizer { get; set; }
///
/// 会议开始前提醒
///
[XmlElement("reminder")]
public OpenCalendarReminderVoDomain Reminder { get; set; }
///
/// 开始时间
///
[XmlElement("start")]
public DateTimeDomain Start { get; set; }
///
/// 日程主题
///
[XmlElement("summary")]
public string Summary { get; set; }
}
#endregion
}
}