using System.ComponentModel.DataAnnotations; using RobotNet10.FleetManager.Shared.Enums; namespace RobotNet10.FleetManager.Shared.DTOs.RobotModel; /// /// Request to create a new robot model /// public class CreateRobotModelRequest { [Required(ErrorMessage = "ModelName is required")] [StringLength(256, ErrorMessage = "ModelName must not exceed 256 characters")] public string ModelName { get; set; } = string.Empty; [Required(ErrorMessage = "Length is required")] [Range(0.01, 1000, ErrorMessage = "Length must be between 0.01 and 1000 meters")] public double Length { get; set; } [Required(ErrorMessage = "Width is required")] [Range(0.01, 1000, ErrorMessage = "Width must be between 0.01 and 1000 meters")] public double Width { get; set; } [Required(ErrorMessage = "ImageWidth is required")] [Range(1, 10000, ErrorMessage = "ImageWidth must be between 1 and 10000 pixels")] public int ImageWidth { get; set; } [Required(ErrorMessage = "ImageHeight is required")] [Range(1, 10000, ErrorMessage = "ImageHeight must be between 1 and 10000 pixels")] public int ImageHeight { get; set; } [Required(ErrorMessage = "NavigationPointX is required")] public double NavigationPointX { get; set; } [Required(ErrorMessage = "NavigationPointY is required")] public double NavigationPointY { get; set; } [Required(ErrorMessage = "NavigationType is required")] public NavigationType NavigationType { get; set; } /// /// Foreign key to VehicleType (in MapManager database) /// Optional - can be set later /// public Guid? VehicleTypeId { get; set; } }