marco.pms.api/Marco.Pms.DataAccess/Migrations/ApplicationDbContextModelSnapshot.cs

3053 lines
114 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.Storage.ValueConversion;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(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<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("AssignedBy")
.HasColumnType("char(36)");
b.Property<DateTime>("AssignmentDate")
.HasColumnType("datetime(6)");
b.Property<double>("CompletedTask")
.HasColumnType("double");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<double>("PlannedTask")
.HasColumnType("double");
b.Property<DateTime?>("ReportedDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<Guid>("WorkItemId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("AssignedBy");
b.HasIndex("TenantId");
b.HasIndex("WorkItemId");
b.ToTable("TaskAllocations");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskComment", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CommentDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("CommentedBy")
.HasColumnType("char(36)");
b.Property<Guid>("TaskAllocationId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("CommentedBy");
b.HasIndex("TaskAllocationId");
b.HasIndex("TenantId");
b.ToTable("TaskComments");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskMembers", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("EmployeeId")
.HasColumnType("char(36)");
b.Property<Guid>("TaskAllocationId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.HasIndex("TaskAllocationId");
b.HasIndex("TenantId");
b.ToTable("TaskMembers");
});
modelBuilder.Entity("Marco.Pms.Model.AttendanceModule.Attendance", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<int>("Activity")
.HasColumnType("int");
b.Property<Guid?>("ApprovedBy")
.HasColumnType("char(36)");
b.Property<DateTime>("AttendanceDate")
.HasColumnType("datetime(6)");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("Date")
.HasColumnType("datetime(6)");
b.Property<Guid>("EmployeeID")
.HasColumnType("char(36)");
b.Property<DateTime?>("InTime")
.HasColumnType("datetime(6)");
b.Property<bool>("IsApproved")
.HasColumnType("tinyint(1)");
b.Property<DateTime?>("OutTime")
.HasColumnType("datetime(6)");
b.Property<Guid>("ProjectID")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("EmployeeID");
b.HasIndex("TenantId");
b.ToTable("Attendes");
});
modelBuilder.Entity("Marco.Pms.Model.AttendanceModule.AttendanceLog", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<int>("Activity")
.HasColumnType("int");
b.Property<DateTime?>("ActivityTime")
.HasColumnType("datetime(6)");
b.Property<Guid>("AttendanceId")
.HasColumnType("char(36)");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid?>("DocumentId")
.HasColumnType("char(36)");
b.Property<Guid>("EmployeeID")
.HasColumnType("char(36)");
b.Property<string>("Latitude")
.HasColumnType("longtext");
b.Property<string>("Longitude")
.HasColumnType("longtext");
b.Property<byte[]>("Photo")
.HasColumnType("longblob");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<Guid?>("UpdatedBy")
.HasColumnType("char(36)");
b.Property<DateTime>("UpdatedOn")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("AttendanceId");
b.HasIndex("DocumentId");
b.HasIndex("EmployeeID");
b.HasIndex("TenantId");
b.HasIndex("UpdatedBy");
b.ToTable("AttendanceLogs");
});
modelBuilder.Entity("Marco.Pms.Model.Authentication.RefreshToken", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
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")
.HasColumnType("longtext");
b.Property<string>("UserId")
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("RefreshTokens");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.Bucket", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("CreatedByID")
.HasColumnType("char(36)");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("CreatedByID");
b.HasIndex("TenantId");
b.ToTable("Buckets");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.Contact", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Address")
.HasColumnType("longtext");
b.Property<Guid?>("ContactCategoryId")
.HasColumnType("char(36)");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("CreatedById")
.HasColumnType("char(36)");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Organization")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactCategoryId");
b.HasIndex("CreatedById");
b.HasIndex("TenantId");
b.ToTable("Contacts");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactBucketMapping", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("BucketId")
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("BucketId");
b.HasIndex("ContactId");
b.ToTable("ContactBucketMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactCategoryMaster", 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<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ContactCategoryMasters");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactEmail", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.Property<string>("EmailAddress")
.IsRequired()
.HasColumnType("longtext");
b.Property<bool>("IsPrimary")
.HasColumnType("tinyint(1)");
b.Property<string>("Label")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.ToTable("ContactsEmails");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactNote", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("CreatedById")
.HasColumnType("char(36)");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.HasIndex("CreatedById");
b.HasIndex("TenantId");
b.ToTable("ContactNotes");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactPhone", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.Property<bool>("IsPrimary")
.HasColumnType("tinyint(1)");
b.Property<string>("Label")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("PhoneNumber")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.ToTable("ContactsPhones");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactProjectMapping", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.Property<Guid>("ProjectId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.HasIndex("ProjectId");
b.HasIndex("TenantId");
b.ToTable("ContactProjectMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactTagMapping", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ContactId")
.HasColumnType("char(36)");
b.Property<Guid>("ContactTagId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ContactId");
b.HasIndex("ContactTagId");
b.ToTable("ContactTagMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactTagMaster", 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<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ContactTagMasters");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.DirectoryUpdateLog", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("RefereanceId")
.HasColumnType("char(36)");
b.Property<DateTime>("UpdateAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("UpdatedById")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("UpdatedById");
b.ToTable("DirectoryUpdateLogs");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.EmployeeBucketMapping", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("BucketId")
.HasColumnType("char(36)");
b.Property<Guid>("EmployeeId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("BucketId");
b.HasIndex("EmployeeId");
b.ToTable("EmployeeBucketMappings");
});
modelBuilder.Entity("Marco.Pms.Model.DocumentManager.Document", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Base64Data")
.HasColumnType("longtext");
b.Property<Guid?>("BatchId")
.HasColumnType("char(36)");
b.Property<string>("ContentType")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("FileName")
.IsRequired()
.HasColumnType("longtext");
b.Property<long>("FileSize")
.HasColumnType("bigint");
b.Property<string>("S3Key")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<string>("ThumbS3Key")
.HasColumnType("longtext");
b.Property<DateTime>("UploadedAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Documents");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Employee", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("AadharNumber")
.HasColumnType("longtext");
b.Property<string>("ApplicationUserId")
.HasColumnType("varchar(255)");
b.Property<DateTime?>("BirthDate")
.HasColumnType("datetime(6)");
b.Property<string>("CurrentAddress")
.HasColumnType("longtext");
b.Property<string>("Email")
.HasColumnType("longtext");
b.Property<string>("EmergencyContactPerson")
.HasColumnType("longtext");
b.Property<string>("EmergencyPhoneNumber")
.HasColumnType("longtext");
b.Property<string>("FirstName")
.HasColumnType("longtext");
b.Property<string>("Gender")
.HasColumnType("longtext");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<bool>("IsSystem")
.HasColumnType("tinyint(1)");
b.Property<Guid?>("JobRoleId")
.HasColumnType("char(36)");
b.Property<DateTime?>("JoiningDate")
.HasColumnType("datetime(6)");
b.Property<string>("LastName")
.HasColumnType("longtext");
b.Property<string>("MiddleName")
.HasColumnType("longtext");
b.Property<string>("PanNumber")
.HasColumnType("longtext");
b.Property<string>("PermanentAddress")
.HasColumnType("longtext");
b.Property<string>("PhoneNumber")
.HasColumnType("longtext");
b.Property<byte[]>("Photo")
.HasColumnType("longblob");
b.Property<Guid>("RoleId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ApplicationUserId");
b.HasIndex("JobRoleId");
b.HasIndex("TenantId");
b.ToTable("Employees");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.EmployeeRoleMapping", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("EmployeeId")
.HasColumnType("char(36)");
b.Property<bool>("IsEnabled")
.HasColumnType("tinyint(1)");
b.Property<Guid>("RoleId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.HasIndex("RoleId");
b.HasIndex("TenantId");
b.ToTable("EmployeeRoleMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.WorkShift", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<TimeOnly>("EndTime")
.HasColumnType("time(6)");
b.Property<string>("Name")
.HasColumnType("longtext");
b.Property<TimeOnly>("StartTime")
.HasColumnType("time(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("WorkShifts");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.ActivityCheckList", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ActivityId")
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<bool>("IsChecked")
.HasColumnType("tinyint(1)");
b.Property<bool>("IsMandatory")
.HasColumnType("tinyint(1)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("ActivityCheckLists");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.CheckListMappings", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("CheckListId")
.HasColumnType("char(36)");
b.Property<Guid>("TaskAllocationId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("CheckListMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.FeaturePermission", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<Guid>("FeatureId")
.HasColumnType("char(36)");
b.Property<bool>("IsEnabled")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("FeatureId");
b.ToTable("FeaturePermissions");
b.HasData(
new
{
Id = new Guid("6ea44136-987e-44ba-9e5d-1cf8f5837ebc"),
Description = "Access all information related to the project.",
FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
IsEnabled = true,
Name = "View Project"
},
new
{
Id = new Guid("172fc9b6-755b-4f62-ab26-55c34a330614"),
Description = "Potentially edit the project name, description, start/end dates, or status.",
FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
IsEnabled = true,
Name = "Manage Project"
},
new
{
Id = new Guid("b94802ce-0689-4643-9e1d-11c86950c35b"),
Description = "The \"Manage Team\" feature allows authorized users to organize project personnel by adding, removing, and assigning employee to projects.",
FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
IsEnabled = true,
Name = "Manage Team"
},
new
{
Id = new Guid("c7b68e33-72f0-474f-bd96-77636427ecc8"),
Description = "Grants a user comprehensive read-only access to all details concerning the project's underlying systems, technologies, resources, and configurations",
FeatureId = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"),
IsEnabled = true,
Name = "View Project Infra"
},
new
{
Id = new Guid("f2aee20a-b754-4537-8166-f9507b44585b"),
Description = "This allows them to create, modify, and manage all aspects of the supporting infrastructure.",
FeatureId = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"),
IsEnabled = true,
Name = "Manage Project Infra"
},
new
{
Id = new Guid("9fcc5f87-25e3-4846-90ac-67a71ab92e3c"),
Description = "Grants a user comprehensive read-only access to all details associated with tasks within a project. This includes task descriptions, statuses, assignees, due dates, dependencies, progress, history, and any related attachments or discussions.",
FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
IsEnabled = true,
Name = "View Task"
},
new
{
Id = new Guid("08752f33-3b29-4816-b76b-ea8a968ed3c5"),
Description = "This allows them to create new tasks, modify existing task attributes (description, status, assignee, due date, etc.),",
FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
IsEnabled = true,
Name = "Add/Edit Task"
},
new
{
Id = new Guid("6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2"),
Description = "Grants a user the ability to designate team members responsible for specific tasks and to update the completion status or provide progress updates for those tasks",
FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
IsEnabled = true,
Name = "Assign/Report Progress"
},
new
{
Id = new Guid("db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c"),
Description = "Grants a user the authority to officially confirm the completion or acceptance of a task, often signifying that it meets the required standards or criteria",
FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
IsEnabled = true,
Name = "Approve Task"
},
new
{
Id = new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"),
Description = "Grants a user read-only access to details about the individuals within the system. This typically includes names, contact information, roles, departments, and potentially other relevant employee data",
FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"),
IsEnabled = true,
Name = "View Employee"
},
new
{
Id = new Guid("a97d366a-c2bb-448d-be93-402bd2324566"),
Description = "Grants a user the authority to create new employee profiles and modify existing employee details within the system. This typically includes adding or updating information such as names, contact details, roles, departments, skills, and potentially other personal or professional data",
FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"),
IsEnabled = true,
Name = "Add/Edit Employee"
},
new
{
Id = new Guid("fbd213e0-0250-46f1-9f5f-4b2a1e6e76a3"),
Description = "Grants a user the authority to manage employee application roles, enabling them to assign or revoke access privileges within the system.",
FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"),
IsEnabled = true,
Name = "Assign Roles"
},
new
{
Id = new Guid("915e6bff-65f6-4e3f-aea8-3fd217d3ea9e"),
Description = "Grants a user the ability to record their own work hours or presence within the system. This typically involves checking in and checking out, logging break times, and potentially viewing their own attendance history.",
FeatureId = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
IsEnabled = true,
Name = "Perform Attendance "
},
new
{
Id = new Guid("57802c4a-00aa-4a1f-a048-fd2f70dd44b6"),
Description = "Grants a user the authority to approve requests from employees to adjust or correct their recorded attendance. This typically involves reviewing the reason for the regularization, verifying any supporting documentation, and then officially accepting the changes to the employee's attendance records",
FeatureId = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
IsEnabled = true,
Name = "Regularize Attendance"
},
new
{
Id = new Guid("5ffbafe0-7ab0-48b1-bb50-c1bf76b65f9d"),
Description = "Grants a user read-only access to foundational or reference data within the system. \"Masters\" typically refer to predefined lists, categories, or templates that are used throughout the application to standardize information and maintain consistency",
FeatureId = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"),
IsEnabled = true,
Name = "View Masters"
},
new
{
Id = new Guid("588a8824-f924-4955-82d8-fc51956cf323"),
Description = "Grants a user the authority to create, modify, and delete foundational or reference data within the system. These \"masters\" are typically the core lists, categories, and configurations that other data and functionalities rely upon, such as departments, job titles, product categories",
FeatureId = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"),
IsEnabled = true,
Name = "Manage Masters"
},
new
{
Id = new Guid("4286a13b-bb40-4879-8c6d-18e9e393beda"),
Description = "Full control over all directories, including the ability to manage permissions for all directories in the system.",
FeatureId = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"),
IsEnabled = true,
Name = "Directory Admin"
},
new
{
Id = new Guid("62668630-13ce-4f52-a0f0-db38af2230c5"),
Description = "Full control over directories they created or have been assigned. Can also manage permissions for those directories.",
FeatureId = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"),
IsEnabled = true,
Name = "Directory Manager"
},
new
{
Id = new Guid("0f919170-92d4-4337-abd3-49b66fc871bb"),
Description = "Full control over directories they created. Can view contacts in directories they either created or were assigned to. Can manage permissions only for directories they created.",
FeatureId = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"),
IsEnabled = true,
Name = "Directory User"
});
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.RolePermissionMappings", b =>
{
b.Property<Guid>("ApplicationRoleId")
.HasColumnType("char(36)");
b.Property<Guid>("FeaturePermissionId")
.HasColumnType("char(36)");
b.HasKey("ApplicationRoleId", "FeaturePermissionId");
b.HasIndex("FeaturePermissionId");
b.ToTable("RolePermissionMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Tenant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ContactName")
.HasColumnType("longtext");
b.Property<string>("ContactNumber")
.HasColumnType("longtext");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<string>("DomainName")
.HasColumnType("longtext");
b.Property<Guid?>("IndustryId")
.HasColumnType("char(36)");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.HasColumnType("longtext");
b.Property<DateTime>("OnBoardingDate")
.HasColumnType("datetime(6)");
b.Property<string>("OragnizationSize")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("IndustryId");
b.ToTable("Tenants");
b.HasData(
new
{
Id = new Guid("b3466e83-7e11-464c-b93a-daf047838b26"),
ContactName = "Admin",
ContactNumber = "123456789",
Description = "",
DomainName = "www.marcobms.org",
IndustryId = new Guid("15436ee3-a650-469e-bfc2-59993f7514bb"),
IsActive = true,
Name = "MarcoBMS",
OnBoardingDate = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
OragnizationSize = "100-200"
});
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketAttachment", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid?>("CommentId")
.HasColumnType("char(36)");
b.Property<Guid>("FileId")
.HasColumnType("char(36)");
b.Property<string>("FileName")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TicketId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("CommentId");
b.HasIndex("TicketId");
b.ToTable("TicketAttachments");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketComment", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("AuthorId")
.HasColumnType("char(36)");
b.Property<string>("MessageText")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid?>("ParentMessageId")
.HasColumnType("char(36)");
b.Property<DateTime>("SentAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<Guid>("TicketId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("TicketComments");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketForum", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<Guid>("CreatedById")
.HasColumnType("char(36)");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid?>("LinkedActivityId")
.HasColumnType("char(36)");
b.Property<Guid?>("LinkedProjectId")
.HasColumnType("char(36)");
b.Property<Guid>("PriorityId")
.HasColumnType("char(36)");
b.Property<Guid>("StatusId")
.HasColumnType("char(36)");
b.Property<string>("Subject")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<Guid>("TypeId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("PriorityId");
b.HasIndex("StatusId");
b.HasIndex("TenantId");
b.HasIndex("TypeId");
b.ToTable("Tickets");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketTag", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("TagId")
.HasColumnType("char(36)");
b.Property<Guid>("TicketId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TagId");
b.HasIndex("TicketId");
b.ToTable("TicketTags");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketTypeMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<bool>("IsDefault")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("TicketTypeMasters");
b.HasData(
new
{
Id = new Guid("c74e5480-2b71-483c-8f4a-1a9c69c32603"),
Description = "An identified problem that affects the performance, reliability, or standards of a product or service",
IsDefault = true,
Name = "Quality Issue",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("d1f55eab-9898-4e46-9f03-b263e33e5d38"),
Description = "A support service that assists users with technical issues, requests, or inquiries.",
IsDefault = true,
Name = "Help Desk",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.ActivityMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ActivityName")
.HasColumnType("longtext");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<string>("UnitOfMeasurement")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ActivityMasters");
});
modelBuilder.Entity("Marco.Pms.Model.Master.Feature", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<Guid>("ModuleId")
.HasColumnType("char(36)");
b.Property<string>("Name")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("ModuleId");
b.ToTable("Features");
b.HasData(
new
{
Id = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
Description = "Manage Project",
IsActive = true,
ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"),
Name = "Manage Project"
},
new
{
Id = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"),
Description = "Manage Infra",
IsActive = true,
ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"),
Name = "Manage Infra"
},
new
{
Id = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
Description = "Manage Tasks",
IsActive = true,
ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"),
Name = "Task Management"
},
new
{
Id = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"),
Description = "Manage Employee",
IsActive = true,
ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"),
Name = "Employee Management"
},
new
{
Id = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
Description = "Attendance",
IsActive = true,
ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"),
Name = "Attendance"
},
new
{
Id = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"),
Description = "Global Masters",
IsActive = true,
ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"),
Name = "Global Masters"
},
new
{
Id = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"),
Description = "Managing all directory related rights",
IsActive = true,
ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"),
Name = "Directory Management"
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.Industry", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Name")
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Industries");
b.HasData(
new
{
Id = new Guid("15436ee3-a650-469e-bfc2-59993f7514bb"),
Name = "Information Technology (IT) Services"
},
new
{
Id = new Guid("0a63e657-2c5f-49b5-854b-42c978293154"),
Name = "Manufacturing & Production"
},
new
{
Id = new Guid("bdc61e3b-69ea-4394-bab6-079ec135b5bd"),
Name = "Energy & Resources"
},
new
{
Id = new Guid("5ca200ac-00d7-415e-a410-b948e27ac9d2"),
Name = "Finance & Professional Services"
},
new
{
Id = new Guid("d5621700-cd87-441f-8cdb-6051ddfc83b4"),
Name = "Hospitals and Healthcare Services"
},
new
{
Id = new Guid("23608891-657e-40f0-bbd4-2b0a2ec1a76f"),
Name = "Social Services"
},
new
{
Id = new Guid("a493f4e3-16b1-4411-be3c-6bf2987a3168"),
Name = "Retail & Consumer Services"
},
new
{
Id = new Guid("e9d8ce92-9371-4ed9-9831-83c07f78edec"),
Name = "Transportation & Logistics"
},
new
{
Id = new Guid("8a0d6134-2dbe-4e0a-b250-ff34cb7b9df0"),
Name = "Education & Training"
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.Module", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<string>("Key")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Modules");
b.HasData(
new
{
Id = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"),
Description = "Project Module",
Key = "b04da7e9-0406-409c-ac7f-b97256e6ea02",
Name = "Project"
},
new
{
Id = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"),
Description = "Employee Module",
Key = "0971c7fb-6ce1-458a-ae3f-8d3205893637",
Name = "Employee"
},
new
{
Id = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"),
Description = "Masters Module",
Key = "504ec132-e6a9-422f-8f85-050602cfce05",
Name = "Masters"
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.StatusMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Status")
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("StatusMasters");
b.HasData(
new
{
Id = new Guid("b74da4c2-d07e-46f2-9919-e75e49b12731"),
Status = "Active",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("603e994b-a27f-4e5d-a251-f3d69b0498ba"),
Status = "In Progress",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
Status = "On Hold",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("33deaef9-9af1-4f2a-b443-681ea0d04f81"),
Status = "Completed",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.TicketPriorityMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ColorCode")
.HasColumnType("longtext");
b.Property<bool>("IsDefault")
.HasColumnType("tinyint(1)");
b.Property<int>("Level")
.HasColumnType("int");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("TicketPriorityMasters");
b.HasData(
new
{
Id = new Guid("188d29b3-10f3-42d0-9587-1a46ae7a0320"),
ColorCode = "008000",
IsDefault = true,
Level = 1,
Name = "Low",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("0919bc84-9f82-4ecf-98c7-962755dd9a97"),
ColorCode = "FFFF00",
IsDefault = true,
Level = 2,
Name = "Medium",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("a13b7e59-16fd-4665-b5cf-a97399e8445a"),
ColorCode = "#FFA500",
IsDefault = true,
Level = 3,
Name = "High",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("f340fbc3-c9fd-46aa-b063-0093418830e4"),
ColorCode = "#FFA500",
IsDefault = true,
Level = 4,
Name = "Critical",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("44a7b91d-a0dd-45d1-8616-4d2f71e16401"),
ColorCode = "#FF0000",
IsDefault = true,
Level = 5,
Name = "Urgent",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.TicketStatusMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ColorCode")
.HasColumnType("longtext");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<bool>("IsDefault")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("TicketStatusMasters");
b.HasData(
new
{
Id = new Guid("6b0c409b-3e80-4165-8b39-f3fcacb4c797"),
ColorCode = "#FFCC99",
Description = "This is a newly created issue.",
IsDefault = true,
Name = "New",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("6c5ac37d-5b7d-40f3-adec-2dabaa5cca86"),
ColorCode = "#E6FF99",
Description = "Assigned to employee or team of employees",
IsDefault = true,
Name = "Assigned",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("7f96bcd5-0c66-411b-8a1d-9d1a4785194e"),
ColorCode = "#99E6FF",
Description = "These issues are currently in progress",
IsDefault = true,
Name = "In Progress",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("8ff85685-a875-4f21-aa95-d99551315fcc"),
ColorCode = "#B399FF",
Description = "The following issues are resolved and closed",
IsDefault = true,
Name = "Done",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.TicketTagMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ColorCode")
.HasColumnType("longtext");
b.Property<bool>("IsDefault")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("TicketTagMasters");
b.HasData(
new
{
Id = new Guid("ef6c2a65-f61d-4537-9650-a7ab7f8d98db"),
ColorCode = "#e59866",
IsDefault = true,
Name = "Quality Issue",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("5a168569-8ad7-4422-8db6-51ef25caddeb"),
ColorCode = "#85c1e9",
IsDefault = true,
Name = "Help Desk",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.WorkCategoryMaster", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property<bool>("IsSystem")
.HasColumnType("tinyint(1)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("WorkCategoryMasters");
b.HasData(
new
{
Id = new Guid("86bb2cc8-f6b5-4fdd-bbee-c389c713a44b"),
Description = "Created new task in a professional or creative context",
IsSystem = true,
Name = "Fresh Work",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("9ebfa19c-53b9-481b-b863-c25d2f843201"),
Description = "Revising, modifying, or correcting a task to improve its quality or fix issues",
IsSystem = true,
Name = "Rework",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
},
new
{
Id = new Guid("11a79929-1d07-42dc-9e98-82d0d2f4a240"),
Description = "Any defect, deviation, or non-conformance in a task that fails to meet established standards or customer expectations.",
IsSystem = true,
Name = "Quality Issue",
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Building", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("ProjectId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Buildings");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Floor", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("BuildingId")
.HasColumnType("char(36)");
b.Property<string>("FloorName")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("BuildingId");
b.HasIndex("TenantId");
b.ToTable("Floor");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Project", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("ContactPerson")
.HasColumnType("longtext");
b.Property<DateTime?>("EndDate")
.HasColumnType("datetime(6)");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("ProjectAddress")
.HasColumnType("longtext");
b.Property<Guid>("ProjectStatusId")
.HasColumnType("char(36)");
b.Property<DateTime?>("StartDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ProjectStatusId");
b.HasIndex("TenantId");
b.ToTable("Projects");
b.HasData(
new
{
Id = new Guid("85bf587b-7ca9-4685-b77c-d817f5847e85"),
ContactPerson = "Project 1 Contact Person",
EndDate = new DateTime(2026, 4, 20, 10, 11, 17, 588, DateTimeKind.Unspecified),
Name = "Project 1",
ProjectAddress = "Project 1 Address",
ProjectStatusId = new Guid("b74da4c2-d07e-46f2-9919-e75e49b12731"),
StartDate = new DateTime(2025, 4, 20, 10, 11, 17, 588, DateTimeKind.Unspecified),
TenantId = new Guid("b3466e83-7e11-464c-b93a-daf047838b26")
});
});
modelBuilder.Entity("Marco.Pms.Model.Projects.ProjectAllocation", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<DateTime>("AllocationDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("EmployeeId")
.HasColumnType("char(36)");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<Guid?>("JobRoleId")
.HasColumnType("char(36)");
b.Property<Guid>("ProjectId")
.HasColumnType("char(36)");
b.Property<DateTime?>("ReAllocationDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
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<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("AreaName")
.IsRequired()
.HasColumnType("longtext");
b.Property<Guid>("FloorId")
.HasColumnType("char(36)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("FloorId");
b.HasIndex("TenantId");
b.ToTable("WorkAreas");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.WorkItem", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<Guid>("ActivityId")
.HasColumnType("char(36)");
b.Property<double>("CompletedWork")
.HasColumnType("double");
b.Property<double>("PlannedWork")
.HasColumnType("double");
b.Property<DateTime>("TaskDate")
.HasColumnType("datetime(6)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.Property<Guid>("WorkAreaId")
.HasColumnType("char(36)");
b.Property<Guid?>("WorkCategoryId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("ActivityId");
b.HasIndex("TenantId");
b.HasIndex("WorkAreaId");
b.HasIndex("WorkCategoryId");
b.ToTable("WorkItems");
});
modelBuilder.Entity("Marco.Pms.Model.Roles.ApplicationRole", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<bool>("IsSystem")
.HasColumnType("tinyint(1)");
b.Property<string>("Role")
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ApplicationRoles");
});
modelBuilder.Entity("Marco.Pms.Model.Roles.JobRole", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("Description")
.HasColumnType("longtext");
b.Property<string>("Name")
.HasColumnType("longtext");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("JobRoles");
});
modelBuilder.Entity("Marco.Pms.Model.Utilities.Inquiries", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property<string>("About")
.HasColumnType("longtext");
b.Property<string>("ContactNumber")
.HasColumnType("longtext");
b.Property<string>("ContactPerson")
.HasColumnType("longtext");
b.Property<string>("Email")
.HasColumnType("longtext");
b.Property<Guid>("IndustryId")
.HasColumnType("char(36)");
b.Property<string>("OragnizationSize")
.HasColumnType("longtext");
b.Property<string>("OrganizatioinName")
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("Inquiries");
});
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>("IsActive")
.HasColumnType("tinyint(1)");
b.Property<bool?>("IsRootUser")
.HasColumnType("tinyint(1)");
b.Property<Guid>("TenantId")
.HasColumnType("char(36)");
b.HasDiscriminator().HasValue("ApplicationUser");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskAllocation", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("AssignedBy")
.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.WorkItem", "WorkItem")
.WithMany()
.HasForeignKey("WorkItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Tenant");
b.Navigation("WorkItem");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskComment", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("CommentedBy")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Activities.TaskAllocation", "TaskAllocation")
.WithMany()
.HasForeignKey("TaskAllocationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("TaskAllocation");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Activities.TaskMembers", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Activities.TaskAllocation", "TaskAllocation")
.WithMany()
.HasForeignKey("TaskAllocationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("TaskAllocation");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.AttendanceModule.Attendance", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Approver")
.WithMany()
.HasForeignKey("EmployeeID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Approver");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.AttendanceModule.AttendanceLog", b =>
{
b.HasOne("Marco.Pms.Model.AttendanceModule.Attendance", "Attendance")
.WithMany()
.HasForeignKey("AttendanceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.DocumentManager.Document", "Document")
.WithMany()
.HasForeignKey("DocumentId");
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.HasOne("Marco.Pms.Model.Employees.Employee", "UpdatedByEmployee")
.WithMany()
.HasForeignKey("UpdatedBy");
b.Navigation("Attendance");
b.Navigation("Document");
b.Navigation("Employee");
b.Navigation("Tenant");
b.Navigation("UpdatedByEmployee");
});
modelBuilder.Entity("Marco.Pms.Model.Authentication.RefreshToken", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
b.Navigation("User");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.Bucket", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "CreatedBy")
.WithMany()
.HasForeignKey("CreatedByID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CreatedBy");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.Contact", b =>
{
b.HasOne("Marco.Pms.Model.Directory.ContactCategoryMaster", "ContactCategory")
.WithMany()
.HasForeignKey("ContactCategoryId");
b.HasOne("Marco.Pms.Model.Employees.Employee", "CreatedBy")
.WithMany()
.HasForeignKey("CreatedById")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ContactCategory");
b.Navigation("CreatedBy");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactBucketMapping", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Bucket", "Bucket")
.WithMany()
.HasForeignKey("BucketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Bucket");
b.Navigation("Contact");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactCategoryMaster", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactEmail", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactNote", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Employees.Employee", "Createdby")
.WithMany()
.HasForeignKey("CreatedById")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
b.Navigation("Createdby");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactPhone", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactProjectMapping", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.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("Contact");
b.Navigation("Project");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactTagMapping", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Contact", "Contact")
.WithMany()
.HasForeignKey("ContactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Directory.ContactTagMaster", "ContactTag")
.WithMany()
.HasForeignKey("ContactTagId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Contact");
b.Navigation("ContactTag");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.ContactTagMaster", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.DirectoryUpdateLog", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("UpdatedById")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
});
modelBuilder.Entity("Marco.Pms.Model.Directory.EmployeeBucketMapping", b =>
{
b.HasOne("Marco.Pms.Model.Directory.Bucket", "Bucket")
.WithMany()
.HasForeignKey("BucketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Bucket");
b.Navigation("Employee");
});
modelBuilder.Entity("Marco.Pms.Model.DocumentManager.Document", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
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.Roles.JobRole", "JobRole")
.WithMany()
.HasForeignKey("JobRoleId");
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ApplicationUser");
b.Navigation("JobRole");
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.EmployeeRoleMapping", b =>
{
b.HasOne("Marco.Pms.Model.Employees.Employee", "Employee")
.WithMany()
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Roles.ApplicationRole", "Role")
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Role");
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.FeaturePermission", b =>
{
b.HasOne("Marco.Pms.Model.Master.Feature", "Feature")
.WithMany("FeaturePermissions")
.HasForeignKey("FeatureId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Feature");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.RolePermissionMappings", b =>
{
b.HasOne("Marco.Pms.Model.Roles.ApplicationRole", null)
.WithMany()
.HasForeignKey("ApplicationRoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.FeaturePermission", null)
.WithMany()
.HasForeignKey("FeaturePermissionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Tenant", b =>
{
b.HasOne("Marco.Pms.Model.Master.Industry", "Industry")
.WithMany()
.HasForeignKey("IndustryId");
b.Navigation("Industry");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketAttachment", b =>
{
b.HasOne("Marco.Pms.Model.Forum.TicketComment", "TicketComment")
.WithMany("Attachments")
.HasForeignKey("CommentId");
b.HasOne("Marco.Pms.Model.Forum.TicketForum", "Ticket")
.WithMany()
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Ticket");
b.Navigation("TicketComment");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketComment", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketForum", b =>
{
b.HasOne("Marco.Pms.Model.Master.TicketPriorityMaster", "Priority")
.WithMany()
.HasForeignKey("PriorityId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Master.TicketStatusMaster", "TicketStatusMaster")
.WithMany()
.HasForeignKey("StatusId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Forum.TicketTypeMaster", "TicketTypeMaster")
.WithMany()
.HasForeignKey("TypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Priority");
b.Navigation("Tenant");
b.Navigation("TicketStatusMaster");
b.Navigation("TicketTypeMaster");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketTag", b =>
{
b.HasOne("Marco.Pms.Model.Master.TicketTagMaster", "Tag")
.WithMany()
.HasForeignKey("TagId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Marco.Pms.Model.Forum.TicketForum", "Ticket")
.WithMany()
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tag");
b.Navigation("Ticket");
});
modelBuilder.Entity("Marco.Pms.Model.Master.ActivityMaster", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Tenant");
});
modelBuilder.Entity("Marco.Pms.Model.Master.Feature", b =>
{
b.HasOne("Marco.Pms.Model.Master.Module", "Module")
.WithMany()
.HasForeignKey("ModuleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Module");
});
modelBuilder.Entity("Marco.Pms.Model.Master.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.Master.WorkCategoryMaster", 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.Master.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("Marco.Pms.Model.Projects.WorkItem", b =>
{
b.HasOne("Marco.Pms.Model.Master.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.HasOne("Marco.Pms.Model.Master.WorkCategoryMaster", "WorkCategoryMaster")
.WithMany()
.HasForeignKey("WorkCategoryId");
b.Navigation("ActivityMaster");
b.Navigation("Tenant");
b.Navigation("WorkArea");
b.Navigation("WorkCategoryMaster");
});
modelBuilder.Entity("Marco.Pms.Model.Roles.ApplicationRole", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", null)
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Marco.Pms.Model.Roles.JobRole", b =>
{
b.HasOne("Marco.Pms.Model.Entitlements.Tenant", "Tenant")
.WithMany()
.HasForeignKey("TenantId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
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.Forum.TicketComment", b =>
{
b.Navigation("Attachments");
});
modelBuilder.Entity("Marco.Pms.Model.Master.Feature", b =>
{
b.Navigation("FeaturePermissions");
});
#pragma warning restore 612, 618
}
}
}