ChargingPileDto.cs 2.34 KB
namespace Rcs.Application.DTOs
{
    /// <summary>
    /// Charging pile detail DTO.
    /// </summary>
    public class ChargingPileDto
    {
        public string PileId { get; set; } = string.Empty;
        public string PileCode { get; set; } = string.Empty;
        public string PileName { get; set; } = string.Empty;
        public string IpAddress { get; set; } = string.Empty;
        public int Port { get; set; }
        public int MinChargingMinutes { get; set; }
        public decimal FullChargeThreshold { get; set; }
        public List<string> SupportedRobotModels { get; set; } = new();
        public List<string> BoundRobotIds { get; set; } = new();
        public string? CurrentChargingRobotId { get; set; }
        public string? MapNodeId { get; set; }
        public decimal AutoStartThreshold { get; set; }
        public decimal ResumeThreshold { get; set; }
        public int MaxChargingMinutes { get; set; }
        public int QueueTimeoutMinutes { get; set; }
        public int Priority { get; set; }
        public bool AllowTaskInterrupt { get; set; }
        public bool IsActive { get; set; }
        public DateTime CreatedAt { get; set; }
        public DateTime? UpdatedAt { get; set; }
    }

    /// <summary>
    /// Charging pile list item DTO.
    /// </summary>
    public class ChargingPileListItemDto
    {
        public string PileId { get; set; } = string.Empty;
        public string PileCode { get; set; } = string.Empty;
        public string PileName { get; set; } = string.Empty;
        public string IpAddress { get; set; } = string.Empty;
        public int Port { get; set; }
        public int MinChargingMinutes { get; set; }
        public decimal FullChargeThreshold { get; set; }
        public List<string> SupportedRobotModels { get; set; } = new();
        public List<string> BoundRobotIds { get; set; } = new();
        public string? CurrentChargingRobotId { get; set; }
        public string? MapNodeId { get; set; }
        public decimal AutoStartThreshold { get; set; }
        public decimal ResumeThreshold { get; set; }
        public int MaxChargingMinutes { get; set; }
        public int QueueTimeoutMinutes { get; set; }
        public int Priority { get; set; }
        public bool AllowTaskInterrupt { get; set; }
        public bool IsActive { get; set; }
        public DateTime CreatedAt { get; set; }
    }
}