//
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("20250530055939_Added_Mail_Related_Tables")]
partial class Added_Mail_Related_Tables
{
///
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("char(36)");
b.Property("AssignedBy")
.HasColumnType("char(36)");
b.Property("AssignmentDate")
.HasColumnType("datetime(6)");
b.Property("CompletedTask")
.HasColumnType("double");
b.Property("Description")
.HasColumnType("longtext");
b.Property("PlannedTask")
.HasColumnType("double");
b.Property("ReportedDate")
.HasColumnType("datetime(6)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property("CommentDate")
.HasColumnType("datetime(6)");
b.Property("CommentedBy")
.HasColumnType("char(36)");
b.Property("TaskAllocationId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("EmployeeId")
.HasColumnType("char(36)");
b.Property("TaskAllocationId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Activity")
.HasColumnType("int");
b.Property("ApprovedBy")
.HasColumnType("char(36)");
b.Property("AttendanceDate")
.HasColumnType("datetime(6)");
b.Property("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property("Date")
.HasColumnType("datetime(6)");
b.Property("EmployeeID")
.HasColumnType("char(36)");
b.Property("InTime")
.HasColumnType("datetime(6)");
b.Property("IsApproved")
.HasColumnType("tinyint(1)");
b.Property("OutTime")
.HasColumnType("datetime(6)");
b.Property("ProjectID")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Activity")
.HasColumnType("int");
b.Property("ActivityTime")
.HasColumnType("datetime(6)");
b.Property("AttendanceId")
.HasColumnType("char(36)");
b.Property("Comment")
.IsRequired()
.HasColumnType("longtext");
b.Property("DocumentId")
.HasColumnType("char(36)");
b.Property("EmployeeID")
.HasColumnType("char(36)");
b.Property("Latitude")
.HasColumnType("longtext");
b.Property("Longitude")
.HasColumnType("longtext");
b.Property("Photo")
.HasColumnType("longblob");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("UpdatedBy")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
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")
.HasColumnType("longtext");
b.Property("UserId")
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("RefreshTokens");
});
modelBuilder.Entity("Marco.Pms.Model.DocumentManager.Document", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Base64Data")
.HasColumnType("longtext");
b.Property("BatchId")
.HasColumnType("char(36)");
b.Property("ContentType")
.IsRequired()
.HasColumnType("longtext");
b.Property("FileName")
.IsRequired()
.HasColumnType("longtext");
b.Property("FileSize")
.HasColumnType("bigint");
b.Property("S3Key")
.IsRequired()
.HasColumnType("longtext");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("ThumbS3Key")
.HasColumnType("longtext");
b.Property("UploadedAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Documents");
});
modelBuilder.Entity("Marco.Pms.Model.Employees.Employee", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("AadharNumber")
.HasColumnType("longtext");
b.Property("ApplicationUserId")
.HasColumnType("varchar(255)");
b.Property("BirthDate")
.HasColumnType("datetime(6)");
b.Property("CurrentAddress")
.HasColumnType("longtext");
b.Property("Email")
.HasColumnType("longtext");
b.Property("EmergencyContactPerson")
.HasColumnType("longtext");
b.Property("EmergencyPhoneNumber")
.HasColumnType("longtext");
b.Property("FirstName")
.HasColumnType("longtext");
b.Property("Gender")
.HasColumnType("longtext");
b.Property("IsActive")
.HasColumnType("tinyint(1)");
b.Property("IsSystem")
.HasColumnType("tinyint(1)");
b.Property("JobRoleId")
.HasColumnType("char(36)");
b.Property("JoiningDate")
.HasColumnType("datetime(6)");
b.Property("LastName")
.HasColumnType("longtext");
b.Property("MiddleName")
.HasColumnType("longtext");
b.Property("PanNumber")
.HasColumnType("longtext");
b.Property("PermanentAddress")
.HasColumnType("longtext");
b.Property("PhoneNumber")
.HasColumnType("longtext");
b.Property("Photo")
.HasColumnType("longblob");
b.Property("RoleId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("EmployeeId")
.HasColumnType("char(36)");
b.Property("IsEnabled")
.HasColumnType("tinyint(1)");
b.Property("RoleId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("EndTime")
.HasColumnType("time(6)");
b.Property("Name")
.HasColumnType("longtext");
b.Property("StartTime")
.HasColumnType("time(6)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("WorkShifts");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.ActivityCheckList", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ActivityId")
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("IsChecked")
.HasColumnType("tinyint(1)");
b.Property("IsMandatory")
.HasColumnType("tinyint(1)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("ActivityCheckLists");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.CheckListMappings", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("CheckListId")
.HasColumnType("char(36)");
b.Property("TaskAllocationId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.ToTable("CheckListMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.FeaturePermission", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("FeatureId")
.HasColumnType("char(36)");
b.Property("IsEnabled")
.HasColumnType("tinyint(1)");
b.Property("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"
});
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.RolePermissionMappings", b =>
{
b.Property("ApplicationRoleId")
.HasColumnType("char(36)");
b.Property("FeaturePermissionId")
.HasColumnType("char(36)");
b.HasKey("ApplicationRoleId", "FeaturePermissionId");
b.HasIndex("FeaturePermissionId");
b.ToTable("RolePermissionMappings");
});
modelBuilder.Entity("Marco.Pms.Model.Entitlements.Tenant", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ContactName")
.HasColumnType("longtext");
b.Property("ContactNumber")
.HasColumnType("longtext");
b.Property("Description")
.HasColumnType("longtext");
b.Property("DomainName")
.HasColumnType("longtext");
b.Property("IndustryId")
.HasColumnType("char(36)");
b.Property("IsActive")
.HasColumnType("tinyint(1)");
b.Property("Name")
.HasColumnType("longtext");
b.Property("OnBoardingDate")
.HasColumnType("datetime(6)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("CommentId")
.HasColumnType("char(36)");
b.Property("FileId")
.HasColumnType("char(36)");
b.Property("FileName")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("AuthorId")
.HasColumnType("char(36)");
b.Property("MessageText")
.IsRequired()
.HasColumnType("longtext");
b.Property("ParentMessageId")
.HasColumnType("char(36)");
b.Property("SentAt")
.HasColumnType("datetime(6)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("TicketId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("TicketComments");
});
modelBuilder.Entity("Marco.Pms.Model.Forum.TicketForum", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("CreatedById")
.HasColumnType("char(36)");
b.Property("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property("LinkedActivityId")
.HasColumnType("char(36)");
b.Property("LinkedProjectId")
.HasColumnType("char(36)");
b.Property("PriorityId")
.HasColumnType("char(36)");
b.Property("StatusId")
.HasColumnType("char(36)");
b.Property("Subject")
.IsRequired()
.HasColumnType("longtext");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("TagId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("IsDefault")
.HasColumnType("tinyint(1)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("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.Mail.MailDetails", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("MailListId")
.HasColumnType("char(36)");
b.Property("ProjectId")
.HasColumnType("char(36)");
b.Property("Recipient")
.IsRequired()
.HasColumnType("longtext");
b.Property("Schedule")
.IsRequired()
.HasColumnType("longtext");
b.Property("Subject")
.IsRequired()
.HasColumnType("longtext");
b.Property("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("MailListId");
b.ToTable("MailDetails");
});
modelBuilder.Entity("Marco.Pms.Model.Mail.MailLog", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Body")
.IsRequired()
.HasColumnType("longtext");
b.Property("EmailId")
.IsRequired()
.HasColumnType("longtext");
b.Property("EmployeeId")
.HasColumnType("char(36)");
b.Property("ProjectId")
.HasColumnType("char(36)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("TimeStamp")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.ToTable("MailLogs");
});
modelBuilder.Entity("Marco.Pms.Model.Mail.MailingList", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Body")
.IsRequired()
.HasColumnType("longtext");
b.Property("Keywords")
.IsRequired()
.HasColumnType("longtext");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("Title")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("MailingList");
});
modelBuilder.Entity("Marco.Pms.Model.Master.ActivityMaster", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ActivityName")
.HasColumnType("longtext");
b.Property("IsActive")
.HasColumnType("tinyint(1)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("UnitOfMeasurement")
.HasColumnType("longtext");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ActivityMasters");
});
modelBuilder.Entity("Marco.Pms.Model.Master.Feature", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("IsActive")
.HasColumnType("tinyint(1)");
b.Property("ModuleId")
.HasColumnType("char(36)");
b.Property("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"
});
});
modelBuilder.Entity("Marco.Pms.Model.Master.Industry", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("Key")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Status")
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ColorCode")
.HasColumnType("longtext");
b.Property("IsDefault")
.HasColumnType("tinyint(1)");
b.Property("Level")
.HasColumnType("int");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ColorCode")
.HasColumnType("longtext");
b.Property("Description")
.HasColumnType("longtext");
b.Property("IsDefault")
.HasColumnType("tinyint(1)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("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 = "#8592a3",
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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ColorCode")
.HasColumnType("longtext");
b.Property("IsDefault")
.HasColumnType("tinyint(1)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.IsRequired()
.HasColumnType("longtext");
b.Property("IsSystem")
.HasColumnType("tinyint(1)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("ProjectId")
.HasColumnType("char(36)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("Buildings");
});
modelBuilder.Entity("Marco.Pms.Model.Projects.Floor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("BuildingId")
.HasColumnType("char(36)");
b.Property("FloorName")
.IsRequired()
.HasColumnType("longtext");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ContactPerson")
.HasColumnType("longtext");
b.Property("EndDate")
.HasColumnType("datetime(6)");
b.Property("Name")
.IsRequired()
.HasColumnType("longtext");
b.Property("ProjectAddress")
.HasColumnType("longtext");
b.Property("ProjectStatusId")
.HasColumnType("char(36)");
b.Property("StartDate")
.HasColumnType("datetime(6)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("AllocationDate")
.HasColumnType("datetime(6)");
b.Property("EmployeeId")
.HasColumnType("char(36)");
b.Property("IsActive")
.HasColumnType("tinyint(1)");
b.Property("JobRoleId")
.HasColumnType("char(36)");
b.Property("ProjectId")
.HasColumnType("char(36)");
b.Property("ReAllocationDate")
.HasColumnType("datetime(6)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("AreaName")
.IsRequired()
.HasColumnType("longtext");
b.Property("FloorId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("ActivityId")
.HasColumnType("char(36)");
b.Property("CompletedWork")
.HasColumnType("double");
b.Property("PlannedWork")
.HasColumnType("double");
b.Property("TaskDate")
.HasColumnType("datetime(6)");
b.Property("TenantId")
.HasColumnType("char(36)");
b.Property("WorkAreaId")
.HasColumnType("char(36)");
b.Property("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("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property("Description")
.HasColumnType("longtext");
b.Property("IsSystem")
.HasColumnType("tinyint(1)");
b.Property("Role")
.HasColumnType("longtext");
b.Property("TenantId")
.HasColumnType("char(36)");
b.HasKey("Id");
b.HasIndex("TenantId");
b.ToTable("ApplicationRoles");
});
modelBuilder.Entity("Marco.Pms.Model.Roles.JobRole", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
b.Property