532 lines
28 KiB
C#
532 lines
28 KiB
C#
using System.Globalization;
|
|
using Marco.Pms.Model.Activities;
|
|
using Marco.Pms.Model.AttendanceModule;
|
|
using Marco.Pms.Model.Authentication;
|
|
using Marco.Pms.Model.DocumentManager;
|
|
using Marco.Pms.Model.Employees;
|
|
using Marco.Pms.Model.Entitlements;
|
|
using Marco.Pms.Model.Forum;
|
|
using Marco.Pms.Model.Master;
|
|
using Marco.Pms.Model.Projects;
|
|
using Marco.Pms.Model.Roles;
|
|
using Marco.Pms.Model.Utilities;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Identity;
|
|
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace Marco.Pms.DataAccess.Data
|
|
{
|
|
public class ApplicationDbContext : IdentityDbContext<IdentityUser>
|
|
{
|
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
|
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IHttpContextAccessor httpContextAccessor) : base(options)
|
|
{
|
|
_httpContextAccessor = httpContextAccessor;
|
|
|
|
}
|
|
|
|
public DbSet<RefreshToken> RefreshTokens { get; set; }
|
|
|
|
public DbSet<Tenant> Tenants { get; set; }
|
|
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
|
|
|
|
public DbSet<ActivityMaster> ActivityMasters { get; set; }
|
|
public DbSet<Project> Projects { get; set; }
|
|
public DbSet<ProjectAllocation> ProjectAllocations { get; set; }
|
|
|
|
public DbSet<StatusMaster> StatusMasters { get; set; }
|
|
|
|
public DbSet<Building> Buildings { get; set; }
|
|
public DbSet<Floor> Floor { get; set; }
|
|
|
|
public DbSet<WorkArea> WorkAreas { get; set; }
|
|
public DbSet<WorkItem> WorkItems { get; set; }
|
|
//public DbSet<WorkItemMapping> WorkItemMapping { get; set; }
|
|
|
|
public DbSet<WorkShift> WorkShifts { get; set; }
|
|
|
|
|
|
|
|
public DbSet<TaskAllocation> TaskAllocations { get; set; }
|
|
public DbSet<TaskComment> TaskComments { get; set; }
|
|
public DbSet<TaskMembers> TaskMembers { get; set; }
|
|
|
|
|
|
|
|
|
|
// public DbSet<Attendance> Attendances { get; set; }
|
|
public DbSet<Attendance> Attendes { get; set; }
|
|
|
|
public DbSet<AttendanceLog> AttendanceLogs { get; set; }
|
|
// public DbSet<AttendLog> AttendLogs { get; set; }
|
|
|
|
|
|
|
|
public DbSet<Employee> Employees { get; set; }
|
|
public DbSet<EmployeeRoleMapping> EmployeeRoleMappings { get; set; }
|
|
|
|
public DbSet<Module> Modules { get; set; }
|
|
public DbSet<Feature> Features { get; set; }
|
|
public DbSet<FeaturePermission> FeaturePermissions { get; set; }
|
|
|
|
public DbSet<ApplicationRole> ApplicationRoles { get; set; }
|
|
public DbSet<JobRole> JobRoles { get; set; }
|
|
public DbSet<RolePermissionMappings> RolePermissionMappings { get; set; }
|
|
|
|
public DbSet<Industry> Industries { get; set; }
|
|
public DbSet<ActivityCheckList> ActivityCheckLists { get; set; }
|
|
public DbSet<CheckListMappings> CheckListMappings { get; set; }
|
|
public DbSet<Inquiries> Inquiries { get; set; }
|
|
public DbSet<TicketForum> Tickets { get; set; }
|
|
public DbSet<TicketAttachment> TicketAttachments { get; set; }
|
|
public DbSet<TicketComment> TicketComments { get; set; }
|
|
public DbSet<TicketStatusMaster> TicketStatusMasters { get; set; }
|
|
public DbSet<TicketTypeMaster> TicketTypeMasters { get; set; }
|
|
public DbSet<TicketPriorityMaster> TicketPriorityMasters { get; set; }
|
|
public DbSet<TicketTagMaster> TicketTagMasters { get; set; }
|
|
public DbSet<Document> Documents { get; set; }
|
|
public DbSet<TicketTag> TicketTags { get; set; }
|
|
public DbSet<WorkCategoryMaster> WorkCategoryMasters { get; set; }
|
|
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
base.OnModelCreating(modelBuilder);
|
|
|
|
ManageApplicationStructure(modelBuilder);
|
|
|
|
//modelBuilder.Entity<ApplicationRole>().HasData(
|
|
// new ApplicationRole
|
|
// {
|
|
// Id = new Guid("2c8d0808-c421-11ef-9b93-0242ac110002"),
|
|
// Role = "Super User",
|
|
// Description = "Super User",
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// },
|
|
// new ApplicationRole
|
|
// {
|
|
// Id = new Guid("62e0918d-c421-11ef-9b93-0242ac110002"),
|
|
// Role = "Welder",
|
|
// Description = "",
|
|
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// },
|
|
// new ApplicationRole
|
|
// {
|
|
// Id = new Guid("68823f1f-c421-11ef-9b93-0242ac110002"),
|
|
// Role = "Helper",
|
|
// Description = "",
|
|
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// },
|
|
// new ApplicationRole
|
|
// {
|
|
// Id = new Guid("6d3a7c72-c421-11ef-9b93-0242ac110002"),
|
|
// Role = "Site Engineer",
|
|
// Description = "",
|
|
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }
|
|
// ,
|
|
// new ApplicationRole
|
|
// {
|
|
// Id = new Guid("6d3aad72-c421-11ef-9b93-0242ac110002"),
|
|
// Role = "Project Manager",
|
|
// Description = "",
|
|
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }
|
|
// );
|
|
|
|
modelBuilder.Entity<RefreshToken>(entity =>
|
|
{
|
|
entity.HasKey(e => e.Id);
|
|
entity.HasOne(e => e.User)
|
|
.WithMany()
|
|
.HasForeignKey(e => e.UserId)
|
|
.OnDelete(DeleteBehavior.Cascade);
|
|
});
|
|
|
|
modelBuilder.Entity<Tenant>().HasData(
|
|
new Tenant { Id = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26"), OragnizationSize = "100-200", Name = "MarcoBMS", ContactName = "Admin", ContactNumber = "123456789", Description = "", DomainName = "www.marcobms.org", IndustryId = Guid.Parse("15436ee3-a650-469e-bfc2-59993f7514bb"), OnBoardingDate = DateTime.MinValue }
|
|
);
|
|
|
|
modelBuilder.Entity<StatusMaster>().HasData(
|
|
new StatusMaster
|
|
{
|
|
Id = new Guid("b74da4c2-d07e-46f2-9919-e75e49b12731"),
|
|
Status = "Active",
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new StatusMaster
|
|
{
|
|
Id = new Guid("603e994b-a27f-4e5d-a251-f3d69b0498ba"),
|
|
Status = "In Progress",
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new StatusMaster
|
|
{
|
|
Id = new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
|
|
Status = "On Hold",
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new StatusMaster
|
|
{
|
|
Id = new Guid("33deaef9-9af1-4f2a-b443-681ea0d04f81"),
|
|
Status = "Completed",
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
modelBuilder.Entity<Project>().HasData(
|
|
new Project
|
|
{
|
|
Id = new Guid("85bf587b-7ca9-4685-b77c-d817f5847e85"),
|
|
Name = "Project 1",
|
|
ProjectAddress = "Project 1 Address",
|
|
ContactPerson = "Project 1 Contact Person",
|
|
StartDate = DateTime.ParseExact("2025-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
EndDate = DateTime.ParseExact("2026-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
ProjectStatusId = new Guid("b74da4c2-d07e-46f2-9919-e75e49b12731"),
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
//, new Project
|
|
//{
|
|
// Id = new Guid("3ef56a12-f5e5-4193-87d6-9e110ed10b86"),
|
|
// Name = "Project 2",
|
|
// ProjectAddress = "Project 2 Address",
|
|
// ContactPerson = "Project 2 Contact Person",
|
|
// StartDate = DateTime.ParseExact("2025-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
// EndDate = DateTime.ParseExact("2026-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
// ProjectStatusId = new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
//}, new Project
|
|
//{
|
|
// Id = new Guid("54d013e3-0a2b-48be-85c7-5ef03492a18c"),
|
|
// Name = "Project 3",
|
|
// ProjectAddress = "Project 3 Address",
|
|
// ContactPerson = "Project 3 Contact Person",
|
|
// StartDate = DateTime.ParseExact("2025-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
// EndDate = DateTime.ParseExact("2026-04-20 10:11:17.588000", "yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
|
|
// ProjectStatusId = new Guid("33deaef9-9af1-4f2a-b443-681ea0d04f81"),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
//}
|
|
);
|
|
|
|
|
|
var tenantId = _httpContextAccessor.HttpContext?.Items["TenantId"]?.ToString();
|
|
|
|
//modelBuilder.Entity<ActivityMaster>()
|
|
// .HasData(
|
|
// new ActivityMaster
|
|
// {
|
|
// Id = new Guid("4117b7de-ef6c-461f-a2c2-64eaac5f9a11"),
|
|
// ActivityName = "Core Cutting",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Number.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("1714f64d-7591-4419-bee5-118d21bb2855"),
|
|
// ActivityName = "Fabrication",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Meter.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("b3f51a93-dde6-45f9-8b22-f1bf017a640b"),
|
|
// ActivityName = "Welding",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Meter.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("53eedf44-4076-445f-be93-fedef17117e7"),
|
|
// ActivityName = "MS Support Fabrication",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Number.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("715b9ddb-d9e2-4afa-8987-d9918905cea4"),
|
|
// ActivityName = "MS Support Hanging",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Number.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("a3d191a7-a5aa-4dd8-a525-12c99263bbd6"),
|
|
// ActivityName = "Hydrant Volve",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Number.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }, new ActivityMaster
|
|
// {
|
|
// Id = new Guid("c138a7de-713a-4bd4-8292-b0b265be77a3"),
|
|
// ActivityName = "Sprinkler Installation",
|
|
// UnitOfMeasurement = UnitOfMeasurement.Number.ToString(),
|
|
// TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
// }
|
|
// );
|
|
|
|
modelBuilder.Entity<Industry>().HasData(
|
|
new Industry { Id = Guid.Parse("15436ee3-a650-469e-bfc2-59993f7514bb"), Name = "Information Technology (IT) Services" },
|
|
new Industry { Id = Guid.Parse("0a63e657-2c5f-49b5-854b-42c978293154"), Name = "Manufacturing & Production" },
|
|
new Industry { Id = Guid.Parse("bdc61e3b-69ea-4394-bab6-079ec135b5bd"), Name = "Energy & Resources" },
|
|
new Industry { Id = Guid.Parse("5ca200ac-00d7-415e-a410-b948e27ac9d2"), Name = "Finance & Professional Services" },
|
|
new Industry { Id = Guid.Parse("d5621700-cd87-441f-8cdb-6051ddfc83b4"), Name = "Hospitals and Healthcare Services" },
|
|
new Industry { Id = Guid.Parse("23608891-657e-40f0-bbd4-2b0a2ec1a76f"), Name = "Social Services" },
|
|
new Industry { Id = Guid.Parse("a493f4e3-16b1-4411-be3c-6bf2987a3168"), Name = "Retail & Consumer Services" },
|
|
new Industry { Id = Guid.Parse("e9d8ce92-9371-4ed9-9831-83c07f78edec"), Name = "Transportation & Logistics" },
|
|
new Industry { Id = Guid.Parse("8a0d6134-2dbe-4e0a-b250-ff34cb7b9df0"), Name = "Education & Training" }
|
|
|
|
);
|
|
modelBuilder.Entity<TicketStatusMaster>().HasData(
|
|
new TicketStatusMaster
|
|
{
|
|
Id = new Guid("6b0c409b-3e80-4165-8b39-f3fcacb4c797"),
|
|
Name = "New",
|
|
Description = "This is a newly created issue.",
|
|
ColorCode = "#FFCC99",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketStatusMaster
|
|
{
|
|
Id = new Guid("6c5ac37d-5b7d-40f3-adec-2dabaa5cca86"),
|
|
Name = "Assigned",
|
|
Description = "Assigned to employee or team of employees",
|
|
ColorCode = "#E6FF99",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketStatusMaster
|
|
{
|
|
Id = new Guid("7f96bcd5-0c66-411b-8a1d-9d1a4785194e"),
|
|
Name = "In Progress",
|
|
Description = "These issues are currently in progress",
|
|
ColorCode = "#99E6FF",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketStatusMaster
|
|
{
|
|
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
|
|
Name = "In Review",
|
|
Description = "These issues are currently under review",
|
|
ColorCode = "#6c757d",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketStatusMaster
|
|
{
|
|
Id = new Guid("8ff85685-a875-4f21-aa95-d99551315fcc"),
|
|
Name = "Done",
|
|
Description = "The following issues are resolved and closed",
|
|
ColorCode = "#B399FF",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
modelBuilder.Entity<TicketTypeMaster>().HasData(
|
|
new TicketTypeMaster
|
|
{
|
|
Id = new Guid("c74e5480-2b71-483c-8f4a-1a9c69c32603"),
|
|
Name = "Quality Issue",
|
|
Description = "An identified problem that affects the performance, reliability, or standards of a product or service",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketTypeMaster
|
|
{
|
|
Id = new Guid("d1f55eab-9898-4e46-9f03-b263e33e5d38"),
|
|
Name = "Help Desk",
|
|
Description = "A support service that assists users with technical issues, requests, or inquiries.",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
modelBuilder.Entity<TicketPriorityMaster>().HasData(
|
|
new TicketPriorityMaster
|
|
{
|
|
Id = new Guid("188d29b3-10f3-42d0-9587-1a46ae7a0320"),
|
|
Name = "Low",
|
|
ColorCode = "008000",
|
|
Level = 1,
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketPriorityMaster
|
|
{
|
|
Id = new Guid("0919bc84-9f82-4ecf-98c7-962755dd9a97"),
|
|
Name = "Medium",
|
|
ColorCode = "FFFF00",
|
|
Level = 2,
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}, new TicketPriorityMaster
|
|
{
|
|
Id = new Guid("a13b7e59-16fd-4665-b5cf-a97399e8445a"),
|
|
Name = "High",
|
|
ColorCode = "#FFA500",
|
|
Level = 3,
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}, new TicketPriorityMaster
|
|
{
|
|
Id = new Guid("f340fbc3-c9fd-46aa-b063-0093418830e4"),
|
|
Name = "Critical",
|
|
ColorCode = "#FFA500",
|
|
Level = 4,
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketPriorityMaster
|
|
{
|
|
Id = new Guid("44a7b91d-a0dd-45d1-8616-4d2f71e16401"),
|
|
Name = "Urgent",
|
|
ColorCode = "#FF0000",
|
|
Level = 5,
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
modelBuilder.Entity<TicketTagMaster>().HasData(
|
|
new TicketTagMaster
|
|
{
|
|
Id = new Guid("ef6c2a65-f61d-4537-9650-a7ab7f8d98db"),
|
|
Name = "Quality Issue",
|
|
ColorCode = "#e59866",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new TicketTagMaster
|
|
{
|
|
Id = new Guid("5a168569-8ad7-4422-8db6-51ef25caddeb"),
|
|
Name = "Help Desk",
|
|
ColorCode = "#85c1e9",
|
|
IsDefault = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
modelBuilder.Entity<WorkCategoryMaster>().HasData(
|
|
new WorkCategoryMaster
|
|
{
|
|
Id = new Guid("86bb2cc8-f6b5-4fdd-bbee-c389c713a44b"),
|
|
Name = "Fresh Work",
|
|
Description = "Created new task in a professional or creative context",
|
|
IsSystem = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new WorkCategoryMaster
|
|
{
|
|
Id = new Guid("9ebfa19c-53b9-481b-b863-c25d2f843201"),
|
|
Name = "Rework",
|
|
Description = "Revising, modifying, or correcting a task to improve its quality or fix issues",
|
|
IsSystem = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
},
|
|
new WorkCategoryMaster
|
|
{
|
|
Id = new Guid("11a79929-1d07-42dc-9e98-82d0d2f4a240"),
|
|
Name = "Quality Issue",
|
|
Description = "Any defect, deviation, or non-conformance in a task that fails to meet established standards or customer expectations.",
|
|
IsSystem = true,
|
|
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
|
}
|
|
);
|
|
|
|
}
|
|
|
|
private static void ManageApplicationStructure(ModelBuilder modelBuilder)
|
|
{
|
|
// Configure ApplicationRole to Tenant relationship (if Tenant exists)
|
|
modelBuilder.Entity<ApplicationRole>()
|
|
.HasOne<Tenant>() // No navigation property in ApplicationRole
|
|
.WithMany()
|
|
.HasForeignKey(ar => ar.TenantId);
|
|
// Configure the relationship between ApplicationRole and FeaturePermission via a join table
|
|
modelBuilder.Entity<RolePermissionMappings>(entity =>
|
|
{
|
|
entity.HasKey(rfp => new { rfp.ApplicationRoleId, rfp.FeaturePermissionId });
|
|
|
|
entity.HasOne<ApplicationRole>()
|
|
.WithMany()
|
|
.HasForeignKey(rfp => rfp.ApplicationRoleId);
|
|
|
|
entity.HasOne<FeaturePermission>()
|
|
.WithMany()
|
|
.HasForeignKey(rfp => rfp.FeaturePermissionId);
|
|
});
|
|
|
|
|
|
|
|
|
|
modelBuilder.Entity<Module>().HasData(new Module
|
|
{
|
|
Id = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"),
|
|
Name = "Project",
|
|
Description = "Project Module",
|
|
Key = "b04da7e9-0406-409c-ac7f-b97256e6ea02"
|
|
}, new Module
|
|
{
|
|
Id = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"),
|
|
Name = "Employee",
|
|
Description = "Employee Module",
|
|
Key = "0971c7fb-6ce1-458a-ae3f-8d3205893637"
|
|
}, new Module
|
|
{
|
|
Id = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"),
|
|
Name = "Masters",
|
|
Description = "Masters Module",
|
|
Key = "504ec132-e6a9-422f-8f85-050602cfce05"
|
|
});
|
|
|
|
|
|
|
|
modelBuilder.Entity<Feature>().HasData(
|
|
new Feature { Id = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), Description = "Manage Project", Name = "Manage Project", ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), IsActive = true },
|
|
new Feature { Id = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), Description = "Manage Infra", Name = "Manage Infra", ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), IsActive = true },
|
|
|
|
new Feature { Id = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"), Description = "Manage Tasks", Name = "Manage Tasks", ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), IsActive = true },
|
|
|
|
new Feature { Id = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), Description = "Assign and Update Tasks Progress", Name = "Assign and Update Tasks Progress", ModuleId = new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), IsActive = true },
|
|
|
|
|
|
new Feature { Id = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"), Description = "Manage Employee", Name = "Manage Employee", ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"), IsActive = true },
|
|
new Feature { Id = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"), Description = "Attendance", Name = "Attendance", ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"), IsActive = true },
|
|
|
|
new Feature { Id = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"), Description = "Global Masters", Name = "Global Masters", ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), IsActive = true },
|
|
new Feature { Id = new Guid("660131a4-788c-4739-a082-cbbf7879cbf2"), Description = "Tenant Masters", Name = "Tenant Masters", ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), IsActive = true }
|
|
);
|
|
|
|
modelBuilder.Entity<FeaturePermission>().HasData(
|
|
new FeaturePermission { Id = new Guid("6ea44136-987e-44ba-9e5d-1cf8f5837ebc"), FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), IsEnabled = true, Name = "View Project", Description = "" },
|
|
new FeaturePermission { Id = new Guid("172fc9b6-755b-4f62-ab26-55c34a330614"), FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), IsEnabled = true, Name = "Manage Project", Description = "" },
|
|
new FeaturePermission { Id = new Guid("b94802ce-0689-4643-9e1d-11c86950c35b"), FeatureId = new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), IsEnabled = true, Name = "Manage Team", Description = "" },
|
|
|
|
new FeaturePermission { Id = new Guid("c7b68e33-72f0-474f-bd96-77636427ecc8"), FeatureId = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), IsEnabled = true, Name = "View Project Infra", Description = "" },
|
|
new FeaturePermission { Id = new Guid("f2aee20a-b754-4537-8166-f9507b44585b"), FeatureId = new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), IsEnabled = true, Name = "Manage Project Infra", Description = "" },
|
|
|
|
|
|
new FeaturePermission { Id = new Guid("9fcc5f87-25e3-4846-90ac-67a71ab92e3c"), FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"), IsEnabled = true, Name = "View Task", Description = "" },
|
|
new FeaturePermission { Id = new Guid("08752f33-3b29-4816-b76b-ea8a968ed3c5"), FeatureId = new Guid("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"), IsEnabled = true, Name = "Manage Task", Description = "" },
|
|
|
|
|
|
new FeaturePermission { Id = new Guid("d135a4b0-4f9a-4903-ab9c-4843839ebdee"), FeatureId = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), IsEnabled = true, Name = "Assign Task and Report Progress", Description = "" },
|
|
new FeaturePermission { Id = new Guid("ed99ecd4-1bed-42e1-b7b3-d64c04493823"), FeatureId = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), IsEnabled = true, Name = "Approve Task", Description = "" },
|
|
|
|
|
|
new FeaturePermission { Id = new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"), FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"), IsEnabled = true, Name = "View Employee", Description = "" },
|
|
new FeaturePermission { Id = new Guid("a97d366a-c2bb-448d-be93-402bd2324566"), FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"), IsEnabled = true, Name = "Manage Employee", Description = "" },
|
|
new FeaturePermission { Id = new Guid("fbd213e0-0250-46f1-9f5f-4b2a1e6e76a3"), FeatureId = new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"), IsEnabled = true, Name = "Assign To Project", Description = "" },
|
|
|
|
|
|
new FeaturePermission { Id = new Guid("915e6bff-65f6-4e3f-aea8-3fd217d3ea9e"), FeatureId = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"), IsEnabled = true, Name = "Perform Attendance ", Description = "" },
|
|
new FeaturePermission { Id = new Guid("57802c4a-00aa-4a1f-a048-fd2f70dd44b6"), FeatureId = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"), IsEnabled = true, Name = "Regularize Attendance", Description = "" },
|
|
|
|
new FeaturePermission { Id = new Guid("5ffbafe0-7ab0-48b1-bb50-c1bf76b65f9d"), FeatureId = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"), IsEnabled = true, Name = "View Masters", Description = "" },
|
|
new FeaturePermission { Id = new Guid("588a8824-f924-4955-82d8-fc51956cf323"), FeatureId = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"), IsEnabled = true, Name = "Manage Masters", Description = "" },
|
|
new FeaturePermission { Id = new Guid("cb8ec407-46d4-4467-930c-69127cda6dec"), FeatureId = new Guid("660131a4-788c-4739-a082-cbbf7879cbf2"), IsEnabled = true, Name = "View Masters", Description = "" },
|
|
new FeaturePermission { Id = new Guid("6b1a6d97-a951-4de5-9b19-709bac7c4f18"), FeatureId = new Guid("660131a4-788c-4739-a082-cbbf7879cbf2"), IsEnabled = true, Name = "Manage Masters", Description = "" }
|
|
|
|
);
|
|
}
|
|
}
|
|
}
|