marco.pms.api/Marco.Pms.DataAccess/Migrations/20250124111814_initiateapp.Designer.cs

1542 lines
54 KiB
C#

// <auto-generated />
using System;
using Marco.Pms.DataAccess.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("20250124111814_initiateapp")]
partial class initiateapp
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.12")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
//MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskAllocation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime>("AllocationDate")
.HasColumnType("datetime(6)");
b.Property<int>("BuildingId")
.HasColumnType("int");
b.Property<int>("EmployeeId")
.HasColumnType("int");
b.Property<int>("EmployeeRole")
.HasColumnType("int");
b.Property<int>("ProjectId")
.HasColumnType("int");
b.Property<DateTime>("ReAllocationDate")
.HasColumnType("datetime(6)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.Property<int>("WorkAreaId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("BuildingId");
b.HasIndex("EmployeeId");
b.HasIndex("ProjectId");
b.HasIndex("TenantId");
b.HasIndex("WorkAreaId");
b.ToTable("TaskAllocations");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.WorkItem", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ActivityId")
.HasColumnType("int");
b.Property<int>("CompletedWork")
.HasColumnType("int");
b.Property<int>("PlannedWork")
.HasColumnType("int");
b.Property<DateTime>("TaskDate")
.HasColumnType("datetime(6)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.Property<int>("WorkAreaId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ActivityId");
b.HasIndex("TenantId");
b.HasIndex("WorkAreaId");
b.ToTable("WorkItems");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.WorkItemMapping", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<int>("TenantId")
.HasColumnType("int");
b.Property<int>("WorkAreaId")
.HasColumnType("int");
b.Property<int>("WorkItemId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.HasIndex("WorkAreaId");
b.HasIndex("WorkItemId");
b.ToTable("WorkItemMapping");
});
modelBuilder.Entity("Marco.Pms.Model.Authentication.RefreshToken", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<DateTime>("ExpiryDate")
.HasColumnType("datetime(6)");
b.Property<bool>("IsRevoked")
.HasColumnType("tinyint(1)");
b.Property<bool>("IsUsed")
.HasColumnType("tinyint(1)");
b.Property<DateTime?>("RevokedAt")
.HasColumnType("datetime(6)");
b.Property<string>("Token")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("RefreshTokens");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Attendance", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ApprovedBy")
.HasColumnType("longtext");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("Date")
.HasColumnType("datetime(6)");
b.Property<int>("EmployeeID")
.HasColumnType("int");
b.Property<int?>("InTimeID")
.HasColumnType("int");
b.Property<bool>("IsApproved")
.HasColumnType("tinyint(1)");
b.Property<int?>("OutTimeID")
.HasColumnType("int");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("EmployeeID");
b.HasIndex("InTimeID");
b.HasIndex("OutTimeID");
b.HasIndex("TenantId");
b.ToTable("Attendances");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.AttendanceLog", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime?>("CheckTime")
.HasColumnType("datetime(6)");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("EmployeeID")
.HasColumnType("int");
b.Property<bool>("IsCheckIn")
.HasColumnType("tinyint(1)");
b.Property<string>("Latitude")
.HasColumnType("longtext");
b.Property<string>("Longitude")
.HasColumnType("longtext");
b.Property<byte[]>("Photo")
.HasColumnType("longblob");
b.Property<int>("TenantId")
.HasColumnType("int");
b.Property<string>("UpdatedBy")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("EmployeeID");
b.HasIndex("TenantId");
b.ToTable("AttendanceLogs");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Employee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("AadharNumber")
.HasColumnType("longtext");
b.Property<string>("ApplicationUserId")
.HasColumnType("varchar(255)");
b.Property<DateTime?>("BirthDate")
.HasColumnType("datetime(6)");
b.Property<string>("CurrentAddress")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Email")
.HasColumnType("longtext");
b.Property<string>("EmergencyPhoneNumber")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("FirstName")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Gender")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("LastName")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("MiddleName")
.HasColumnType("longtext");
b.Property<string>("PanNumber")
.HasColumnType("longtext");
b.Property<string>("PeramnentAddress")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("longtext");
b.Property<byte[]>("Photo")
.HasColumnType("longblob");
b.Property<Guid>("RoleId")
.HasColumnType("char(36)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ApplicationUserId");
b.HasIndex("RoleId");
b.HasIndex("TenantId");
b.ToTable("Employees");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.WorkShift", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<TimeOnly>("EndTime")
.HasColumnType("time(6)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<TimeOnly>("StartTime")
.HasColumnType("time(6)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("WorkShifts");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.ActivityMaster", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ActivityName")
.IsRequired()
.HasColumnType("longtext");
b.Property<int?>("TaskAllocationId")
.HasColumnType("int");
b.Property<int>("TenantId")
.HasColumnType("int");
b.Property<string>("UnitOfMeasurement")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("TaskAllocationId");
b.HasIndex("TenantId");
b.ToTable("ActivityMasters");
b.HasData(
new
{
Id = 1,
ActivityName = "Core Cutting",
TenantId = 1,
UnitOfMeasurement = "Number"
},
new
{
Id = 2,
ActivityName = "Fabrication",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 3,
ActivityName = "Lifting",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 4,
ActivityName = "Hanging",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 5,
ActivityName = "Tapping",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 6,
ActivityName = "Welding",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 7,
ActivityName = "Testing",
TenantId = 1,
UnitOfMeasurement = "Area"
},
new
{
Id = 8,
ActivityName = "Painting",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 9,
ActivityName = "Marking Area",
TenantId = 1,
UnitOfMeasurement = "Meter"
},
new
{
Id = 10,
ActivityName = "Drilling",
TenantId = 1,
UnitOfMeasurement = "Number"
},
new
{
Id = 11,
ActivityName = "MS Support Fabrication",
TenantId = 1,
UnitOfMeasurement = "Number"
},
new
{
Id = 12,
ActivityName = "MS Support Hanging",
TenantId = 1,
UnitOfMeasurement = "Number"
},
new
{
Id = 13,
ActivityName = "Hydrant Volve",
TenantId = 1,
UnitOfMeasurement = "Number"
},
new
{
Id = 14,
ActivityName = "Sprinkler Installation",
TenantId = 1,
UnitOfMeasurement = "Number"
});
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.EmployeeRole", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Role")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("EmployeeRoles");
b.HasData(
new
{
Id = new Guid("2c8d0808-c421-11ef-9b93-0242ac110002"),
Role = "Admin",
TenantId = 1
},
new
{
Id = new Guid("62e0918d-c421-11ef-9b93-0242ac110002"),
Role = "Welder",
TenantId = 1
},
new
{
Id = new Guid("68823f1f-c421-11ef-9b93-0242ac110002"),
Role = "Helper",
TenantId = 1
},
new
{
Id = new Guid("6d3a7c72-c421-11ef-9b93-0242ac110002"),
Role = "Site Engineer",
TenantId = 1
},
new
{
Id = new Guid("6d3aad72-c421-11ef-9b93-0242ac110002"),
Role = "Project Manager",
TenantId = 1
});
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Feature", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Feature");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.FeaturePermission", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("FeatureId")
.HasColumnType("char(36)");
b.Property<bool>("IsEnabled")
.HasColumnType("tinyint(1)");
b.Property<Guid>("RoleId")
.HasColumnType("char(36)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("FeatureId");
b.HasIndex("RoleId");
b.HasIndex("TenantId");
b.ToTable("FeaturePermission");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.StatusMaster", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("Status")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("StatusMasters");
b.HasData(
new
{
Id = 1,
Status = "Active",
TenantId = 1
},
new
{
Id = 2,
Status = "In Progress",
TenantId = 1
},
new
{
Id = 3,
Status = "On Hold",
TenantId = 1
},
new
{
Id = 4,
Status = "Completed",
TenantId = 1
});
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Tenant", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ContactName")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("ContactNumber")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("DomainName")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("OnBoardingDate")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.ToTable("Tenants");
b.HasData(
new
{
Id = 1,
ContactName = "Admin",
ContactNumber = "123456789",
Description = "",
DomainName = "www.marcobms.org",
Name = "MarcoBMS",
OnBoardingDate = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)
});
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Building", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("ProjectId")
.HasColumnType("int");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Buildings");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Floor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<int>("BuildingId")
.HasColumnType("int");
b.Property<string>("FloorName")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("BuildingId");
b.HasIndex("TenantId");
b.ToTable("Floor");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Project", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ContactPerson")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime?>("EndDate")
.HasColumnType("datetime(6)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("ProjectAddress")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("ProjectStatusId")
.HasColumnType("int");
b.Property<DateTime?>("StartDate")
.HasColumnType("datetime(6)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ProjectStatusId");
b.HasIndex("TenantId");
b.ToTable("Projects");
b.HasData(
new
{
Id = 1,
ContactPerson = "Project 1 Contact Person",
Name = "Project 1",
ProjectAddress = "Project 1 Address",
ProjectStatusId = 1,
TenantId = 1
},
new
{
Id = 2,
ContactPerson = "Project 2 Contact Person",
Name = "Project 2",
ProjectAddress = "Project 2 Address",
ProjectStatusId = 2,
TenantId = 1
},
new
{
Id = 3,
ContactPerson = "Project 3 Contact Person",
Name = "Project 3",
ProjectAddress = "Project 3 Address",
ProjectStatusId = 3,
TenantId = 1
});
});
modelBuilder.Entity("Marco.Pms.Model.Projects.ProjectAllocation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime>("AllocationDate")
.HasColumnType("datetime(6)");
b.Property<int>("EmployeeId")
.HasColumnType("int");
b.Property<Guid?>("EmployeeRoleId")
.HasColumnType("char(36)");
b.Property<int>("ProjectId")
.HasColumnType("int");
b.Property<DateTime?>("ReAllocationDate")
.HasColumnType("datetime(6)");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.HasIndex("ProjectId");
b.HasIndex("TenantId");
b.ToTable("ProjectAllocations");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.WorkArea", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("AreaName")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("FloorId")
.HasColumnType("int");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("FloorId");
b.HasIndex("TenantId");
b.ToTable("WorkAreas");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.HasColumnType("varchar(255)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("longtext");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("longtext");
b.Property<string>("ClaimValue")
.HasColumnType("longtext");
b.Property<string>("RoleId")
.IsRequired()
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
{
b.Property<string>("Id")
.HasColumnType("varchar(255)");
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("longtext");
b.Property<string>("Discriminator")
.IsRequired()
.HasMaxLength(21)
.HasColumnType("varchar(21)");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("tinyint(1)");
b.Property<bool>("LockoutEnabled")
.HasColumnType("tinyint(1)");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetime(6)");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("longtext");
b.Property<string>("PhoneNumber")
.HasColumnType("longtext");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("tinyint(1)");
b.Property<string>("SecurityStamp")
.HasColumnType("longtext");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("tinyint(1)");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("varchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
b.HasDiscriminator().HasValue("IdentityUser");
b.UseTphMappingStrategy();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ClaimType")
.HasColumnType("longtext");
b.Property<string>("ClaimValue")
.HasColumnType("longtext");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("varchar(255)");
b.Property<string>("ProviderKey")
.HasColumnType("varchar(255)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("longtext");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(255)");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("varchar(255)");
b.Property<string>("RoleId")
.HasColumnType("varchar(255)");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("varchar(255)");
b.Property<string>("LoginProvider")
.HasColumnType("varchar(255)");
b.Property<string>("Name")
.HasColumnType("varchar(255)");
b.Property<string>("Value")
.HasColumnType("longtext");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.ApplicationUser", b =>
{
b.HasBaseType("Microsoft.AspNetCore.Identity.IdentityUser");
b.Property<bool?>("IsRootUser")
.HasColumnType("tinyint(1)");
b.Property<string>("Role")
.IsRequired()
.HasColumnType("longtext");
b.Property<int>("TenantId")
.HasColumnType("int");
b.HasDiscriminator().HasValue("ApplicationUser");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskAllocation", b =>
{
b.HasOne("Marco.Pms.Model.Projects.Building", "Building")
.WithMany()
.HasForeignKey("BuildingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Projects.Project", "Project")
.WithMany()
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Projects.WorkArea", "WorkArea")
.WithMany()
.HasForeignKey("WorkAreaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Building");
b.Navigation("Employee");
b.Navigation("Project");
b.Navigation("Tenant");
b.Navigation("WorkArea");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.WorkItem", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.ActivityMaster", "ActivityMaster")
.WithMany()
.HasForeignKey("ActivityId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Projects.WorkArea", "WorkArea")
.WithMany()
.HasForeignKey("WorkAreaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ActivityMaster");
b.Navigation("Tenant");
b.Navigation("WorkArea");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.WorkItemMapping", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Projects.WorkArea", "WorkArea")
.WithMany()
.HasForeignKey("WorkAreaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Activities.WorkItem", "WorkItem")
.WithMany()
.HasForeignKey("WorkItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
b.Navigation("WorkArea");
b.Navigation("WorkItem");
});
modelBuilder.Entity("Marco.Pms.Model.Authentication.RefreshToken", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Attendance", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Employees.AttendanceLog", "InTimeLog")
.WithMany()
.HasForeignKey("InTimeID");
b.HasOne("Marco.Pms.Model.Employees.AttendanceLog", "OutTimeLog")
.WithMany()
.HasForeignKey("OutTimeID");
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("InTimeLog");
b.Navigation("OutTimeLog");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.AttendanceLog", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Employee", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.ApplicationUser", "ApplicationUser")
.WithMany()
.HasForeignKey("ApplicationUserId");
b.HasOne("Marco.Pms.Model.Entitlements.EmployeeRole", "EmployeeRole")
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ApplicationUser");
b.Navigation("EmployeeRole");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.WorkShift", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.ActivityMaster", b =>
{
b.HasOne("Marco.Pms.Model.Activities.TaskAllocation", null)
.WithMany("AllotedTask")
.HasForeignKey("TaskAllocationId");
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.EmployeeRole", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Feature", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.FeaturePermission", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Feature", "Feature")
.WithMany()
.HasForeignKey("FeatureId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.EmployeeRole", "Role")
.WithMany("FeaturePermissions")
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Feature");
b.Navigation("Role");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.StatusMaster", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Building", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Floor", b =>
{
b.HasOne("Marco.Pms.Model.Projects.Building", "Building")
.WithMany()
.HasForeignKey("BuildingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Building");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Project", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.StatusMaster", "ProjectStatus")
.WithMany()
.HasForeignKey("ProjectStatusId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ProjectStatus");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.ProjectAllocation", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Projects.Project", "Project")
.WithMany()
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Project");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.WorkArea", b =>
{
b.HasOne("Marco.Pms.Model.Projects.Floor", "Floor")
.WithMany()
.HasForeignKey("FloorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Floor");
b.Navigation("Tenant");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskAllocation", b =>
{
b.Navigation("AllotedTask");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.EmployeeRole", b =>
{
b.Navigation("FeaturePermissions");
});
#pragma warning restore 612, 618
}
}
}