diff --git a/WebAPI/Migrations/20240703171630_AfterCodeRefactor.Designer.cs b/WebAPI/Migrations/20240703171630_AfterCodeRefactor.Designer.cs
new file mode 100644
index 0000000..0807004
--- /dev/null
+++ b/WebAPI/Migrations/20240703171630_AfterCodeRefactor.Designer.cs
@@ -0,0 +1,319 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using WebAPI;
+
+#nullable disable
+
+namespace WebAPI.Migrations
+{
+ [DbContext(typeof(AppDbContext))]
+ [Migration("20240703171630_AfterCodeRefactor")]
+ partial class AfterCodeRefactor
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.6")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("WebAPI.Models.Layer", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("CreatedById")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("IsDeleted")
+ .HasColumnType("bit");
+
+ b.Property("ModifiedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("ModifiedById")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Number")
+ .HasColumnType("int");
+
+ b.Property("ParentId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Type")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CreatedById");
+
+ b.HasIndex("ModifiedById");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("Layers");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.ProcessSource", b =>
+ {
+ b.Property("LayerId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("SourceId")
+ .HasColumnType("uniqueidentifier");
+
+ b.HasKey("LayerId", "SourceId");
+
+ b.HasIndex("SourceId");
+
+ b.ToTable("ProcessSources");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.Record", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("CreatedById")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Desc1")
+ .HasMaxLength(1000)
+ .HasColumnType("nvarchar(1000)");
+
+ b.Property("IsDeleted")
+ .HasColumnType("bit");
+
+ b.Property("LayerId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ModifiedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("ModifiedById")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Value1")
+ .HasColumnType("float");
+
+ b.Property("Value10")
+ .HasColumnType("float");
+
+ b.Property("Value11")
+ .HasColumnType("float");
+
+ b.Property("Value12")
+ .HasColumnType("float");
+
+ b.Property("Value13")
+ .HasColumnType("float");
+
+ b.Property("Value14")
+ .HasColumnType("float");
+
+ b.Property("Value15")
+ .HasColumnType("float");
+
+ b.Property("Value16")
+ .HasColumnType("float");
+
+ b.Property("Value17")
+ .HasColumnType("float");
+
+ b.Property("Value18")
+ .HasColumnType("float");
+
+ b.Property("Value19")
+ .HasColumnType("float");
+
+ b.Property("Value2")
+ .HasColumnType("float");
+
+ b.Property("Value20")
+ .HasColumnType("float");
+
+ b.Property("Value21")
+ .HasColumnType("float");
+
+ b.Property("Value22")
+ .HasColumnType("float");
+
+ b.Property("Value23")
+ .HasColumnType("float");
+
+ b.Property("Value24")
+ .HasColumnType("float");
+
+ b.Property("Value25")
+ .HasColumnType("float");
+
+ b.Property("Value26")
+ .HasColumnType("float");
+
+ b.Property("Value27")
+ .HasColumnType("float");
+
+ b.Property("Value28")
+ .HasColumnType("float");
+
+ b.Property("Value29")
+ .HasColumnType("float");
+
+ b.Property("Value3")
+ .HasColumnType("float");
+
+ b.Property("Value30")
+ .HasColumnType("float");
+
+ b.Property("Value31")
+ .HasColumnType("float");
+
+ b.Property("Value32")
+ .HasColumnType("float");
+
+ b.Property("Value4")
+ .HasColumnType("float");
+
+ b.Property("Value5")
+ .HasColumnType("float");
+
+ b.Property("Value6")
+ .HasColumnType("float");
+
+ b.Property("Value7")
+ .HasColumnType("float");
+
+ b.Property("Value8")
+ .HasColumnType("float");
+
+ b.Property("Value9")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CreatedById");
+
+ b.HasIndex("LayerId");
+
+ b.HasIndex("ModifiedById");
+
+ b.ToTable("Records");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.User", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime2");
+
+ b.Property("Email")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UserName")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Users");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.Layer", b =>
+ {
+ b.HasOne("WebAPI.Models.User", "CreatedBy")
+ .WithMany()
+ .HasForeignKey("CreatedById")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebAPI.Models.User", "ModifiedBy")
+ .WithMany()
+ .HasForeignKey("ModifiedById")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebAPI.Models.Layer", "Parent")
+ .WithMany()
+ .HasForeignKey("ParentId");
+
+ b.Navigation("CreatedBy");
+
+ b.Navigation("ModifiedBy");
+
+ b.Navigation("Parent");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.ProcessSource", b =>
+ {
+ b.HasOne("WebAPI.Models.Layer", "Source")
+ .WithMany()
+ .HasForeignKey("SourceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Source");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.Record", b =>
+ {
+ b.HasOne("WebAPI.Models.User", "CreatedBy")
+ .WithMany()
+ .HasForeignKey("CreatedById")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebAPI.Models.Layer", null)
+ .WithMany("Records")
+ .HasForeignKey("LayerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("WebAPI.Models.User", "ModifiedBy")
+ .WithMany()
+ .HasForeignKey("ModifiedById")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("CreatedBy");
+
+ b.Navigation("ModifiedBy");
+ });
+
+ modelBuilder.Entity("WebAPI.Models.Layer", b =>
+ {
+ b.Navigation("Records");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/WebAPI/Migrations/20240703171630_AfterCodeRefactor.cs b/WebAPI/Migrations/20240703171630_AfterCodeRefactor.cs
new file mode 100644
index 0000000..a178ca4
--- /dev/null
+++ b/WebAPI/Migrations/20240703171630_AfterCodeRefactor.cs
@@ -0,0 +1,135 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace WebAPI.Migrations
+{
+ ///
+ public partial class AfterCodeRefactor : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "Desc2",
+ table: "Records");
+
+ migrationBuilder.DropColumn(
+ name: "Desc3",
+ table: "Records");
+
+ migrationBuilder.DropColumn(
+ name: "Desc4",
+ table: "Records");
+
+ migrationBuilder.DropColumn(
+ name: "Desc5",
+ table: "Records");
+
+ migrationBuilder.AlterColumn(
+ name: "Email",
+ table: "Users",
+ type: "nvarchar(50)",
+ maxLength: 50,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Desc1",
+ table: "Records",
+ type: "nvarchar(1000)",
+ maxLength: 1000,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Code",
+ table: "Records",
+ type: "nvarchar(50)",
+ maxLength: 50,
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "Layers",
+ type: "nvarchar(50)",
+ maxLength: 50,
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "Email",
+ table: "Users",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(50)",
+ oldMaxLength: 50,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Desc1",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(1000)",
+ oldMaxLength: 1000,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Code",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(50)",
+ oldMaxLength: 50);
+
+ migrationBuilder.AddColumn(
+ name: "Desc2",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "Desc3",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "Desc4",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "Desc5",
+ table: "Records",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Name",
+ table: "Layers",
+ type: "nvarchar(max)",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(50)",
+ oldMaxLength: 50);
+
+ }
+ }
+}