88 lines
2.4 KiB
C#
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();
|
|
}
|
|
|