Initial commit

This commit is contained in:
2026-07-03 16:37:12 +07:00
commit 63b8c1ea8b
1931 changed files with 640587 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using RobotNet10.FleetManager.Shared.DTOs.RobotModel;
using RobotNet10.MapManager.Data;
namespace RobotNet10.FleetManager.Services;
/// <summary>
/// Service for managing robot model map data based on VehicleType filtering
/// </summary>
public interface IRobotModelMapService
{
/// <summary>
/// Get filtered nodes for a robot model based on VehicleType properties
/// Returns only nodes that have NodeVehicleProperties for the robot model's VehicleType
/// </summary>
Task<List<Node>> GetFilteredNodesAsync(Guid robotModelId);
/// <summary>
/// Get filtered edges for a robot model based on VehicleType properties
/// Returns only edges that have EdgeVehicleProperties for the robot model's VehicleType
/// </summary>
Task<List<Edge>> GetFilteredEdgesAsync(Guid robotModelId);
/// <summary>
/// Get filtered nodes for a robot model based on VehicleType properties and LevelId
/// Returns only nodes that have NodeVehicleProperties for the robot model's VehicleType and belong to the specified level
/// </summary>
Task<List<Node>> GetFilteredNodesByLevelAsync(Guid robotModelId, Guid levelId);
/// <summary>
/// Get filtered edges for a robot model based on VehicleType properties and LevelId
/// Returns only edges that have EdgeVehicleProperties for the robot model's VehicleType and belong to the specified level
/// </summary>
Task<List<Edge>> GetFilteredEdgesByLevelAsync(Guid robotModelId, Guid levelId);
/// <summary>
/// Get validated map data (nodes + edges) for a robot model
/// Returns only valid nodes/edges after validation (nodes with edges, edges with both nodes)
/// </summary>
Task<RobotModelMapDataDto> GetValidatedMapDataAsync(Guid robotModelId);
/// <summary>
/// Validate map data for a robot model
/// Returns validation result with errors/warnings
/// </summary>
Task<MapValidationResultDto> ValidateMapForRobotModelAsync(Guid robotModelId);
/// <summary>
/// Check if robot model has valid map configuration
/// Returns true if VehicleTypeId and MapId are set and map data is valid
/// </summary>
Task<bool> HasValidMapConfigurationAsync(Guid robotModelId);
}