first commit -push
This commit is contained in:
30
RobotNet.MapManager/Data/Action.cs
Normal file
30
RobotNet.MapManager/Data/Action.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("Actions")]
|
||||
[Index(nameof(MapId), nameof(Name), Name = "IX_Action_MapId_Name")]
|
||||
public class Action
|
||||
{
|
||||
[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("Name", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("Content", TypeName = "nvarchar(max)")]
|
||||
public string Content { get; set; }
|
||||
|
||||
public Map Map { get; set; }
|
||||
}
|
||||
77
RobotNet.MapManager/Data/Edge.cs
Normal file
77
RobotNet.MapManager/Data/Edge.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using RobotNet.MapShares.Enums;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("Edges")]
|
||||
[Index(nameof(MapId), Name = "IX_Edge_MapId")]
|
||||
public class Edge
|
||||
{
|
||||
[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("StartNodeId", TypeName = "uniqueidentifier")]
|
||||
[Required]
|
||||
public Guid StartNodeId { get; set; }
|
||||
|
||||
[Column("EndNodeId", TypeName = "uniqueidentifier")]
|
||||
[Required]
|
||||
public Guid EndNodeId { get; set; }
|
||||
|
||||
[Column("ControlPoint1X", TypeName = "float")]
|
||||
public double ControlPoint1X { get; set; }
|
||||
|
||||
[Column("ControlPoint1Y", TypeName = "float")]
|
||||
public double ControlPoint1Y { get; set; }
|
||||
|
||||
[Column("ControlPoint2X", TypeName = "float")]
|
||||
public double ControlPoint2X { get; set; }
|
||||
|
||||
[Column("ControlPoint2Y", TypeName = "float")]
|
||||
public double ControlPoint2Y { get; set; }
|
||||
|
||||
[Column("TrajectoryDegree", TypeName = "tinyint")]
|
||||
public TrajectoryDegree TrajectoryDegree { get; set; }
|
||||
|
||||
[Column("MaxHeight", TypeName = "float")]
|
||||
public double MaxHeight { get; set; }
|
||||
|
||||
[Column("MinHeight", TypeName = "float")]
|
||||
public double MinHeight { get; set; }
|
||||
|
||||
[Column("DirectionAllowed", TypeName = "tinyint")]
|
||||
public DirectionAllowed DirectionAllowed { get; set; }
|
||||
|
||||
[Column("RotationAllowed", TypeName = "bit")]
|
||||
public bool RotationAllowed { get; set; }
|
||||
|
||||
[Column("MaxRotationSpeed", TypeName = "float")]
|
||||
public double MaxRotationSpeed { get; set; }
|
||||
|
||||
[Column("MaxSpeed", TypeName = "float")]
|
||||
public double MaxSpeed { get; set; }
|
||||
|
||||
[Column("AllowedDeviationXy", TypeName = "float")]
|
||||
public double AllowedDeviationXy { get; set; }
|
||||
|
||||
[Column("AllowedDeviationTheta", TypeName = "float")]
|
||||
public double AllowedDeviationTheta { get; set; }
|
||||
|
||||
[Column("Actions", TypeName = "nvarchar(max)")]
|
||||
public string Actions { get; set; }
|
||||
|
||||
public Map Map { get; set; }
|
||||
public virtual Node StartNode { get; set; }
|
||||
public virtual Node EndNode { get; set; }
|
||||
}
|
||||
49
RobotNet.MapManager/Data/Element.cs
Normal file
49
RobotNet.MapManager/Data/Element.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("Elements")]
|
||||
[Index(nameof(MapId), nameof(ModelId), Name = "IX_Element_MapId_ModelId")]
|
||||
public class Element
|
||||
{
|
||||
[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("ModelId", TypeName = "uniqueidentifier")]
|
||||
[Required]
|
||||
public Guid ModelId { get; set; }
|
||||
|
||||
[Column("NodeId", TypeName = "uniqueidentifier")]
|
||||
[Required]
|
||||
public Guid NodeId { get; set; }
|
||||
|
||||
[Column("Name", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("IsOpen", TypeName = "bit")]
|
||||
public bool IsOpen { get; set; }
|
||||
|
||||
[Column("OffsetX", TypeName = "float")]
|
||||
public double OffsetX { get; set; }
|
||||
|
||||
[Column("OffsetY", TypeName = "float")]
|
||||
public double OffsetY { get; set; }
|
||||
|
||||
[Column("Content", TypeName = "nvarchar(max)")]
|
||||
public string Content { get; set; }
|
||||
|
||||
public Map Map { get; set; }
|
||||
public ElementModel Model { get; set; }
|
||||
public Node Node { get; set; }
|
||||
}
|
||||
55
RobotNet.MapManager/Data/ElementModel.cs
Normal file
55
RobotNet.MapManager/Data/ElementModel.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("ElementModels")]
|
||||
[Index(nameof(MapId), nameof(Name), Name = "IX_ElementModel_MapId_Name")]
|
||||
public class ElementModel
|
||||
{
|
||||
[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("Name", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("Width", TypeName = "float")]
|
||||
[Required]
|
||||
public double Width { get; set; }
|
||||
|
||||
[Column("Height", TypeName = "float")]
|
||||
[Required]
|
||||
public double Height { get; set; }
|
||||
|
||||
[Column("Image1Width", TypeName = "int")]
|
||||
[Required]
|
||||
public int Image1Width { get; set; }
|
||||
|
||||
[Column("Image1Height", TypeName = "int")]
|
||||
[Required]
|
||||
public int Image1Height { get; set; }
|
||||
|
||||
[Column("Image2Width", TypeName = "int")]
|
||||
[Required]
|
||||
public int Image2Width { get; set; }
|
||||
|
||||
[Column("Image2Height", TypeName = "int")]
|
||||
[Required]
|
||||
public int Image2Height { get; set; }
|
||||
|
||||
[Column("Content", TypeName = "nvarchar(max)")]
|
||||
public string Content { get; set; }
|
||||
|
||||
public virtual ICollection<Element> Elements { get; } = [];
|
||||
public Map Map { get; set; }
|
||||
}
|
||||
125
RobotNet.MapManager/Data/Map.cs
Normal file
125
RobotNet.MapManager/Data/Map.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
using RobotNet.MapShares.Enums;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("Maps")]
|
||||
public class Map
|
||||
{
|
||||
[Column("Id", TypeName = "uniqueidentifier")]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Key]
|
||||
[Required]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
[Column("Name", TypeName = "nvarchar(64)")]
|
||||
[Required]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("Description", TypeName = "ntext")]
|
||||
public string Description { get; set; } = "";
|
||||
|
||||
[Column("VersionId", TypeName = "uniqueidentifier")]
|
||||
[Required]
|
||||
public Guid VersionId { get; set; }
|
||||
|
||||
[Column("OriginX", TypeName = "float")]
|
||||
[Required]
|
||||
public double OriginX { get; set; }
|
||||
|
||||
[Column("OriginY", TypeName = "float")]
|
||||
[Required]
|
||||
public double OriginY { get; set; }
|
||||
|
||||
[Column("Resolution", TypeName = "float")]
|
||||
[Required]
|
||||
public double Resolution { get; set; }
|
||||
|
||||
[Column("ViewX", TypeName = "float")]
|
||||
[Required]
|
||||
public double ViewX { get; set; }
|
||||
|
||||
[Column("ViewY", TypeName = "float")]
|
||||
[Required]
|
||||
public double ViewY { get; set; }
|
||||
|
||||
[Column("ViewWidth", TypeName = "float")]
|
||||
[Required]
|
||||
public double ViewWidth { get; set; }
|
||||
|
||||
[Column("ViewHeight", TypeName = "float")]
|
||||
[Required]
|
||||
public double ViewHeight { get; set; }
|
||||
|
||||
[Column("ImageWidth", TypeName = "float")]
|
||||
[Required]
|
||||
public double ImageWidth { get; set; }
|
||||
|
||||
[Column("ImageHeight", TypeName = "float")]
|
||||
[Required]
|
||||
public double ImageHeight { get; set; }
|
||||
|
||||
[Column("NodeCount", TypeName = "BigInt")]
|
||||
public Int64 NodeCount { get; set; }
|
||||
|
||||
[Column("Active", TypeName = "bit")]
|
||||
public bool Active { get; set; }
|
||||
|
||||
[Column("VDA5050", TypeName = "nvarchar(max)")]
|
||||
public string VDA5050 { get; set; } = ""; //AdditionalAttributes
|
||||
|
||||
[Column("NodeNameAutoGenerate", TypeName = "bit")]
|
||||
public bool NodeNameAutoGenerate { get; set; }
|
||||
|
||||
[Column("NodeNameTemplateDefault", TypeName = "nvarchar(64)")]
|
||||
public string NodeNameTemplateDefault { get; set; }
|
||||
|
||||
[Column("NodeAllowedDeviationXyDefault", TypeName = "float")]
|
||||
public double NodeAllowedDeviationXyDefault { get; set; }
|
||||
|
||||
[Column("NodeAllowedDeviationThetaDefault", TypeName = "float")]
|
||||
public double NodeAllowedDeviationThetaDefault { get; set; }
|
||||
|
||||
[Column("EdgeMinLengthDefault", TypeName = "float")]
|
||||
public double EdgeMinLengthDefault { get; set; }
|
||||
|
||||
[Column("EdgeStraightMaxSpeedDefault", TypeName = "float")]
|
||||
public double EdgeStraightMaxSpeedDefault { get; set; }
|
||||
|
||||
[Column("EdgeCurveMaxSpeedDefault", TypeName = "float")]
|
||||
public double EdgeCurveMaxSpeedDefault { get; set; }
|
||||
|
||||
[Column("EdgeMaxHeightDefault", TypeName = "float")]
|
||||
public double EdgeMaxHeightDefault { get; set; }
|
||||
|
||||
[Column("EdgeMinHeightDefault", TypeName = "float")]
|
||||
public double EdgeMinHeightDefault { get; set; }
|
||||
|
||||
[Column("EdgeMaxRoataionSpeedDefault", TypeName = "float")]
|
||||
public double EdgeMaxRotationSpeedDefault { get; set; }
|
||||
|
||||
[Column("EdgeDirectionAllowedDefault", TypeName = "tinyint")]
|
||||
public DirectionAllowed EdgeDirectionAllowedDefault { get; set; }
|
||||
|
||||
[Column("EdgeRotationAllowedDefault", TypeName = "bit")]
|
||||
public bool EdgeRotationAllowedDefault { get; set; }
|
||||
|
||||
[Column("EdgeAllowedDeviationXyDefault", TypeName = "float")]
|
||||
public double EdgeAllowedDeviationXyDefault { get; set; }
|
||||
|
||||
[Column("EdgeAllowedDeviationThetaDefault", TypeName = "float")]
|
||||
public double EdgeAllowedDeviationThetaDefault { get; set; }
|
||||
|
||||
[Column("ZoneMinSquareDefault", TypeName = "float")]
|
||||
public double ZoneMinSquareDefault { get; set; }
|
||||
|
||||
public virtual ICollection<Node> Nodes { get; } = [];
|
||||
public virtual ICollection<Edge> Edges { get; } = [];
|
||||
public virtual ICollection<Action> Actions { get; } = [];
|
||||
public virtual ICollection<Zone> Zones { get; } = [];
|
||||
public virtual ICollection<ElementModel> ElementModels { get; } = [];
|
||||
public virtual ICollection<Element> Elements { get; } = [];
|
||||
}
|
||||
90
RobotNet.MapManager/Data/MapEditorDbContext.cs
Normal file
90
RobotNet.MapManager/Data/MapEditorDbContext.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
|
||||
public class MapEditorDbContext(DbContextOptions<MapEditorDbContext> options) : DbContext(options)
|
||||
{
|
||||
public DbSet<Map> Maps { get; private set; }
|
||||
public DbSet<Node> Nodes { get; private set; }
|
||||
public DbSet<Edge> Edges { get; private set; }
|
||||
public DbSet<Zone> Zones { get; private set; }
|
||||
public DbSet<Action> Actions { get; private set; }
|
||||
public DbSet<ElementModel> ElementModels { get; private set; }
|
||||
public DbSet<Element> Elements { get; private set; }
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.Actions)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.Edges)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.Nodes)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.Zones)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Edge>()
|
||||
.HasOne(e => e.StartNode)
|
||||
.WithMany(n => n.StartEdges)
|
||||
.HasForeignKey(e => e.StartNodeId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Edge>()
|
||||
.HasOne(e => e.EndNode)
|
||||
.WithMany(n => n.EndEdges)
|
||||
.HasForeignKey(e => e.EndNodeId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.ElementModels)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Map>()
|
||||
.HasMany(e => e.Elements)
|
||||
.WithOne(e => e.Map)
|
||||
.HasForeignKey(e => e.MapId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<Node>()
|
||||
.HasOne(n => n.Element)
|
||||
.WithOne(e => e.Node)
|
||||
.HasForeignKey<Element>(e => e.NodeId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
modelBuilder.Entity<ElementModel>()
|
||||
.HasMany(e => e.Elements)
|
||||
.WithOne(e => e.Model)
|
||||
.HasForeignKey(e => e.ModelId)
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
}
|
||||
17
RobotNet.MapManager/Data/MapManagerDbExtensions.cs
Normal file
17
RobotNet.MapManager/Data/MapManagerDbExtensions.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
public static class MapManagerDbExtensions
|
||||
{
|
||||
public static async Task SeedMapManagerDbAsync(this IServiceProvider serviceProvider)
|
||||
{
|
||||
using var scope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope();
|
||||
|
||||
using var appDb = scope.ServiceProvider.GetRequiredService<MapEditorDbContext>();
|
||||
|
||||
await appDb.Database.MigrateAsync();
|
||||
//await appDb.Database.EnsureCreatedAsync();
|
||||
await appDb.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
603
RobotNet.MapManager/Data/Migrations/20250425030649_AddMapdb.Designer.cs
generated
Normal file
603
RobotNet.MapManager/Data/Migrations/20250425030649_AddMapdb.Designer.cs
generated
Normal file
@@ -0,0 +1,603 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace RobotNet.MapManager.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(MapEditorDbContext))]
|
||||
[Migration("20250425030649_AddMapdb")]
|
||||
partial class AddMapdb
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "9.0.4")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Action_MapId_Name");
|
||||
|
||||
b.ToTable("Actions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<double>("ControlPoint1X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1X");
|
||||
|
||||
b.Property<double>("ControlPoint1Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1Y");
|
||||
|
||||
b.Property<double>("ControlPoint2X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2X");
|
||||
|
||||
b.Property<double>("ControlPoint2Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2Y");
|
||||
|
||||
b.Property<byte>("DirectionAllowed")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("DirectionAllowed");
|
||||
|
||||
b.Property<Guid>("EndNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("EndNodeId");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<double>("MaxHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxHeight");
|
||||
|
||||
b.Property<double>("MaxRotationSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxRotationSpeed");
|
||||
|
||||
b.Property<double>("MaxSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxSpeed");
|
||||
|
||||
b.Property<double>("MinHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MinHeight");
|
||||
|
||||
b.Property<bool>("RotationAllowed")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("RotationAllowed");
|
||||
|
||||
b.Property<Guid>("StartNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("StartNodeId");
|
||||
|
||||
b.Property<byte>("TrajectoryDegree")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("TrajectoryDegree");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EndNodeId");
|
||||
|
||||
b.HasIndex("StartNodeId");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Edge_MapId");
|
||||
|
||||
b.ToTable("Edges");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<bool>("IsOpen")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("IsOpen");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<Guid>("ModelId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("ModelId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<Guid>("NodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("NodeId");
|
||||
|
||||
b.Property<double>("OffsetX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetX");
|
||||
|
||||
b.Property<double>("OffsetY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetY");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ModelId");
|
||||
|
||||
b.HasIndex("NodeId")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex(new[] { "MapId", "ModelId" }, "IX_Element_MapId_ModelId");
|
||||
|
||||
b.ToTable("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<double>("Height")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Height");
|
||||
|
||||
b.Property<int>("Image1Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Height");
|
||||
|
||||
b.Property<int>("Image1Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Width");
|
||||
|
||||
b.Property<int>("Image2Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Height");
|
||||
|
||||
b.Property<int>("Image2Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Width");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Width")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Width");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_ElementModel_MapId_Name");
|
||||
|
||||
b.ToTable("ElementModels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<bool>("Active")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("Active");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("ntext")
|
||||
.HasColumnName("Description");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<double>("EdgeCurveMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeCurveMaxSpeedDefault");
|
||||
|
||||
b.Property<byte>("EdgeDirectionAllowedDefault")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("EdgeDirectionAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxRotationSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxRoataionSpeedDefault");
|
||||
|
||||
b.Property<double>("EdgeMinHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMinLengthDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinLengthDefault");
|
||||
|
||||
b.Property<bool>("EdgeRotationAllowedDefault")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("EdgeRotationAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeStraightMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeStraightMaxSpeedDefault");
|
||||
|
||||
b.Property<double>("ImageHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageHeight");
|
||||
|
||||
b.Property<double>("ImageWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageWidth");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<long>("NodeCount")
|
||||
.HasColumnType("BigInt")
|
||||
.HasColumnName("NodeCount");
|
||||
|
||||
b.Property<bool>("NodeNameAutoGenerate")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("NodeNameAutoGenerate");
|
||||
|
||||
b.Property<string>("NodeNameTemplateDefault")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("NodeNameTemplateDefault");
|
||||
|
||||
b.Property<double>("OriginX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginX");
|
||||
|
||||
b.Property<double>("OriginY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginY");
|
||||
|
||||
b.Property<double>("Resolution")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Resolution");
|
||||
|
||||
b.Property<string>("VDA5050")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("VDA5050");
|
||||
|
||||
b.Property<Guid>("VersionId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("VersionId");
|
||||
|
||||
b.Property<double>("ViewHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewHeight");
|
||||
|
||||
b.Property<double>("ViewWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewWidth");
|
||||
|
||||
b.Property<double>("ViewX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewX");
|
||||
|
||||
b.Property<double>("ViewY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewY");
|
||||
|
||||
b.Property<double>("ZoneMinSquareDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ZoneMinSquareDefault");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Maps");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Theta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Theta");
|
||||
|
||||
b.Property<double>("X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X");
|
||||
|
||||
b.Property<double>("Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Node_MapId_Name");
|
||||
|
||||
b.ToTable("Nodes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<int>("Type")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Type");
|
||||
|
||||
b.Property<double>("X1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X1");
|
||||
|
||||
b.Property<double>("X2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X2");
|
||||
|
||||
b.Property<double>("X3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X3");
|
||||
|
||||
b.Property<double>("X4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X4");
|
||||
|
||||
b.Property<double>("Y1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y1");
|
||||
|
||||
b.Property<double>("Y2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y2");
|
||||
|
||||
b.Property<double>("Y3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y3");
|
||||
|
||||
b.Property<double>("Y4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Zone_MapId");
|
||||
|
||||
b.ToTable("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Actions")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "EndNode")
|
||||
.WithMany("EndEdges")
|
||||
.HasForeignKey("EndNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Edges")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "StartNode")
|
||||
.WithMany("StartEdges")
|
||||
.HasForeignKey("StartNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("EndNode");
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("StartNode");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.ElementModel", "Model")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("ModelId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "Node")
|
||||
.WithOne("Element")
|
||||
.HasForeignKey("RobotNet.MapManager.Data.Element", "NodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("Model");
|
||||
|
||||
b.Navigation("Node");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("ElementModels")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Nodes")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Zones")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Navigation("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Navigation("Actions");
|
||||
|
||||
b.Navigation("Edges");
|
||||
|
||||
b.Navigation("ElementModels");
|
||||
|
||||
b.Navigation("Elements");
|
||||
|
||||
b.Navigation("Nodes");
|
||||
|
||||
b.Navigation("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Navigation("Element");
|
||||
|
||||
b.Navigation("EndEdges");
|
||||
|
||||
b.Navigation("StartEdges");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
313
RobotNet.MapManager/Data/Migrations/20250425030649_AddMapdb.cs
Normal file
313
RobotNet.MapManager/Data/Migrations/20250425030649_AddMapdb.cs
Normal file
@@ -0,0 +1,313 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace RobotNet.MapManager.Data.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddMapdb : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Maps",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", nullable: false),
|
||||
Description = table.Column<string>(type: "ntext", nullable: true),
|
||||
VersionId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
OriginX = table.Column<double>(type: "float", nullable: false),
|
||||
OriginY = table.Column<double>(type: "float", nullable: false),
|
||||
Resolution = table.Column<double>(type: "float", nullable: false),
|
||||
ViewX = table.Column<double>(type: "float", nullable: false),
|
||||
ViewY = table.Column<double>(type: "float", nullable: false),
|
||||
ViewWidth = table.Column<double>(type: "float", nullable: false),
|
||||
ViewHeight = table.Column<double>(type: "float", nullable: false),
|
||||
ImageWidth = table.Column<double>(type: "float", nullable: false),
|
||||
ImageHeight = table.Column<double>(type: "float", nullable: false),
|
||||
NodeCount = table.Column<long>(type: "BigInt", nullable: false),
|
||||
Active = table.Column<bool>(type: "bit", nullable: false),
|
||||
VDA5050 = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||
NodeNameAutoGenerate = table.Column<bool>(type: "bit", nullable: false),
|
||||
NodeNameTemplateDefault = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
NodeAllowedDeviationXyDefault = table.Column<double>(type: "float", nullable: false),
|
||||
NodeAllowedDeviationThetaDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeMinLengthDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeStraightMaxSpeedDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeCurveMaxSpeedDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeMaxHeightDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeMinHeightDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeMaxRoataionSpeedDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeDirectionAllowedDefault = table.Column<byte>(type: "tinyint", nullable: false),
|
||||
EdgeRotationAllowedDefault = table.Column<bool>(type: "bit", nullable: false),
|
||||
EdgeAllowedDeviationXyDefault = table.Column<double>(type: "float", nullable: false),
|
||||
EdgeAllowedDeviationThetaDefault = table.Column<double>(type: "float", nullable: false),
|
||||
ZoneMinSquareDefault = table.Column<double>(type: "float", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Maps", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Actions",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
Content = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Actions", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Actions_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ElementModels",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
Width = table.Column<double>(type: "float", nullable: false),
|
||||
Height = table.Column<double>(type: "float", nullable: false),
|
||||
Image1Width = table.Column<int>(type: "int", nullable: false),
|
||||
Image1Height = table.Column<int>(type: "int", nullable: false),
|
||||
Image2Width = table.Column<int>(type: "int", nullable: false),
|
||||
Image2Height = table.Column<int>(type: "int", nullable: false),
|
||||
Content = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ElementModels", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ElementModels_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Nodes",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
X = table.Column<double>(type: "float", nullable: false),
|
||||
Y = table.Column<double>(type: "float", nullable: false),
|
||||
Theta = table.Column<double>(type: "float", nullable: false),
|
||||
AllowedDeviationXy = table.Column<double>(type: "float", nullable: false),
|
||||
AllowedDeviationTheta = table.Column<double>(type: "float", nullable: false),
|
||||
Actions = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Nodes", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Nodes_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Zones",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Type = table.Column<int>(type: "int", nullable: false),
|
||||
X1 = table.Column<double>(type: "float", nullable: false),
|
||||
Y1 = table.Column<double>(type: "float", nullable: false),
|
||||
X2 = table.Column<double>(type: "float", nullable: false),
|
||||
Y2 = table.Column<double>(type: "float", nullable: false),
|
||||
X3 = table.Column<double>(type: "float", nullable: false),
|
||||
Y3 = table.Column<double>(type: "float", nullable: false),
|
||||
X4 = table.Column<double>(type: "float", nullable: false),
|
||||
Y4 = table.Column<double>(type: "float", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Zones", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Zones_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Edges",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
StartNodeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
EndNodeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
ControlPoint1X = table.Column<double>(type: "float", nullable: false),
|
||||
ControlPoint1Y = table.Column<double>(type: "float", nullable: false),
|
||||
ControlPoint2X = table.Column<double>(type: "float", nullable: false),
|
||||
ControlPoint2Y = table.Column<double>(type: "float", nullable: false),
|
||||
TrajectoryDegree = table.Column<byte>(type: "tinyint", nullable: false),
|
||||
MaxHeight = table.Column<double>(type: "float", nullable: false),
|
||||
MinHeight = table.Column<double>(type: "float", nullable: false),
|
||||
DirectionAllowed = table.Column<byte>(type: "tinyint", nullable: false),
|
||||
RotationAllowed = table.Column<bool>(type: "bit", nullable: false),
|
||||
MaxRotationSpeed = table.Column<double>(type: "float", nullable: false),
|
||||
MaxSpeed = table.Column<double>(type: "float", nullable: false),
|
||||
AllowedDeviationXy = table.Column<double>(type: "float", nullable: false),
|
||||
AllowedDeviationTheta = table.Column<double>(type: "float", nullable: false),
|
||||
Actions = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Edges", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Edges_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Edges_Nodes_EndNodeId",
|
||||
column: x => x.EndNodeId,
|
||||
principalTable: "Nodes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Edges_Nodes_StartNodeId",
|
||||
column: x => x.StartNodeId,
|
||||
principalTable: "Nodes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Elements",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
MapId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
ModelId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
NodeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", nullable: true),
|
||||
IsOpen = table.Column<bool>(type: "bit", nullable: false),
|
||||
OffsetX = table.Column<double>(type: "float", nullable: false),
|
||||
OffsetY = table.Column<double>(type: "float", nullable: false),
|
||||
Content = table.Column<string>(type: "nvarchar(max)", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Elements", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Elements_ElementModels_ModelId",
|
||||
column: x => x.ModelId,
|
||||
principalTable: "ElementModels",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Elements_Maps_MapId",
|
||||
column: x => x.MapId,
|
||||
principalTable: "Maps",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Elements_Nodes_NodeId",
|
||||
column: x => x.NodeId,
|
||||
principalTable: "Nodes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Action_MapId_Name",
|
||||
table: "Actions",
|
||||
columns: new[] { "MapId", "Name" });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Edge_MapId",
|
||||
table: "Edges",
|
||||
column: "MapId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Edges_EndNodeId",
|
||||
table: "Edges",
|
||||
column: "EndNodeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Edges_StartNodeId",
|
||||
table: "Edges",
|
||||
column: "StartNodeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ElementModel_MapId_Name",
|
||||
table: "ElementModels",
|
||||
columns: new[] { "MapId", "Name" });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Element_MapId_ModelId",
|
||||
table: "Elements",
|
||||
columns: new[] { "MapId", "ModelId" });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Elements_ModelId",
|
||||
table: "Elements",
|
||||
column: "ModelId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Elements_NodeId",
|
||||
table: "Elements",
|
||||
column: "NodeId",
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Node_MapId_Name",
|
||||
table: "Nodes",
|
||||
columns: new[] { "MapId", "Name" });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Zone_MapId",
|
||||
table: "Zones",
|
||||
column: "MapId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Actions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Edges");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Elements");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Zones");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ElementModels");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Nodes");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Maps");
|
||||
}
|
||||
}
|
||||
}
|
||||
608
RobotNet.MapManager/Data/Migrations/20250812041834_AddZoneName.Designer.cs
generated
Normal file
608
RobotNet.MapManager/Data/Migrations/20250812041834_AddZoneName.Designer.cs
generated
Normal file
@@ -0,0 +1,608 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace RobotNet.MapManager.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(MapEditorDbContext))]
|
||||
[Migration("20250812041834_AddZoneName")]
|
||||
partial class AddZoneName
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "9.0.7")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Action_MapId_Name");
|
||||
|
||||
b.ToTable("Actions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<double>("ControlPoint1X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1X");
|
||||
|
||||
b.Property<double>("ControlPoint1Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1Y");
|
||||
|
||||
b.Property<double>("ControlPoint2X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2X");
|
||||
|
||||
b.Property<double>("ControlPoint2Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2Y");
|
||||
|
||||
b.Property<byte>("DirectionAllowed")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("DirectionAllowed");
|
||||
|
||||
b.Property<Guid>("EndNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("EndNodeId");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<double>("MaxHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxHeight");
|
||||
|
||||
b.Property<double>("MaxRotationSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxRotationSpeed");
|
||||
|
||||
b.Property<double>("MaxSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxSpeed");
|
||||
|
||||
b.Property<double>("MinHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MinHeight");
|
||||
|
||||
b.Property<bool>("RotationAllowed")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("RotationAllowed");
|
||||
|
||||
b.Property<Guid>("StartNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("StartNodeId");
|
||||
|
||||
b.Property<byte>("TrajectoryDegree")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("TrajectoryDegree");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EndNodeId");
|
||||
|
||||
b.HasIndex("StartNodeId");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Edge_MapId");
|
||||
|
||||
b.ToTable("Edges");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<bool>("IsOpen")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("IsOpen");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<Guid>("ModelId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("ModelId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<Guid>("NodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("NodeId");
|
||||
|
||||
b.Property<double>("OffsetX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetX");
|
||||
|
||||
b.Property<double>("OffsetY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetY");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ModelId");
|
||||
|
||||
b.HasIndex("NodeId")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex(new[] { "MapId", "ModelId" }, "IX_Element_MapId_ModelId");
|
||||
|
||||
b.ToTable("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<double>("Height")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Height");
|
||||
|
||||
b.Property<int>("Image1Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Height");
|
||||
|
||||
b.Property<int>("Image1Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Width");
|
||||
|
||||
b.Property<int>("Image2Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Height");
|
||||
|
||||
b.Property<int>("Image2Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Width");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Width")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Width");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_ElementModel_MapId_Name");
|
||||
|
||||
b.ToTable("ElementModels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<bool>("Active")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("Active");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("ntext")
|
||||
.HasColumnName("Description");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<double>("EdgeCurveMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeCurveMaxSpeedDefault");
|
||||
|
||||
b.Property<byte>("EdgeDirectionAllowedDefault")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("EdgeDirectionAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxRotationSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxRoataionSpeedDefault");
|
||||
|
||||
b.Property<double>("EdgeMinHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMinLengthDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinLengthDefault");
|
||||
|
||||
b.Property<bool>("EdgeRotationAllowedDefault")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("EdgeRotationAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeStraightMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeStraightMaxSpeedDefault");
|
||||
|
||||
b.Property<double>("ImageHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageHeight");
|
||||
|
||||
b.Property<double>("ImageWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageWidth");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<long>("NodeCount")
|
||||
.HasColumnType("BigInt")
|
||||
.HasColumnName("NodeCount");
|
||||
|
||||
b.Property<bool>("NodeNameAutoGenerate")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("NodeNameAutoGenerate");
|
||||
|
||||
b.Property<string>("NodeNameTemplateDefault")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("NodeNameTemplateDefault");
|
||||
|
||||
b.Property<double>("OriginX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginX");
|
||||
|
||||
b.Property<double>("OriginY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginY");
|
||||
|
||||
b.Property<double>("Resolution")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Resolution");
|
||||
|
||||
b.Property<string>("VDA5050")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("VDA5050");
|
||||
|
||||
b.Property<Guid>("VersionId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("VersionId");
|
||||
|
||||
b.Property<double>("ViewHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewHeight");
|
||||
|
||||
b.Property<double>("ViewWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewWidth");
|
||||
|
||||
b.Property<double>("ViewX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewX");
|
||||
|
||||
b.Property<double>("ViewY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewY");
|
||||
|
||||
b.Property<double>("ZoneMinSquareDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ZoneMinSquareDefault");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Maps");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Theta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Theta");
|
||||
|
||||
b.Property<double>("X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X");
|
||||
|
||||
b.Property<double>("Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Node_MapId_Name");
|
||||
|
||||
b.ToTable("Nodes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<int>("Type")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Type");
|
||||
|
||||
b.Property<double>("X1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X1");
|
||||
|
||||
b.Property<double>("X2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X2");
|
||||
|
||||
b.Property<double>("X3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X3");
|
||||
|
||||
b.Property<double>("X4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X4");
|
||||
|
||||
b.Property<double>("Y1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y1");
|
||||
|
||||
b.Property<double>("Y2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y2");
|
||||
|
||||
b.Property<double>("Y3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y3");
|
||||
|
||||
b.Property<double>("Y4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Zone_MapId");
|
||||
|
||||
b.ToTable("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Actions")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "EndNode")
|
||||
.WithMany("EndEdges")
|
||||
.HasForeignKey("EndNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Edges")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "StartNode")
|
||||
.WithMany("StartEdges")
|
||||
.HasForeignKey("StartNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("EndNode");
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("StartNode");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.ElementModel", "Model")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("ModelId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "Node")
|
||||
.WithOne("Element")
|
||||
.HasForeignKey("RobotNet.MapManager.Data.Element", "NodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("Model");
|
||||
|
||||
b.Navigation("Node");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("ElementModels")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Nodes")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Zones")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Navigation("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Navigation("Actions");
|
||||
|
||||
b.Navigation("Edges");
|
||||
|
||||
b.Navigation("ElementModels");
|
||||
|
||||
b.Navigation("Elements");
|
||||
|
||||
b.Navigation("Nodes");
|
||||
|
||||
b.Navigation("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Navigation("Element");
|
||||
|
||||
b.Navigation("EndEdges");
|
||||
|
||||
b.Navigation("StartEdges");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace RobotNet.MapManager.Data.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddZoneName : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Name",
|
||||
table: "Zones",
|
||||
type: "nvarchar(64)",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Name",
|
||||
table: "Zones");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,605 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace RobotNet.MapManager.Data.Migrations
|
||||
{
|
||||
[DbContext(typeof(MapEditorDbContext))]
|
||||
partial class MapEditorDbContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "9.0.7")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Action_MapId_Name");
|
||||
|
||||
b.ToTable("Actions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<double>("ControlPoint1X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1X");
|
||||
|
||||
b.Property<double>("ControlPoint1Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint1Y");
|
||||
|
||||
b.Property<double>("ControlPoint2X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2X");
|
||||
|
||||
b.Property<double>("ControlPoint2Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ControlPoint2Y");
|
||||
|
||||
b.Property<byte>("DirectionAllowed")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("DirectionAllowed");
|
||||
|
||||
b.Property<Guid>("EndNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("EndNodeId");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<double>("MaxHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxHeight");
|
||||
|
||||
b.Property<double>("MaxRotationSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxRotationSpeed");
|
||||
|
||||
b.Property<double>("MaxSpeed")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MaxSpeed");
|
||||
|
||||
b.Property<double>("MinHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("MinHeight");
|
||||
|
||||
b.Property<bool>("RotationAllowed")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("RotationAllowed");
|
||||
|
||||
b.Property<Guid>("StartNodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("StartNodeId");
|
||||
|
||||
b.Property<byte>("TrajectoryDegree")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("TrajectoryDegree");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EndNodeId");
|
||||
|
||||
b.HasIndex("StartNodeId");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Edge_MapId");
|
||||
|
||||
b.ToTable("Edges");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<bool>("IsOpen")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("IsOpen");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<Guid>("ModelId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("ModelId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<Guid>("NodeId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("NodeId");
|
||||
|
||||
b.Property<double>("OffsetX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetX");
|
||||
|
||||
b.Property<double>("OffsetY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OffsetY");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ModelId");
|
||||
|
||||
b.HasIndex("NodeId")
|
||||
.IsUnique();
|
||||
|
||||
b.HasIndex(new[] { "MapId", "ModelId" }, "IX_Element_MapId_ModelId");
|
||||
|
||||
b.ToTable("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Content");
|
||||
|
||||
b.Property<double>("Height")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Height");
|
||||
|
||||
b.Property<int>("Image1Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Height");
|
||||
|
||||
b.Property<int>("Image1Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image1Width");
|
||||
|
||||
b.Property<int>("Image2Height")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Height");
|
||||
|
||||
b.Property<int>("Image2Width")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Image2Width");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Width")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Width");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_ElementModel_MapId_Name");
|
||||
|
||||
b.ToTable("ElementModels");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<bool>("Active")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("Active");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasColumnType("ntext")
|
||||
.HasColumnName("Description");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("EdgeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<double>("EdgeCurveMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeCurveMaxSpeedDefault");
|
||||
|
||||
b.Property<byte>("EdgeDirectionAllowedDefault")
|
||||
.HasColumnType("tinyint")
|
||||
.HasColumnName("EdgeDirectionAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMaxRotationSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMaxRoataionSpeedDefault");
|
||||
|
||||
b.Property<double>("EdgeMinHeightDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinHeightDefault");
|
||||
|
||||
b.Property<double>("EdgeMinLengthDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeMinLengthDefault");
|
||||
|
||||
b.Property<bool>("EdgeRotationAllowedDefault")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("EdgeRotationAllowedDefault");
|
||||
|
||||
b.Property<double>("EdgeStraightMaxSpeedDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("EdgeStraightMaxSpeedDefault");
|
||||
|
||||
b.Property<double>("ImageHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageHeight");
|
||||
|
||||
b.Property<double>("ImageWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ImageWidth");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationThetaDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationThetaDefault");
|
||||
|
||||
b.Property<double>("NodeAllowedDeviationXyDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("NodeAllowedDeviationXyDefault");
|
||||
|
||||
b.Property<long>("NodeCount")
|
||||
.HasColumnType("BigInt")
|
||||
.HasColumnName("NodeCount");
|
||||
|
||||
b.Property<bool>("NodeNameAutoGenerate")
|
||||
.HasColumnType("bit")
|
||||
.HasColumnName("NodeNameAutoGenerate");
|
||||
|
||||
b.Property<string>("NodeNameTemplateDefault")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("NodeNameTemplateDefault");
|
||||
|
||||
b.Property<double>("OriginX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginX");
|
||||
|
||||
b.Property<double>("OriginY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("OriginY");
|
||||
|
||||
b.Property<double>("Resolution")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Resolution");
|
||||
|
||||
b.Property<string>("VDA5050")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("VDA5050");
|
||||
|
||||
b.Property<Guid>("VersionId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("VersionId");
|
||||
|
||||
b.Property<double>("ViewHeight")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewHeight");
|
||||
|
||||
b.Property<double>("ViewWidth")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewWidth");
|
||||
|
||||
b.Property<double>("ViewX")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewX");
|
||||
|
||||
b.Property<double>("ViewY")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ViewY");
|
||||
|
||||
b.Property<double>("ZoneMinSquareDefault")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("ZoneMinSquareDefault");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Maps");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<string>("Actions")
|
||||
.HasColumnType("nvarchar(max)")
|
||||
.HasColumnName("Actions");
|
||||
|
||||
b.Property<double>("AllowedDeviationTheta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationTheta");
|
||||
|
||||
b.Property<double>("AllowedDeviationXy")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("AllowedDeviationXy");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<double>("Theta")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Theta");
|
||||
|
||||
b.Property<double>("X")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X");
|
||||
|
||||
b.Property<double>("Y")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId", "Name" }, "IX_Node_MapId_Name");
|
||||
|
||||
b.ToTable("Nodes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("Id");
|
||||
|
||||
b.Property<Guid>("MapId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("MapId");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(64)")
|
||||
.HasColumnName("Name");
|
||||
|
||||
b.Property<int>("Type")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("Type");
|
||||
|
||||
b.Property<double>("X1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X1");
|
||||
|
||||
b.Property<double>("X2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X2");
|
||||
|
||||
b.Property<double>("X3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X3");
|
||||
|
||||
b.Property<double>("X4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("X4");
|
||||
|
||||
b.Property<double>("Y1")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y1");
|
||||
|
||||
b.Property<double>("Y2")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y2");
|
||||
|
||||
b.Property<double>("Y3")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y3");
|
||||
|
||||
b.Property<double>("Y4")
|
||||
.HasColumnType("float")
|
||||
.HasColumnName("Y4");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex(new[] { "MapId" }, "IX_Zone_MapId");
|
||||
|
||||
b.ToTable("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Action", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Actions")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Edge", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "EndNode")
|
||||
.WithMany("EndEdges")
|
||||
.HasForeignKey("EndNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Edges")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "StartNode")
|
||||
.WithMany("StartEdges")
|
||||
.HasForeignKey("StartNodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("EndNode");
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("StartNode");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Element", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.ElementModel", "Model")
|
||||
.WithMany("Elements")
|
||||
.HasForeignKey("ModelId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("RobotNet.MapManager.Data.Node", "Node")
|
||||
.WithOne("Element")
|
||||
.HasForeignKey("RobotNet.MapManager.Data.Element", "NodeId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
|
||||
b.Navigation("Model");
|
||||
|
||||
b.Navigation("Node");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("ElementModels")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Nodes")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Zone", b =>
|
||||
{
|
||||
b.HasOne("RobotNet.MapManager.Data.Map", "Map")
|
||||
.WithMany("Zones")
|
||||
.HasForeignKey("MapId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Map");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.ElementModel", b =>
|
||||
{
|
||||
b.Navigation("Elements");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Map", b =>
|
||||
{
|
||||
b.Navigation("Actions");
|
||||
|
||||
b.Navigation("Edges");
|
||||
|
||||
b.Navigation("ElementModels");
|
||||
|
||||
b.Navigation("Elements");
|
||||
|
||||
b.Navigation("Nodes");
|
||||
|
||||
b.Navigation("Zones");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("RobotNet.MapManager.Data.Node", b =>
|
||||
{
|
||||
b.Navigation("Element");
|
||||
|
||||
b.Navigation("EndEdges");
|
||||
|
||||
b.Navigation("StartEdges");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
51
RobotNet.MapManager/Data/Node.cs
Normal file
51
RobotNet.MapManager/Data/Node.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace RobotNet.MapManager.Data;
|
||||
|
||||
#nullable disable
|
||||
|
||||
[Table("Nodes")]
|
||||
[Index(nameof(MapId), nameof(Name), Name = "IX_Node_MapId_Name")]
|
||||
public class Node
|
||||
{
|
||||
[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("Name", TypeName = "nvarchar(64)")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("X", TypeName = "float")]
|
||||
[Required]
|
||||
public double X { get; set; }
|
||||
|
||||
[Column("Y", TypeName = "float")]
|
||||
[Required]
|
||||
public double Y { get; set; }
|
||||
|
||||
[Column("Theta", TypeName = "float")]
|
||||
[Required]
|
||||
public double Theta { get; set; }
|
||||
|
||||
[Column("AllowedDeviationXy", TypeName = "float")]
|
||||
public double AllowedDeviationXy { get; set; }
|
||||
|
||||
[Column("AllowedDeviationTheta", TypeName = "float")]
|
||||
public double AllowedDeviationTheta { get; set; }
|
||||
|
||||
[Column("Actions", TypeName = "nvarchar(max)")]
|
||||
public string Actions { get; set; }
|
||||
|
||||
public Map Map { get; set; }
|
||||
public Element Element { get; set; }
|
||||
public ICollection<Edge> StartEdges { get; } = [];
|
||||
public ICollection<Edge> EndEdges { get; } = [];
|
||||
}
|
||||
61
RobotNet.MapManager/Data/Zone.cs
Normal file
61
RobotNet.MapManager/Data/Zone.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
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!;
|
||||
}
|
||||
Reference in New Issue
Block a user