//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using PSTW_CentralSystem.DBContext;
#nullable disable
namespace PSTW_CentralSystem.Migrations
{
[DbContext(typeof(CentralSystemContext))]
[Migration("20241223071002_Initiate")]
partial class Initiate
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("ClaimType")
.HasColumnType("longtext");
b.Property("ClaimValue")
.HasColumnType("longtext");
b.Property("RoleId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("ClaimType")
.HasColumnType("longtext");
b.Property("ClaimValue")
.HasColumnType("longtext");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
{
b.Property("LoginProvider")
.HasColumnType("varchar(255)");
b.Property("ProviderKey")
.HasColumnType("varchar(255)");
b.Property("ProviderDisplayName")
.HasColumnType("longtext");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
{
b.Property("UserId")
.HasColumnType("int");
b.Property("RoleId")
.HasColumnType("int");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
b.HasData(
new
{
UserId = 1,
RoleId = 1
},
new
{
UserId = 2,
RoleId = 2
});
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
{
b.Property("UserId")
.HasColumnType("int");
b.Property("LoginProvider")
.HasColumnType("varchar(255)");
b.Property("Name")
.HasColumnType("varchar(255)");
b.Property("Value")
.HasColumnType("longtext");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ItemModel", b =>
{
b.Property("ItemID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ItemID"));
b.Property("CompanyId")
.HasColumnType("int");
b.Property("ConvertPrice")
.HasColumnType("float");
b.Property("CreatedByUserId")
.HasColumnType("int");
b.Property("Currency")
.IsRequired()
.HasColumnType("longtext");
b.Property("CurrencyRate")
.HasColumnType("float");
b.Property("DODate")
.HasColumnType("datetime(6)");
b.Property("DONo")
.HasColumnType("longtext");
b.Property("DepartmentId")
.HasColumnType("int");
b.Property("EndWDate")
.HasColumnType("datetime(6)");
b.Property("InvoiceDate")
.HasColumnType("datetime(6)");
b.Property("InvoiceNo")
.HasColumnType("longtext");
b.Property("ItemLocation")
.IsRequired()
.HasColumnType("longtext");
b.Property("ItemStatus")
.HasColumnType("int")
.HasComment("1 = In stock; 2 = Item Moving; 3 = Item Out; 4 = Item Broken; 5 = Item Lost; 6 = Item Stolen; 7 = Item Damaged; 8 = Item Discarded; 9 = Item Destroyed; 10 = Item Finished;");
b.Property("PONo")
.IsRequired()
.HasColumnType("longtext");
b.Property("DefaultPrice")
.HasColumnType("float");
b.Property("ProductId")
.HasColumnType("int");
b.Property("PurchaseDate")
.HasColumnType("datetime(6)");
b.Property("Quantity")
.HasColumnType("int");
b.Property("SerialNumber")
.HasColumnType("longtext");
b.Property("Supplier")
.IsRequired()
.HasColumnType("longtext");
b.Property("TeamType")
.HasColumnType("longtext");
b.Property("UniqueID")
.IsRequired()
.HasColumnType("longtext");
b.Property("Warranty")
.HasColumnType("int");
b.HasKey("ItemID");
b.HasIndex("CompanyId");
b.HasIndex("CreatedByUserId");
b.HasIndex("DepartmentId");
b.HasIndex("ProductId");
b.ToTable("Items");
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ManufacturerModel", b =>
{
b.Property("ManufacturerId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ManufacturerId"));
b.Property("ManufacturerName")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("ManufacturerId");
b.ToTable("Manufacturers");
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ProductModel", b =>
{
b.Property("ProductId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("ProductId"));
b.Property("Category")
.IsRequired()
.HasColumnType("longtext");
b.Property("ImageProduct")
.IsRequired()
.HasColumnType("longtext");
b.Property("ManufacturerId")
.HasColumnType("int");
b.Property("ModelNo")
.IsRequired()
.HasColumnType("longtext");
b.Property("ProductName")
.IsRequired()
.HasColumnType("longtext");
b.Property("QuantityProduct")
.HasColumnType("int");
b.HasKey("ProductId");
b.HasIndex("ManufacturerId");
b.ToTable("Products");
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.SupplierModel", b =>
{
b.Property("SupplierId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("SupplierId"));
b.Property("SupplierEmail")
.IsRequired()
.HasColumnType("longtext");
b.Property("SupplierGender")
.IsRequired()
.HasColumnType("longtext");
b.Property("SupplierName")
.IsRequired()
.HasColumnType("longtext");
b.Property("SupplierPhoneNo")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("SupplierId");
b.ToTable("Suppliers");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.CompanyModel", b =>
{
b.Property("CompanyId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("CompanyId"));
b.Property("CompanyName")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("CompanyId");
b.ToTable("Companies");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.DepartmentModel", b =>
{
b.Property("DepartmentId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("DepartmentId"));
b.Property("CompanyId")
.HasColumnType("int");
b.Property("DepartmentCode")
.IsRequired()
.HasColumnType("longtext");
b.Property("DepartmentName")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("DepartmentId");
b.HasIndex("CompanyId");
b.ToTable("Departments");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.ModuleSettingModel", b =>
{
b.Property("SettingId")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("SettingId"));
b.Property("AllowedUserType")
.HasColumnType("longtext");
b.Property("Description")
.HasColumnType("longtext");
b.Property("MethodAllowedUserType")
.HasColumnType("json");
b.Property("ModuleName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("varchar(50)");
b.Property("ModuleStatus")
.HasColumnType("int");
b.HasKey("SettingId");
b.ToTable("ModuleSettings");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.RoleModel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("longtext");
b.Property("Description")
.HasColumnType("longtext");
b.Property("Name")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property("NormalizedName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
b.HasData(
new
{
Id = 1,
Description = "Can access all pages",
Name = "SuperAdmin",
NormalizedName = "SUPERADMIN"
},
new
{
Id = 2,
Description = "Can access some admin pages",
Name = "SystemAdmin",
NormalizedName = "SYSTEMADMIN"
},
new
{
Id = 3,
Description = "Can access operation pages",
Name = "Engineer",
NormalizedName = "ENGINEER"
},
new
{
Id = 4,
Description = "Can access data viewer pages",
Name = "Observer",
NormalizedName = "OBSERVER"
});
});
modelBuilder.Entity("PSTW_CentralSystem.Models.UserModel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("AccessFailedCount")
.HasColumnType("int");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("longtext");
b.Property("Email")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property("EmailConfirmed")
.HasColumnType("tinyint(1)");
b.Property("FullName")
.HasColumnType("longtext");
b.Property("LockoutEnabled")
.HasColumnType("tinyint(1)");
b.Property("LockoutEnd")
.HasColumnType("datetime(6)");
b.Property("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property("PasswordHash")
.HasColumnType("longtext");
b.Property("PhoneNumber")
.HasColumnType("longtext");
b.Property("PhoneNumberConfirmed")
.HasColumnType("tinyint(1)");
b.Property("SecurityStamp")
.HasColumnType("longtext");
b.Property("TwoFactorEnabled")
.HasColumnType("tinyint(1)");
b.Property("UserInfoStatus")
.HasColumnType("int");
b.Property("UserName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property("departmentId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.HasIndex("departmentId");
b.ToTable("AspNetUsers", (string)null);
b.HasData(
new
{
Id = 1,
AccessFailedCount = 0,
ConcurrencyStamp = "7a7ee381-cecc-4268-9fc4-1f04eebfcb2c",
Email = "admin@pstw.com.my",
EmailConfirmed = true,
FullName = "MAAdmin",
LockoutEnabled = false,
NormalizedEmail = "ADMIN@PSTW.COM.MY",
NormalizedUserName = "ADMIN@PSTW.COM.MY",
PasswordHash = "AQAAAAIAAYagAAAAEKL4x2bfz8vXmcqMKqRsdQPdP9FVEhj4IR3FVvfFdeMdJb1Z7vekx6E3Qzycgpj3WA==",
PhoneNumberConfirmed = false,
SecurityStamp = "5f7b5fe6-fb4d-4350-93aa-f3103c6e9a4d",
TwoFactorEnabled = false,
UserInfoStatus = 1,
UserName = "admin@pstw.com.my"
},
new
{
Id = 2,
AccessFailedCount = 0,
ConcurrencyStamp = "fd4022cd-e08a-43c1-823c-573a86e86a9d",
Email = "sysadmin@pstw.com.my",
EmailConfirmed = true,
FullName = "SysAdmin",
LockoutEnabled = false,
NormalizedEmail = "SYSADMIN@PSTW.COM.MY",
NormalizedUserName = "SYSADMIN@PSTW.COM.MY",
PasswordHash = "AQAAAAIAAYagAAAAENI+MWqt+OwSLiTBhOC5LBV7nWb8hnfcGEnUOLpadTdCHa6rV0ukUo6Hd5nGRL5rTw==",
PhoneNumberConfirmed = false,
SecurityStamp = "0b4291c9-d818-4485-bd96-adde7e14286d",
TwoFactorEnabled = false,
UserInfoStatus = 1,
UserName = "sysadmin@pstw.com.my"
});
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
{
b.HasOne("PSTW_CentralSystem.Models.RoleModel", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
{
b.HasOne("PSTW_CentralSystem.Models.UserModel", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
{
b.HasOne("PSTW_CentralSystem.Models.UserModel", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
{
b.HasOne("PSTW_CentralSystem.Models.RoleModel", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PSTW_CentralSystem.Models.UserModel", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
{
b.HasOne("PSTW_CentralSystem.Models.UserModel", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ItemModel", b =>
{
b.HasOne("PSTW_CentralSystem.Models.CompanyModel", "Company")
.WithMany()
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PSTW_CentralSystem.Models.UserModel", "CreatedBy")
.WithMany()
.HasForeignKey("CreatedByUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PSTW_CentralSystem.Models.DepartmentModel", "Department")
.WithMany()
.HasForeignKey("DepartmentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("PSTW_CentralSystem.Areas.Inventory.Models.ProductModel", "Product")
.WithMany("Items")
.HasForeignKey("ProductId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
b.Navigation("CreatedBy");
b.Navigation("Department");
b.Navigation("Product");
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ProductModel", b =>
{
b.HasOne("PSTW_CentralSystem.Areas.Inventory.Models.ManufacturerModel", "Manufacturer")
.WithMany()
.HasForeignKey("ManufacturerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manufacturer");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.DepartmentModel", b =>
{
b.HasOne("PSTW_CentralSystem.Models.CompanyModel", "Company")
.WithMany("Departments")
.HasForeignKey("CompanyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Company");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.UserModel", b =>
{
b.HasOne("PSTW_CentralSystem.Models.DepartmentModel", "Department")
.WithMany()
.HasForeignKey("departmentId");
b.Navigation("Department");
});
modelBuilder.Entity("PSTW_CentralSystem.Areas.Inventory.Models.ProductModel", b =>
{
b.Navigation("Items");
});
modelBuilder.Entity("PSTW_CentralSystem.Models.CompanyModel", b =>
{
b.Navigation("Departments");
});
#pragma warning restore 612, 618
}
}
}