using Newtonsoft.Json; using EVCB_OCPP.Packet.Utilities; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using EVCB_OCPP.Packet.Features; namespace EVCB_OCPP.Packet.Messages.Core { public class StartTransactionRequest : IRequest { public StartTransactionRequest() { Action = Actions.StartTransaction.ToString(); } [JsonIgnore] public string Action { set; get; } /// /// 充電槍號(開始為1) /// [Required] public int connectorId { set; get; } /// /// Authorization Id /// [Required(AllowEmptyStrings = true)] public string idTag { set; get; } /// /// 充電開始的電表讀數 /// [Required] public int meterStart { set; get; } /// /// 預約Id /// public int? reservationId { set; get; } /// /// 開始交易的時間 /// [Required] [JsonConverter(typeof(UTCDateTimeConverter))] public DateTime timestamp { set; get; } public bool TransactionRelated() { return true; } public bool Validate() { return Validator.TryValidateObject(this, new ValidationContext(this), null, true); } } }