// 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 { /// 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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AllocationDate") .HasColumnType("datetime(6)"); b.Property("BuildingId") .HasColumnType("int"); b.Property("EmployeeId") .HasColumnType("int"); b.Property("EmployeeRole") .HasColumnType("int"); b.Property("ProjectId") .HasColumnType("int"); b.Property("ReAllocationDate") .HasColumnType("datetime(6)"); b.Property("TenantId") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ActivityId") .HasColumnType("int"); b.Property("CompletedWork") .HasColumnType("int"); b.Property("PlannedWork") .HasColumnType("int"); b.Property("TaskDate") .HasColumnType("datetime(6)"); b.Property("TenantId") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("TenantId") .HasColumnType("int"); b.Property("WorkAreaId") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ExpiryDate") .HasColumnType("datetime(6)"); b.Property("IsRevoked") .HasColumnType("tinyint(1)"); b.Property("IsUsed") .HasColumnType("tinyint(1)"); b.Property("RevokedAt") .HasColumnType("datetime(6)"); b.Property("Token") .IsRequired() .HasColumnType("longtext"); b.Property("UserId") .IsRequired() .HasColumnType("varchar(255)"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("RefreshTokens"); }); modelBuilder.Entity("Marco.Pms.Model.Employees.Attendance", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ApprovedBy") .HasColumnType("longtext"); b.Property("Comment") .IsRequired() .HasColumnType("longtext"); b.Property("Date") .HasColumnType("datetime(6)"); b.Property("EmployeeID") .HasColumnType("int"); b.Property("InTimeID") .HasColumnType("int"); b.Property("IsApproved") .HasColumnType("tinyint(1)"); b.Property("OutTimeID") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CheckTime") .HasColumnType("datetime(6)"); b.Property("Comment") .IsRequired() .HasColumnType("longtext"); b.Property("EmployeeID") .HasColumnType("int"); b.Property("IsCheckIn") .HasColumnType("tinyint(1)"); b.Property("Latitude") .HasColumnType("longtext"); b.Property("Longitude") .HasColumnType("longtext"); b.Property("Photo") .HasColumnType("longblob"); b.Property("TenantId") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AadharNumber") .HasColumnType("longtext"); b.Property("ApplicationUserId") .HasColumnType("varchar(255)"); b.Property("BirthDate") .HasColumnType("datetime(6)"); b.Property("CurrentAddress") .IsRequired() .HasColumnType("longtext"); b.Property("Email") .HasColumnType("longtext"); b.Property("EmergencyPhoneNumber") .IsRequired() .HasColumnType("longtext"); b.Property("FirstName") .IsRequired() .HasColumnType("longtext"); b.Property("Gender") .IsRequired() .HasColumnType("longtext"); b.Property("LastName") .IsRequired() .HasColumnType("longtext"); b.Property("MiddleName") .HasColumnType("longtext"); b.Property("PanNumber") .HasColumnType("longtext"); b.Property("PeramnentAddress") .IsRequired() .HasColumnType("longtext"); b.Property("PhoneNumber") .IsRequired() .HasColumnType("longtext"); b.Property("Photo") .HasColumnType("longblob"); b.Property("RoleId") .HasColumnType("char(36)"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("EndTime") .HasColumnType("time(6)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("StartTime") .HasColumnType("time(6)"); b.Property("TenantId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("TenantId"); b.ToTable("WorkShifts"); }); modelBuilder.Entity("Marco.Pms.Model.Entitlements.ActivityMaster", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ActivityName") .IsRequired() .HasColumnType("longtext"); b.Property("TaskAllocationId") .HasColumnType("int"); b.Property("TenantId") .HasColumnType("int"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("Role") .IsRequired() .HasColumnType("longtext"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("TenantId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("TenantId"); b.ToTable("Feature"); }); modelBuilder.Entity("Marco.Pms.Model.Entitlements.FeaturePermission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("FeatureId") .HasColumnType("char(36)"); b.Property("IsEnabled") .HasColumnType("tinyint(1)"); b.Property("RoleId") .HasColumnType("char(36)"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Status") .IsRequired() .HasColumnType("longtext"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ContactName") .IsRequired() .HasColumnType("longtext"); b.Property("ContactNumber") .IsRequired() .HasColumnType("longtext"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("DomainName") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Description") .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("ProjectId") .HasColumnType("int"); b.Property("TenantId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("TenantId"); b.ToTable("Buildings"); }); modelBuilder.Entity("Marco.Pms.Model.Projects.Floor", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("BuildingId") .HasColumnType("int"); b.Property("FloorName") .IsRequired() .HasColumnType("longtext"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ContactPerson") .IsRequired() .HasColumnType("longtext"); b.Property("EndDate") .HasColumnType("datetime(6)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("ProjectAddress") .IsRequired() .HasColumnType("longtext"); b.Property("ProjectStatusId") .HasColumnType("int"); b.Property("StartDate") .HasColumnType("datetime(6)"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AllocationDate") .HasColumnType("datetime(6)"); b.Property("EmployeeId") .HasColumnType("int"); b.Property("EmployeeRoleId") .HasColumnType("char(36)"); b.Property("ProjectId") .HasColumnType("int"); b.Property("ReAllocationDate") .HasColumnType("datetime(6)"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AreaName") .IsRequired() .HasColumnType("longtext"); b.Property("FloorId") .HasColumnType("int"); b.Property("TenantId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FloorId"); b.HasIndex("TenantId"); b.ToTable("WorkAreas"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => { b.Property("Id") .HasColumnType("varchar(255)"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .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); }); 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") .IsRequired() .HasColumnType("varchar(255)"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => { b.Property("Id") .HasColumnType("varchar(255)"); b.Property("AccessFailedCount") .HasColumnType("int"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("longtext"); b.Property("Discriminator") .IsRequired() .HasMaxLength(21) .HasColumnType("varchar(21)"); b.Property("Email") .HasMaxLength(256) .HasColumnType("varchar(256)"); b.Property("EmailConfirmed") .HasColumnType("tinyint(1)"); 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("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", 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") .IsRequired() .HasColumnType("varchar(255)"); 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") .IsRequired() .HasColumnType("varchar(255)"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("varchar(255)"); b.Property("RoleId") .HasColumnType("varchar(255)"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("varchar(255)"); 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("Marco.Pms.Model.Entitlements.ApplicationUser", b => { b.HasBaseType("Microsoft.AspNetCore.Identity.IdentityUser"); b.Property("IsRootUser") .HasColumnType("tinyint(1)"); b.Property("Role") .IsRequired() .HasColumnType("longtext"); b.Property("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", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", 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", 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 } } }