RobotNet/RobotNet.MapManager/Data/Zone.cs
2025-10-15 15:15:53 +07:00

62 lines
1.5 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using RobotNet.MapShares.Enums;
namespace RobotNet.MapManager.Data;
[Table("Zones")]
[Index(nameof(MapId), Name = "IX_Zone_MapId")]
public class Zone
{
[Column("Id", TypeName = "uniqueidentifier")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
[Required]
public Guid Id { get; set; }
[Column("MapId", TypeName = "uniqueidentifier")]
[Required]
public Guid MapId { get; set; }
[Column("Type", TypeName = "int")]
[Required]
public ZoneType Type { get; set; }
[Column("Name", TypeName = "nvarchar(64)")]
[Required]
public string Name { get; set; } = "";
[Column("X1", TypeName = "float")]
[Required]
public double X1 { get; set; }
[Column("Y1", TypeName = "float")]
[Required]
public double Y1 { get; set; }
[Column("X2", TypeName = "float")]
[Required]
public double X2 { get; set; }
[Column("Y2", TypeName = "float")]
[Required]
public double Y2 { get; set; }
[Column("X3", TypeName = "float")]
[Required]
public double X3 { get; set; }
[Column("Y3", TypeName = "float")]
[Required]
public double Y3 { get; set; }
[Column("X4", TypeName = "float")]
public double X4 { get; set; }
[Column("Y4", TypeName = "float")]
public double Y4 { get; set; }
public Map Map { get; set; } = default!;
}