diff --git a/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.Designer.cs b/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.Designer.cs
new file mode 100644
index 0000000..9be0719
--- /dev/null
+++ b/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.Designer.cs
@@ -0,0 +1,125 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using RazorPagesMovie.Data;
+
+#nullable disable
+
+namespace RazorPagesMovie.Migrations
+{
+ [DbContext(typeof(RazorPagesMovieContext))]
+ [Migration("20260818121135_AddAdminUserAndContactMessage")]
+ partial class AddAdminUserAndContactMessage
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.28")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PasswordHash")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Username")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AdminUser");
+ });
+
+ modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("Message")
+ .IsRequired()
+ .HasMaxLength(4000)
+ .HasColumnType("nvarchar(4000)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Phone")
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("SentAt")
+ .HasColumnType("datetime2");
+
+ b.Property("Subject")
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.HasKey("Id");
+
+ b.ToTable("ContactMessage");
+ });
+
+ modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Genre")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("Price")
+ .HasColumnType("decimal(18, 2)");
+
+ b.Property("Rating")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("nvarchar(5)");
+
+ b.Property("ReleaseDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(60)
+ .HasColumnType("nvarchar(60)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Movie");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.cs b/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.cs
new file mode 100644
index 0000000..8a6b8e3
--- /dev/null
+++ b/RazorPagesMovie/Migrations/20260818121135_AddAdminUserAndContactMessage.cs
@@ -0,0 +1,57 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace RazorPagesMovie.Migrations
+{
+ ///
+ public partial class AddAdminUserAndContactMessage : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "AdminUser",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Username = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false),
+ PasswordHash = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AdminUser", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ContactMessage",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false),
+ Email = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false),
+ Phone = table.Column(type: "nvarchar(30)", maxLength: 30, nullable: true),
+ Subject = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: true),
+ Message = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false),
+ SentAt = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ContactMessage", x => x.Id);
+ });
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "AdminUser");
+
+ migrationBuilder.DropTable(
+ name: "ContactMessage");
+ }
+ }
+}
diff --git a/RazorPagesMovie/Migrations/RazorPagesMovieContextModelSnapshot.cs b/RazorPagesMovie/Migrations/RazorPagesMovieContextModelSnapshot.cs
index d9bd607..a601172 100644
--- a/RazorPagesMovie/Migrations/RazorPagesMovieContextModelSnapshot.cs
+++ b/RazorPagesMovie/Migrations/RazorPagesMovieContextModelSnapshot.cs
@@ -22,6 +22,67 @@ namespace RazorPagesMovie.Migrations
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+ modelBuilder.Entity("RazorPagesMovie.Models.AdminUser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PasswordHash")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Username")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AdminUser");
+ });
+
+ modelBuilder.Entity("RazorPagesMovie.Models.ContactMessage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("Message")
+ .IsRequired()
+ .HasMaxLength(4000)
+ .HasColumnType("nvarchar(4000)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("Phone")
+ .HasMaxLength(30)
+ .HasColumnType("nvarchar(30)");
+
+ b.Property("SentAt")
+ .HasColumnType("datetime2");
+
+ b.Property("Subject")
+ .HasMaxLength(150)
+ .HasColumnType("nvarchar(150)");
+
+ b.HasKey("Id");
+
+ b.ToTable("ContactMessage");
+ });
+
modelBuilder.Entity("RazorPagesMovie.Models.Movie", b =>
{
b.Property("Id")