using EVCB_OCPP.Packet.Utilities;
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.Packet.Messages.SubTypes
{
    public class LogParametersType
    {
        /// <summary>
        /// The URL of the location at the remote system where the log should be
        /// stored.
        /// </summary>
        [Required]
        [StringLength(512, MinimumLength = 0)]
        public string remoteLocation { set; get; }

        /// <summary>
        /// This contains the date and time of the oldest logging information to
        ///include in the diagnostics.
        /// </summary>       
        [JsonConverter(typeof(UTCDateTimeConverter))]
        public DateTime oldestTimestamp { set; get; }

        /// <summary>
        ///This contains the date and time of the latest logging information to
        ///include in the diagnostics.
        /// </summary>       
        [JsonConverter(typeof(UTCDateTimeConverter))]
        public DateTime latestTimestamp { set; get; }

    }
}
