|  |  | 1 |  | using System.ComponentModel.DataAnnotations; | 
|  |  | 2 |  | using LGDXRobotCloud.Data.Models.Business.Navigation; | 
|  |  | 3 |  | using LGDXRobotCloud.Utilities.Constants; | 
|  |  | 4 |  |  | 
|  |  | 5 |  | namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands; | 
|  |  | 6 |  |  | 
|  |  | 7 |  | public record RealmMapUpdateDto | 
|  |  | 8 |  | { | 
|  |  | 9 |  |   // All fields are required in SLAM mode | 
|  |  | 10 |  |  | 
|  |  | 11 |  |   [MaxLength(LgdxApiConstants.ImageMaxSize, ErrorMessage = "The image size is too large.")] | 
|  |  | 12 |  |   [Required(ErrorMessage = "Please upload an image.")] | 
|  |  | 13 |  |   public required string Image { get; set; } | 
|  |  | 14 |  |  | 
|  |  | 15 |  |   [Required (ErrorMessage = "Please enter a resolution.")] | 
|  |  | 16 |  |   public required double Resolution { get; set; } | 
|  |  | 17 |  |  | 
|  |  | 18 |  |   [Required (ErrorMessage = "Please enter an origin X coordinate.")] | 
|  |  | 19 |  |   public required double OriginX { get; set; } | 
|  |  | 20 |  |  | 
|  |  | 21 |  |   [Required (ErrorMessage = "Please enter an origin Y coordinate.")] | 
|  |  | 22 |  |   public required double OriginY { get; set; } | 
|  |  | 23 |  |  | 
|  |  | 24 |  |   [Required (ErrorMessage = "Please enter an origin rotation.")] | 
|  |  | 25 |  |   public required double OriginRotation { get; set; } | 
|  |  | 26 |  | } | 
|  |  | 27 |  |  | 
|  |  | 28 |  | public static class RealmMapUpdateDtoExtensions | 
|  |  | 29 |  | { | 
|  |  | 30 |  |   public static RealmMapUpdateBusinessModel ToBusinessModel(this RealmMapUpdateDto model) | 
|  | 0 | 31 |  |   { | 
|  | 0 | 32 |  |     return new RealmMapUpdateBusinessModel { | 
|  | 0 | 33 |  |       Image = model.Image, | 
|  | 0 | 34 |  |       Resolution = model.Resolution, | 
|  | 0 | 35 |  |       OriginX = model.OriginX, | 
|  | 0 | 36 |  |       OriginY = model.OriginY, | 
|  | 0 | 37 |  |       OriginRotation = model.OriginRotation, | 
|  | 0 | 38 |  |     }; | 
|  | 0 | 39 |  |   } | 
|  |  | 40 |  | } |