Files
Denso/srcs/RobotNet10/FleetManager/RobotNet10.FleetManager/Services/TrafficControl/Models/Conflict.cs
2026-07-03 16:31:37 +07:00

61 lines
1.6 KiB
C#

namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
/// <summary>
/// Represents a conflict between robots
/// </summary>
public class Conflict
{
/// <summary>
/// Type of conflict
/// </summary>
public ConflictType Type { get; set; }
/// <summary>
/// List of robot IDs involved in this conflict
/// </summary>
public List<string> InvolvedRobots { get; set; } = new();
/// <summary>
/// List of conflicting edge IDs
/// </summary>
public List<Guid> ConflictingEdges { get; set; } = new();
/// <summary>
/// List of conflicting node IDs
/// </summary>
public List<Guid> ConflictingNodes { get; set; } = new();
/// <summary>
/// When the conflict was detected
/// </summary>
public DateTime DetectedAt { get; set; } = DateTime.UtcNow;
/// <summary>
/// Severity of the conflict
/// </summary>
public ConflictSeverity Severity { get; set; }
/// <summary>
/// Resolution strategy for this conflict
/// </summary>
public ConflictResolution? Resolution { get; set; }
/// <summary>
/// Additional details about the conflict
/// </summary>
public Dictionary<string, object> ConflictDetails { get; set; } = new();
/// <summary>
/// Estimated number of new conflicts that may arise from resolving this conflict
/// </summary>
public int EstimatedNewConflicts { get; set; }
/// <summary>
/// List of other conflict keys that can be resolved by resolving this conflict
/// </summary>
public List<string> CanResolveConflicts { get; set; } = new();
}