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,88 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using RobotNet10.FleetManager.Shared.Enums;
namespace RobotNet10.FleetManager.Data;
/// <summary>
/// Robot model entity - Master data for robot types
/// </summary>
[Table("RobotModels")]
public class RobotModel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
/// <summary>
/// Model name
/// </summary>
[Required]
[StringLength(256)]
public string ModelName { get; set; } = string.Empty;
/// <summary>
/// Robot length in meters
/// </summary>
[Required]
public double Length { get; set; }
/// <summary>
/// Robot width in meters
/// </summary>
[Required]
public double Width { get; set; }
/// <summary>
/// Image width in pixels
/// </summary>
[Required]
public int ImageWidth { get; set; }
/// <summary>
/// Image height in pixels
/// </summary>
[Required]
public int ImageHeight { get; set; }
/// <summary>
/// Navigation point X coordinate (relative to robot center) in meters
/// </summary>
[Required]
public double NavigationPointX { get; set; }
/// <summary>
/// Navigation point Y coordinate (relative to robot center) in meters
/// </summary>
[Required]
public double NavigationPointY { get; set; }
/// <summary>
/// Navigation type
/// </summary>
[Required]
public NavigationType NavigationType { get; set; }
/// <summary>
/// Foreign key to VehicleType (in MapManager database)
/// Links RobotModel to VehicleType for map filtering
/// </summary>
public Guid? VehicleTypeId { get; set; }
/// <summary>
/// Created date
/// </summary>
[Required]
public DateTime CreatedDate { get; set; } = DateTime.UtcNow;
/// <summary>
/// Updated date
/// </summary>
public DateTime? UpdatedDate { get; set; }
// Navigation properties
/// <summary>
/// Collection of robots using this model
/// </summary>
public virtual ICollection<Robot> Robots { get; set; } = [];
}