Initial commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user