using EVCB_OCPP.Packet20.DataTypes.EnumTypes; using EVCB_OCPP.Packet20.Utilites; using Newtonsoft.Json; using Newtonsoft.Json.Converters; 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 BootNotificationResponse:IConfirmation { /// /// This contains the CSMS’s current time. /// [Required] [JsonConverter(typeof(UTCDateTimeConverter))] public DateTime CurrentTime { set; get; } /// /// When Status is Accepted, this contains the /// heartbeat interval in seconds.If the CSMS returns ///something other than Accepted, the value of the interval ///field indicates the minimum wait time before sending a ///next BootNotification request. /// [Required] public int Interval { set; get; } /// /// This contains whether the Charging Station has /// been registered within the CSMS. /// [Required] [JsonConverter(typeof(StringEnumConverter))] public RegistrationStatusEnumType Status { set; get; } private IRequest _request = null; public IRequest GetRequest() { return _request; } public void SetRequest(IRequest request) { _request = request; } public bool Validate() { return Validator.TryValidateObject(this, new ValidationContext(this), null, true); } } }