Files
Denso/srcs/RobotNet10/FleetManager/RobotNet10.FleetManager.Shared/DTOs/RobotModel/RobotModelMapDataDto.cs
2026-07-03 16:31:37 +07:00

88 lines
2.4 KiB
C#

using RobotNet10.MapEditor.Shared.DTOs.Edge;
using RobotNet10.MapEditor.Shared.DTOs.Node;
namespace RobotNet10.FleetManager.Shared.DTOs.RobotModel;
/// <summary>
/// Validated map data for a robot model
/// Contains filtered and validated nodes/edges based on VehicleType properties
/// </summary>
public class RobotModelMapDataDto
{
/// <summary>
/// Robot model ID
/// </summary>
public Guid RobotModelId { get; set; }
/// <summary>
/// Robot model name
/// </summary>
public string RobotModelName { get; set; } = string.Empty;
/// <summary>
/// Vehicle type ID (from MapManager)
/// </summary>
public Guid? VehicleTypeId { get; set; }
/// <summary>
/// Vehicle type name (for display)
/// </summary>
public string? VehicleTypeName { get; set; }
/// <summary>
/// Layout level ID (MapId from RobotModel)
/// </summary>
public Guid? LevelId { get; set; }
/// <summary>
/// Layout level identifier (for display)
/// </summary>
public string? LevelName { get; set; }
/// <summary>
/// Valid nodes after filtering and validation
/// </summary>
public List<NodeDto> ValidNodes { get; set; } = [];
/// <summary>
/// Valid edges after filtering and validation
/// </summary>
public List<EdgeDto> ValidEdges { get; set; } = [];
/// <summary>
/// Total number of nodes in the level (before filtering)
/// </summary>
public int TotalNodesInLevel { get; set; }
/// <summary>
/// Total number of edges in the level (before filtering)
/// </summary>
public int TotalEdgesInLevel { get; set; }
/// <summary>
/// Number of nodes after filtering by VehicleType (before validation)
/// </summary>
public int FilteredNodesCount { get; set; }
/// <summary>
/// Number of edges after filtering by VehicleType (before validation)
/// </summary>
public int FilteredEdgesCount { get; set; }
/// <summary>
/// Number of valid nodes after validation
/// </summary>
public int ValidNodesCount => ValidNodes.Count;
/// <summary>
/// Number of valid edges after validation
/// </summary>
public int ValidEdgesCount => ValidEdges.Count;
/// <summary>
/// Validation result with errors and warnings
/// </summary>
public MapValidationResultDto ValidationResult { get; set; } = new();
}