Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using RobotNet10.MapEditor.Shared.DTOs.LayoutData;
using RobotNet10.MapEditor.Shared.DTOs.Requests;
using RobotNet10.MapEditor.Shared.DTOs.Responses;
namespace RobotNet10.MapManager.Services;
/// <summary>
/// Service for retrieving complete layout data (nodes, edges, stations)
/// </summary>
public interface ILayoutDataService
{
/// <summary>
/// Get complete layout data for a layout level
/// Includes all nodes, edges, and stations with full nested properties
/// </summary>
Task<LayoutDataDto> GetLayoutDataAsync(Guid layoutLevelId);
/// <summary>
/// Merge multiple nodes into one node at center position
/// </summary>
Task<MergeNodesResponse> MergeNodesAsync(MergeNodesRequest request);
/// <summary>
/// Split a node into multiple nodes (one for each connected edge)
/// </summary>
Task<SplitNodeResponse> SplitNodeAsync(SplitNodeRequest request);
/// <summary>
/// Save all layout changes (nodes and edges) in a batch operation
/// Uses transaction to ensure atomicity
/// </summary>
Task<SaveLayoutDataResponse> SaveLayoutDataAsync(SaveLayoutDataRequest request);
/// <summary>
/// Copy selected nodes and edges with an offset
/// Creates new nodes and edges at offset positions
/// </summary>
Task<CopyNodesResponse> CopyNodesAsync(CopyNodesRequest request);
}