using EVCB_OCPP.Packet20.Utilites;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EVCB_OCPP.Packet20.Messages
{
    public class SecurityEventNotificationRequest
    {

        /// <summary>
        /// Type of the security event. This value should be
        ///taken from the Security events list.
        /// </summary>
        [Required]
        [StringLength(50, MinimumLength = 0)]
        public string Type { set; get; }

        /// <summary>
        /// Date and time at which the event occurred
        /// </summary>
        [Required]
        [JsonConverter(typeof(UTCDateTimeConverter))]
        public DateTime Timestamp { set; get; }

        /// <summary>
        /// Additional information about the occurred
        ///security event.
        /// </summary>
        public string TechInfo { set; get; }
    }
}
