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