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