Compare commits
199 Commits
Ashutosh_S
...
main
Author | SHA1 | Date | |
---|---|---|---|
7e20807325 | |||
186486d934 | |||
d07f0311ae | |||
2f6031e62c | |||
e02636b6b6 | |||
bad784e147 | |||
886d0bb3b1 | |||
74dd9eeb8d | |||
1939a63d9a | |||
c07db9f94d | |||
53da15416a | |||
a809bdd469 | |||
bb2c098cb9 | |||
bd3b70f4ea | |||
000cef3bb7 | |||
522deae8f7 | |||
9a8aa4f5ce | |||
af92ab977b | |||
c06dc8ebe7 | |||
8609db64d2 | |||
e831f50505 | |||
ba88fbced6 | |||
13d2e1cd7d | |||
26acfec408 | |||
3bd38f3c68 | |||
2e29dc9946 | |||
db752a4678 | |||
245182eb07 | |||
9daf76c6eb | |||
c33afa58c3 | |||
4ceb5c3cb2 | |||
d0dabf776b | |||
04223578ad | |||
f94a7de4ab | |||
eb3a65428e | |||
8ddb414e91 | |||
d8329f1fab | |||
d0912cca56 | |||
d957c692f1 | |||
40ca680f45 | |||
8dee7b0fa2 | |||
1e1fe6692d | |||
0df13975a7 | |||
8fb5aa632d | |||
7e4d4b0f5b | |||
64bde99ab5 | |||
90851a3349 | |||
2c0cd87227 | |||
c3670eaab9 | |||
1cd8203d27 | |||
5df66b79ca | |||
31da8a4402 | |||
27a2610388 | |||
cd175c4fdf | |||
d6145ee0ba | |||
04086ed7e0 | |||
a9b4b79ee4 | |||
70092e5601 | |||
33cd7113a7 | |||
1d4d61ef2c | |||
f93686c1df | |||
f2213db807 | |||
eddbdde355 | |||
0048281616 | |||
f248557704 | |||
18d590ccbe | |||
4c6070fee5 | |||
0fb5c3935d | |||
2f052174aa | |||
2258771229 | |||
e4e49595e6 | |||
44d2827dcc | |||
fef3db297c | |||
0d4d4c3754 | |||
162d735d16 | |||
38e1f7a0fc | |||
fe1dfd7293 | |||
42da1f12cf | |||
c5da400e6b | |||
a405cfec13 | |||
bc3e927777 | |||
c304b615f7 | |||
8d64e9702d | |||
98acbb66d6 | |||
81d1137939 | |||
0c6f5e0df0 | |||
f45bc29a44 | |||
ef84ba34da | |||
bd421d45aa | |||
777a72c71f | |||
264c9466c9 | |||
a1f6552347 | |||
06c5457981 | |||
0ba4ccf45c | |||
84e2f840b4 | |||
34b89c4718 | |||
d0745e8688 | |||
7d85cb5f4c | |||
9b59a4d6b6 | |||
7e0322c859 | |||
05bfa48115 | |||
091d73958d | |||
f45ada2be2 | |||
bcc416f47e | |||
ee1cb73fe5 | |||
eba1a70037 | |||
2f03de97d6 | |||
a1ab143df5 | |||
64e6255458 | |||
aa596b736d | |||
3884c74d9b | |||
7f2b9f0ceb | |||
f633e11e97 | |||
5fab8371ac | |||
2e0ea562fe | |||
8c97c78408 | |||
86102ef70d | |||
009ac36e38 | |||
d38bc4752a | |||
77db9a6bd9 | |||
d452faf6a9 | |||
2ce294904b | |||
1e66dd2017 | |||
aed6949187 | |||
b069e9f07d | |||
d41c49af7b | |||
a10b24523e | |||
efd8667774 | |||
ac672d0cc2 | |||
de883103d5 | |||
bb31e33983 | |||
51d86d7bfc | |||
f8182494d2 | |||
db0d464ab5 | |||
55cae17ed1 | |||
3f8024421a | |||
9d71a71a53 | |||
4a25158cc9 | |||
20b12cfcd4 | |||
0eb740fa25 | |||
5158153ee6 | |||
68cd5acc9c | |||
30623d6bbc | |||
1e8c967d7a | |||
cda8005b1b | |||
8d97b2a687 | |||
061f287e8c | |||
fae6d7bbe9 | |||
0ef9d66cf1 | |||
cdc2afb688 | |||
892facef40 | |||
0b150fed9a | |||
b17d1d30e5 | |||
a0789f7f8e | |||
7d30831408 | |||
87ebee8005 | |||
a88446ceb5 | |||
5717bb6dac | |||
cf35b8c773 | |||
5105da7b54 | |||
da787cfe43 | |||
452f4a7e5a | |||
ca31c011e4 | |||
5ac1c2b798 | |||
cf51d4f37c | |||
2b6e8b7c8a | |||
455cbc5cd4 | |||
f6ce8dd4f6 | |||
5538c3ae25 | |||
38450dce70 | |||
23473b33f0 | |||
7b1238e7d6 | |||
4655aa948b | |||
f4cb08f472 | |||
990b928a63 | |||
9a9876b7ca | |||
884efdce61 | |||
ba5698f4b2 | |||
673102cb50 | |||
2699439996 | |||
813bc70bda | |||
58b817be99 | |||
47a3d6035c | |||
7f4f266dd0 | |||
5cf6885a93 | |||
48fb5fd449 | |||
b44fd6d49f | |||
56977e3702 | |||
6f1a9cd892 | |||
44614f475b | |||
7335ad23ce | |||
c5385c0b06 | |||
6017d87793 | |||
f502adb6c6 | |||
1b47fbdcf0 | |||
37c91d4432 | |||
0ba2874041 | |||
4bd3e59427 | |||
648b4f9ef0 |
@ -9,6 +9,7 @@ using Marco.Pms.Model.Expenses;
|
||||
using Marco.Pms.Model.Forum;
|
||||
using Marco.Pms.Model.Mail;
|
||||
using Marco.Pms.Model.Master;
|
||||
using Marco.Pms.Model.OrganizationModel;
|
||||
using Marco.Pms.Model.Projects;
|
||||
using Marco.Pms.Model.Roles;
|
||||
using Marco.Pms.Model.TenantModels;
|
||||
@ -39,6 +40,8 @@ namespace Marco.Pms.DataAccess.Data
|
||||
public DbSet<SubscriptionPlanDetails> SubscriptionPlanDetails { get; set; }
|
||||
public DbSet<TenantSubscriptions> TenantSubscriptions { get; set; }
|
||||
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
|
||||
public DbSet<ServiceMaster> ServiceMasters { get; set; }
|
||||
public DbSet<ActivityGroupMaster> ActivityGroupMasters { get; set; }
|
||||
public DbSet<ActivityMaster> ActivityMasters { get; set; }
|
||||
public DbSet<Project> Projects { get; set; }
|
||||
public DbSet<ProjectAllocation> ProjectAllocations { get; set; }
|
||||
@ -109,6 +112,8 @@ namespace Marco.Pms.DataAccess.Data
|
||||
public DbSet<StatusPermissionMapping> StatusPermissionMapping { get; set; }
|
||||
public DbSet<ExpensesStatusMapping> ExpensesStatusMapping { get; set; }
|
||||
|
||||
public DbSet<FCMTokenMapping> FCMTokenMappings { get; set; }
|
||||
|
||||
public DbSet<EntityTypeMaster> EntityTypeMasters { get; set; }
|
||||
public DbSet<DocumentTypeMaster> DocumentTypeMasters { get; set; }
|
||||
public DbSet<DocumentCategoryMaster> DocumentCategoryMasters { get; set; }
|
||||
@ -117,6 +122,17 @@ namespace Marco.Pms.DataAccess.Data
|
||||
public DbSet<AttachmentVersionMapping> AttachmentVersionMappings { get; set; }
|
||||
public DbSet<AttachmentTagMapping> AttachmentTagMappings { get; set; }
|
||||
|
||||
public DbSet<GlobalServiceMaster> GlobalServiceMasters { get; set; }
|
||||
public DbSet<GlobalActivityGroupMaster> GlobalActivityGroupMasters { get; set; }
|
||||
public DbSet<GlobalActivityMaster> GlobalActivityMasters { get; set; }
|
||||
|
||||
public DbSet<Organization> Organizations { get; set; }
|
||||
public DbSet<OrgTypeMaster> OrgTypeMasters { get; set; }
|
||||
public DbSet<TenantOrgMapping> TenantOrgMappings { get; set; }
|
||||
public DbSet<OrgServiceMapping> OrgServiceMappings { get; set; }
|
||||
public DbSet<ProjectServiceMapping> ProjectServiceMappings { get; set; }
|
||||
public DbSet<ProjectOrgMapping> ProjectOrgMappings { get; set; }
|
||||
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
@ -132,6 +148,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
.HasForeignKey(e => e.UserId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<TenantStatus>().HasData(
|
||||
new TenantStatus
|
||||
{
|
||||
@ -150,6 +167,21 @@ namespace Marco.Pms.DataAccess.Data
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<Organization>().HasData(
|
||||
new Organization
|
||||
{
|
||||
Id = Guid.Parse("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
Name = "MarcoBMS",
|
||||
ContactPerson = "Admin",
|
||||
Email = "admin@marcoaiot.com",
|
||||
ContactNumber = "123456789",
|
||||
Address = "2nd Floor, Fullora Building, Tejas CHS, behind Kothrud Stand, Tejas Society, Dahanukar Colony, Kothrud, Pune, Maharashtra 411038",
|
||||
CreatedAt = DateTime.MinValue,
|
||||
SPRID = 5400,
|
||||
IsActive = true
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<Tenant>().HasData(
|
||||
new Tenant
|
||||
{
|
||||
@ -163,6 +195,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
DomainName = "www.marcobms.org",
|
||||
TenantStatusId = Guid.Parse("62b05792-5115-4f99-8ff5-e8374859b191"),
|
||||
IndustryId = Guid.Parse("15436ee3-a650-469e-bfc2-59993f7514bb"),
|
||||
OrganizationId = Guid.Parse("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
BillingAddress = "2nd Floor, Fullora Building, Tejas CHS, behind Kothrud Stand, Tejas Society, Dahanukar Colony, Kothrud, Pune, Maharashtra 411038",
|
||||
OnBoardingDate = DateTime.MinValue,
|
||||
IsSuperTenant = true,
|
||||
@ -197,6 +230,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Status = "Completed"
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<Project>().HasData(
|
||||
new Project
|
||||
{
|
||||
@ -226,6 +260,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
new Industry { Id = Guid.Parse("8a0d6134-2dbe-4e0a-b250-ff34cb7b9df0"), Name = "Education & Training" }
|
||||
|
||||
);
|
||||
|
||||
modelBuilder.Entity<TicketStatusMaster>().HasData(
|
||||
new TicketStatusMaster
|
||||
{
|
||||
@ -273,6 +308,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<TicketTypeMaster>().HasData(
|
||||
new TicketTypeMaster
|
||||
{
|
||||
@ -291,6 +327,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<TicketPriorityMaster>().HasData(
|
||||
new TicketPriorityMaster
|
||||
{
|
||||
@ -338,6 +375,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<TicketTagMaster>().HasData(
|
||||
new TicketTagMaster
|
||||
{
|
||||
@ -383,6 +421,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<WorkStatusMaster>().HasData(
|
||||
new WorkStatusMaster
|
||||
{
|
||||
@ -626,6 +665,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Materials, equipment and supplies purchased for site operations.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -635,6 +675,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Vehicle fuel, logistics services and delivery of goods or personnel.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = false,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -644,6 +685,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Delivery of personnel.",
|
||||
NoOfPersonsRequired = true,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = false,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -653,6 +695,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Site setup costs including equipment deployment and temporary infrastructure.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -662,6 +705,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = " Worker amenities like snacks, meals, safety gear, accommodation, medical support etc.",
|
||||
NoOfPersonsRequired = true,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -671,6 +715,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Machinery servicing, electricity, water, and temporary office needs.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -680,6 +725,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Scheduled payments for external services or goods.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new ExpensesTypeMaster
|
||||
@ -689,6 +735,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Description = "Government fees, insurance, inspections and safety-related expenditures.",
|
||||
NoOfPersonsRequired = false,
|
||||
IsActive = true,
|
||||
IsAttachmentRequried = true,
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
@ -750,7 +797,7 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Name = "Project Documents",
|
||||
Description = "Project documents are formal records that outline the plans, progress, and details necessary to execute and manage a project effectively.",
|
||||
EntityTypeId = Guid.Parse("c8fe7115-aa27-43bc-99f4-7b05fabe436e"),
|
||||
CreatedAt = DateTime.UtcNow,
|
||||
CreatedAt = new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc),
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
},
|
||||
new DocumentCategoryMaster
|
||||
@ -759,10 +806,10 @@ namespace Marco.Pms.DataAccess.Data
|
||||
Name = "Employee Documents",
|
||||
Description = "Employment details along with legal IDs like passports or driver’s licenses to verify identity and work authorization.",
|
||||
EntityTypeId = Guid.Parse("dbb9555a-7a0c-40f2-a9ed-f0463f1ceed7"),
|
||||
CreatedAt = DateTime.UtcNow,
|
||||
CreatedAt = new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc),
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26")
|
||||
}
|
||||
);
|
||||
);
|
||||
|
||||
modelBuilder.Entity<DocumentTypeMaster>().HasData(
|
||||
new DocumentTypeMaster
|
||||
@ -945,6 +992,19 @@ namespace Marco.Pms.DataAccess.Data
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<OrgTypeMaster>().HasData(
|
||||
new OrgTypeMaster
|
||||
{
|
||||
Id = Guid.Parse("5ee49bcd-b6d3-482f-9aaf-484afe04abec"),
|
||||
Name = "Service Provider"
|
||||
},
|
||||
new OrgTypeMaster
|
||||
{
|
||||
Id = Guid.Parse("a283356a-9b02-4029-afb7-e65c703efdd4"),
|
||||
Name = "Sub-Contractor"
|
||||
}
|
||||
);
|
||||
|
||||
modelBuilder.Entity<Module>().HasData(
|
||||
new Module
|
||||
{
|
||||
@ -986,9 +1046,12 @@ namespace Marco.Pms.DataAccess.Data
|
||||
new Feature { Id = new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"), Description = "Attendance", Name = "Attendance Management", ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"), IsActive = true },
|
||||
new Feature { Id = new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), Description = "Manage Document", Name = "Document Management", ModuleId = new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"), IsActive = true },
|
||||
|
||||
// Master Module
|
||||
new Feature { Id = new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"), Description = "Global Masters", Name = "Masters", ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), IsActive = true },
|
||||
new Feature { Id = new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), Description = "Managing all directory related rights", Name = "Directory Management", ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), IsActive = true },
|
||||
new Feature { Id = new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), Description = "Managing all organization related rights", Name = "Organization Management", ModuleId = new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), IsActive = true },
|
||||
|
||||
// Tenant Module
|
||||
new Feature { Id = new Guid("2f3509b7-160d-410a-b9b6-daadd96c986d"), Description = "Managing all tenant related rights", Name = "Tenant Management", ModuleId = new Guid("f482a079-4dec-4f2d-9867-6baf2a4f23d9"), IsActive = true }
|
||||
);
|
||||
|
||||
@ -1045,7 +1108,12 @@ namespace Marco.Pms.DataAccess.Data
|
||||
new FeaturePermission { Id = new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), FeatureId = new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), IsEnabled = true, Name = "Review", Description = "Allows a user to examine submitted expenses for accuracy, completeness, and policy compliance before they are approved or rejected." },
|
||||
new FeaturePermission { Id = new Guid("eaafdd76-8aac-45f9-a530-315589c6deca"), FeatureId = new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), IsEnabled = true, Name = "Approve", Description = "Allows a user to authorize or reject submitted expenses, making them officially accepted or declined within the system." },
|
||||
new FeaturePermission { Id = new Guid("ea5a1529-4ee8-4828-80ea-0e23c9d4dd11"), FeatureId = new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), IsEnabled = true, Name = "Process", Description = "Allows a user to handle post-approval actions such as recording payments, updating financial records, or marking expenses as reimbursed or settled." },
|
||||
new FeaturePermission { Id = new Guid("bdee29a2-b73b-402d-8dd1-c4b1f81ccbc3"), FeatureId = new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), IsEnabled = true, Name = "Manage", Description = "Allows a user to configure and control system settings, such as managing expense types, payment modes, permissions, and overall workflow rules." }
|
||||
new FeaturePermission { Id = new Guid("bdee29a2-b73b-402d-8dd1-c4b1f81ccbc3"), FeatureId = new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), IsEnabled = true, Name = "Manage", Description = "Allows a user to configure and control system settings, such as managing expense types, payment modes, permissions, and overall workflow rules." },
|
||||
|
||||
// Organization Management Feature
|
||||
new FeaturePermission { Id = new Guid("068cb3c1-49c5-4746-9f29-1fce16e820ac"), FeatureId = new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), IsEnabled = true, Name = "Add Organization", Description = "Allow user to create new organization" },
|
||||
new FeaturePermission { Id = new Guid("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a"), FeatureId = new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), IsEnabled = true, Name = "Edit Organization", Description = "Allow the user to update the basic information of the organization" },
|
||||
new FeaturePermission { Id = new Guid("7a6cf830-0008-4e03-b31d-0d050cb634f4"), FeatureId = new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), IsEnabled = true, Name = "View Organization", Description = "Allow the user to view information of the organization" }
|
||||
|
||||
);
|
||||
|
||||
|
@ -62,7 +62,6 @@ namespace Marco.Pms.DataAccess.Initializer
|
||||
// State = "State",
|
||||
// Postalcode = "1234567890",
|
||||
// City = "City",
|
||||
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26"),
|
||||
IsRootUser = true,
|
||||
|
||||
}, "User@123").GetAwaiter().GetResult();
|
||||
@ -78,13 +77,10 @@ namespace Marco.Pms.DataAccess.Initializer
|
||||
Gender = "",
|
||||
EmergencyPhoneNumber = "1234567890",
|
||||
CurrentAddress = "",
|
||||
AadharNumber = "1234567890",
|
||||
ApplicationUserId = user.Id,
|
||||
BirthDate = DateTime.MinValue,
|
||||
PanNumber = "",
|
||||
PermanentAddress = "",
|
||||
PhoneNumber = "",
|
||||
TenantId = user.TenantId
|
||||
PhoneNumber = ""
|
||||
};
|
||||
_db.Employees.Add(emp);
|
||||
|
||||
|
4471
Marco.Pms.DataAccess/Migrations/20250813060211_Added_FCMTokenMApping_Table.Designer.cs
generated
Normal file
4471
Marco.Pms.DataAccess/Migrations/20250813060211_Added_FCMTokenMApping_Table.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_FCMTokenMApping_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "FCMTokenMappings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
EmployeeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FcmToken = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_FCMTokenMappings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_FCMTokenMappings_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_FCMTokenMappings_TenantId",
|
||||
table: "FCMTokenMappings",
|
||||
column: "TenantId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "FCMTokenMappings");
|
||||
}
|
||||
}
|
||||
}
|
4474
Marco.Pms.DataAccess/Migrations/20250820110719_Added_Expriy_Date_In_FCMMapping_Table.Designer.cs
generated
Normal file
4474
Marco.Pms.DataAccess/Migrations/20250820110719_Added_Expriy_Date_In_FCMMapping_Table.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Expriy_Date_In_FCMMapping_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "ExpiredAt",
|
||||
table: "FCMTokenMappings",
|
||||
type: "datetime(6)",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ExpiredAt",
|
||||
table: "FCMTokenMappings");
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,268 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_IsAttachmentRequried_Parameter_In_ExpensesTypeMaster_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsAttachmentRequried",
|
||||
table: "ExpensesTypeMaster",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 12, 7, 6, 13, 429, DateTimeKind.Utc).AddTicks(3323));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 12, 7, 6, 13, 429, DateTimeKind.Utc).AddTicks(3316));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("1e2d697a-76b4-4be8-bc66-87144561a1a0"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2de53163-0dbd-404b-8e60-1b02e6b4886a"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: false);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("4842fa61-64eb-4241-aebd-8282065af9f9"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("52484820-1b54-4865-8f0f-baa2b1d339b9"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("5e0c6227-d49d-41ff-9f1f-781f0aee2469"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("77013784-9324-4d8b-bd36-d6f928e68942"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("dd120bc4-ab0a-45ba-8450-5cd45ff221ca"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: false);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ExpensesTypeMaster",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("fc59eb90-98ea-481c-b421-54bfa9e42d8f"),
|
||||
column: "IsAttachmentRequried",
|
||||
value: true);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsAttachmentRequried",
|
||||
table: "ExpensesTypeMaster");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6233));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6226));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6307));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6290));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6298));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6286));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6275));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6319));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6282));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6314));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6311));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6302));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6295));
|
||||
}
|
||||
}
|
||||
}
|
6079
Marco.Pms.DataAccess/Migrations/20250916051642_Added_Tables_Related_To_Organizations.Designer.cs
generated
Normal file
6079
Marco.Pms.DataAccess/Migrations/20250916051642_Added_Tables_Related_To_Organizations.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,757 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Tables_Related_To_Organizations : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ActivityMasters",
|
||||
keyColumn: "UnitOfMeasurement",
|
||||
keyValue: null,
|
||||
column: "UnitOfMeasurement",
|
||||
value: "");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "UnitOfMeasurement",
|
||||
table: "ActivityMasters",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldNullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "ActivityMasters",
|
||||
keyColumn: "ActivityName",
|
||||
keyValue: null,
|
||||
column: "ActivityName",
|
||||
value: "");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "ActivityName",
|
||||
table: "ActivityMasters",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldNullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "ActivityGroupId",
|
||||
table: "ActivityMasters",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsSystem",
|
||||
table: "ActivityMasters",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "GlobalServiceMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Description = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_GlobalServiceMasters", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Organizations",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Email = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ContactPerson = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Address = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ContactNumber = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
SPRID = table.Column<double>(type: "double", nullable: false),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
CreatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
UpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Organizations", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Organizations_Employees_CreatedById",
|
||||
column: x => x.CreatedById,
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
table.ForeignKey(
|
||||
name: "FK_Organizations_Employees_UpdatedById",
|
||||
column: x => x.UpdatedById,
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "OrgTypeMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_OrgTypeMasters", x => x.Id);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ServiceMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Description = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ServiceMasters", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ServiceMasters_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "GlobalActivityGroupMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Description = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_GlobalActivityGroupMasters", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_GlobalActivityGroupMasters_GlobalServiceMasters_ServiceId",
|
||||
column: x => x.ServiceId,
|
||||
principalTable: "GlobalServiceMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "OrgServiceMappings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_OrgServiceMappings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_OrgServiceMappings_GlobalServiceMasters_ServiceId",
|
||||
column: x => x.ServiceId,
|
||||
principalTable: "GlobalServiceMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_OrgServiceMappings_Organizations_OrganizationId",
|
||||
column: x => x.OrganizationId,
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "TenantOrgMappings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
SPRID = table.Column<double>(type: "double", nullable: false),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
AssignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
ReassignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_TenantOrgMappings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_TenantOrgMappings_Organizations_OrganizationId",
|
||||
column: x => x.OrganizationId,
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_TenantOrgMappings_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ActivityGroupMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Name = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Description = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ActivityGroupMasters", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ActivityGroupMasters_ServiceMasters_ServiceId",
|
||||
column: x => x.ServiceId,
|
||||
principalTable: "ServiceMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ActivityGroupMasters_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ProjectServiceMappings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
PlannedStartDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
PlannedEndDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
ActualStartDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
ActualEndDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ProjectServiceMappings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectServiceMappings_Projects_ProjectId",
|
||||
column: x => x.ProjectId,
|
||||
principalTable: "Projects",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectServiceMappings_ServiceMasters_ServiceId",
|
||||
column: x => x.ServiceId,
|
||||
principalTable: "ServiceMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectServiceMappings_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "GlobalActivityMasters",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ActivityName = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
UnitOfMeasurement = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
ActivityGroupId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_GlobalActivityMasters", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_GlobalActivityMasters_GlobalActivityGroupMasters_ActivityGro~",
|
||||
column: x => x.ActivityGroupId,
|
||||
principalTable: "GlobalActivityGroupMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ProjectOrgMappings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ParentOrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
ProjectServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
OrganizationTypeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
AssignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
CompletionDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ProjectOrgMappings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectOrgMappings_OrgTypeMasters_OrganizationTypeId",
|
||||
column: x => x.OrganizationTypeId,
|
||||
principalTable: "OrgTypeMasters",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectOrgMappings_Organizations_OrganizationId",
|
||||
column: x => x.OrganizationId,
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectOrgMappings_Organizations_ParentOrganizationId",
|
||||
column: x => x.ParentOrganizationId,
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectOrgMappings_ProjectServiceMappings_ProjectServiceId",
|
||||
column: x => x.ProjectServiceId,
|
||||
principalTable: "ProjectServiceMappings",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ProjectOrgMappings_Tenants_TenantId",
|
||||
column: x => x.TenantId,
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "OrgTypeMasters",
|
||||
columns: new[] { "Id", "Name" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("5ee49bcd-b6d3-482f-9aaf-484afe04abec"), "Service Provider" },
|
||||
{ new Guid("743806fe-d991-4079-b223-e4e2da44f435"), "Tenant" },
|
||||
{ new Guid("a283356a-9b02-4029-afb7-e65c703efdd4"), "Sub-Contractor" },
|
||||
{ new Guid("b1877a3b-8832-47b1-bbe3-dc7e98672f49"), "PMC" }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "Organizations",
|
||||
columns: new[] { "Id", "Address", "ContactNumber", "ContactPerson", "CreatedAt", "CreatedById", "Email", "IsActive", "Name", "SPRID", "UpdatedAt", "UpdatedById" },
|
||||
values: new object[] { new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"), "2nd Floor, Fullora Building, Tejas CHS, behind Kothrud Stand, Tejas Society, Dahanukar Colony, Kothrud, Pune, Maharashtra 411038", "123456789", "Admin", new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), null, "admin@marcoaiot.com", true, "MarcoBMS", 5400.0, null, null });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ActivityMasters_ActivityGroupId",
|
||||
table: "ActivityMasters",
|
||||
column: "ActivityGroupId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ActivityGroupMasters_ServiceId",
|
||||
table: "ActivityGroupMasters",
|
||||
column: "ServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ActivityGroupMasters_TenantId",
|
||||
table: "ActivityGroupMasters",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_GlobalActivityGroupMasters_ServiceId",
|
||||
table: "GlobalActivityGroupMasters",
|
||||
column: "ServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_GlobalActivityMasters_ActivityGroupId",
|
||||
table: "GlobalActivityMasters",
|
||||
column: "ActivityGroupId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Organizations_CreatedById",
|
||||
table: "Organizations",
|
||||
column: "CreatedById");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Organizations_UpdatedById",
|
||||
table: "Organizations",
|
||||
column: "UpdatedById");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_OrgServiceMappings_OrganizationId",
|
||||
table: "OrgServiceMappings",
|
||||
column: "OrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_OrgServiceMappings_ServiceId",
|
||||
table: "OrgServiceMappings",
|
||||
column: "ServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_OrganizationId",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "OrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_OrganizationTypeId",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "OrganizationTypeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_ParentOrganizationId",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "ParentOrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_ProjectServiceId",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "ProjectServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_TenantId",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectServiceMappings_ProjectId",
|
||||
table: "ProjectServiceMappings",
|
||||
column: "ProjectId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectServiceMappings_ServiceId",
|
||||
table: "ProjectServiceMappings",
|
||||
column: "ServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectServiceMappings_TenantId",
|
||||
table: "ProjectServiceMappings",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ServiceMasters_TenantId",
|
||||
table: "ServiceMasters",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TenantOrgMappings_OrganizationId",
|
||||
table: "TenantOrgMappings",
|
||||
column: "OrganizationId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TenantOrgMappings_TenantId",
|
||||
table: "TenantOrgMappings",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ActivityMasters_ActivityGroupMasters_ActivityGroupId",
|
||||
table: "ActivityMasters",
|
||||
column: "ActivityGroupId",
|
||||
principalTable: "ActivityGroupMasters",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_ActivityMasters_ActivityGroupMasters_ActivityGroupId",
|
||||
table: "ActivityMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ActivityGroupMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "GlobalActivityMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "OrgServiceMappings");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ProjectOrgMappings");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "TenantOrgMappings");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "GlobalActivityGroupMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "OrgTypeMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ProjectServiceMappings");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Organizations");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "GlobalServiceMasters");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ServiceMasters");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_ActivityMasters_ActivityGroupId",
|
||||
table: "ActivityMasters");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ActivityGroupId",
|
||||
table: "ActivityMasters");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsSystem",
|
||||
table: "ActivityMasters");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "UnitOfMeasurement",
|
||||
table: "ActivityMasters",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "ActivityName",
|
||||
table: "ActivityMasters",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6233));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentCategoryMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6226));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6307));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6290));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6298));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6286));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6275));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6319));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6282));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6314));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6311));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6302));
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DocumentTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
|
||||
column: "CreatedAt",
|
||||
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6295));
|
||||
}
|
||||
}
|
||||
}
|
6117
Marco.Pms.DataAccess/Migrations/20250917055522_Added_IsActive_In_ServiceMaster.Designer.cs
generated
Normal file
6117
Marco.Pms.DataAccess/Migrations/20250917055522_Added_IsActive_In_ServiceMaster.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,77 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_IsActive_In_ServiceMaster : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsActive",
|
||||
table: "ServiceMasters",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsActive",
|
||||
table: "ActivityGroupMasters",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "Features",
|
||||
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
|
||||
values: new object[] { new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), "Managing all organization related rights", true, new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), "Organization Management" });
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "FeaturePermissions",
|
||||
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("068cb3c1-49c5-4746-9f29-1fce16e820ac"), "Allow user to create new organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "Add Organization" },
|
||||
{ new Guid("7a6cf830-0008-4e03-b31d-0d050cb634f4"), "Allow the user to view information of the organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "View Organization" },
|
||||
{ new Guid("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a"), "Allow the user to update the basic information of the organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "Edit Organization" }
|
||||
});
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DeleteData(
|
||||
table: "FeaturePermissions",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("068cb3c1-49c5-4746-9f29-1fce16e820ac"));
|
||||
|
||||
migrationBuilder.DeleteData(
|
||||
table: "FeaturePermissions",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("7a6cf830-0008-4e03-b31d-0d050cb634f4"));
|
||||
|
||||
migrationBuilder.DeleteData(
|
||||
table: "FeaturePermissions",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a"));
|
||||
|
||||
migrationBuilder.DeleteData(
|
||||
table: "Features",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"));
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsActive",
|
||||
table: "ServiceMasters");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsActive",
|
||||
table: "ActivityGroupMasters");
|
||||
}
|
||||
}
|
||||
}
|
6114
Marco.Pms.DataAccess/Migrations/20250917063934_Updated_EMployee_Table.Designer.cs
generated
Normal file
6114
Marco.Pms.DataAccess/Migrations/20250917063934_Updated_EMployee_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,136 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Updated_EMployee_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Employees_JobRoles_JobRoleId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "AadharNumber",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PanNumber",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RoleId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "JobRoleId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true)
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Employees",
|
||||
keyColumn: "FirstName",
|
||||
keyValue: null,
|
||||
column: "FirstName",
|
||||
value: "");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "FirstName",
|
||||
table: "Employees",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldNullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "HasApplicationAccess",
|
||||
table: "Employees",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Employees_JobRoles_JobRoleId",
|
||||
table: "Employees",
|
||||
column: "JobRoleId",
|
||||
principalTable: "JobRoles",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Employees_JobRoles_JobRoleId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HasApplicationAccess",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "JobRoleId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)")
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "FirstName",
|
||||
table: "Employees",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "AadharNumber",
|
||||
table: "Employees",
|
||||
type: "longtext",
|
||||
nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "PanNumber",
|
||||
table: "Employees",
|
||||
type: "longtext",
|
||||
nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "RoleId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Employees_JobRoles_JobRoleId",
|
||||
table: "Employees",
|
||||
column: "JobRoleId",
|
||||
principalTable: "JobRoles",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
6098
Marco.Pms.DataAccess/Migrations/20250917072710_Added_Organization_In_Employee_Table.Designer.cs
generated
Normal file
6098
Marco.Pms.DataAccess/Migrations/20250917072710_Added_Organization_In_Employee_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,70 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Organization_In_Employee_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Organizations_Employees_CreatedById",
|
||||
table: "Organizations");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Organizations_Employees_UpdatedById",
|
||||
table: "Organizations");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Organizations_CreatedById",
|
||||
table: "Organizations");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Organizations_UpdatedById",
|
||||
table: "Organizations");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "OrganizationId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
collation: "ascii_general_ci");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OrganizationId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Organizations_CreatedById",
|
||||
table: "Organizations",
|
||||
column: "CreatedById");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Organizations_UpdatedById",
|
||||
table: "Organizations",
|
||||
column: "UpdatedById");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Organizations_Employees_CreatedById",
|
||||
table: "Organizations",
|
||||
column: "CreatedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Organizations_Employees_UpdatedById",
|
||||
table: "Organizations",
|
||||
column: "UpdatedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,39 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Organization_In_Employee_Table_As_Forgin_Key : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Employees_OrganizationId",
|
||||
table: "Employees",
|
||||
column: "OrganizationId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Employees_Organizations_OrganizationId",
|
||||
table: "Employees",
|
||||
column: "OrganizationId",
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Employees_Organizations_OrganizationId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Employees_OrganizationId",
|
||||
table: "Employees");
|
||||
}
|
||||
}
|
||||
}
|
6111
Marco.Pms.DataAccess/Migrations/20250917090050_Added_IsPrimary_Parameter_In_Employee_Table.Designer.cs
generated
Normal file
6111
Marco.Pms.DataAccess/Migrations/20250917090050_Added_IsPrimary_Parameter_In_Employee_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,29 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_IsPrimary_Parameter_In_Employee_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsPrimary",
|
||||
table: "Employees",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsPrimary",
|
||||
table: "Employees");
|
||||
}
|
||||
}
|
||||
}
|
6122
Marco.Pms.DataAccess/Migrations/20250917092024_Added_Organization_In_Tenant_Table_As_Forgin_Key.Designer.cs
generated
Normal file
6122
Marco.Pms.DataAccess/Migrations/20250917092024_Added_Organization_In_Tenant_Table_As_Forgin_Key.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,69 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Organization_In_Tenant_Table_As_Forgin_Key : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TenantId",
|
||||
table: "AspNetUsers");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "OrganizationId",
|
||||
table: "Tenants",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Tenants",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"),
|
||||
column: "OrganizationId",
|
||||
value: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"));
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Tenants_OrganizationId",
|
||||
table: "Tenants",
|
||||
column: "OrganizationId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Tenants_Organizations_OrganizationId",
|
||||
table: "Tenants",
|
||||
column: "OrganizationId",
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Tenants_Organizations_OrganizationId",
|
||||
table: "Tenants");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Tenants_OrganizationId",
|
||||
table: "Tenants");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OrganizationId",
|
||||
table: "Tenants");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "TenantId",
|
||||
table: "AspNetUsers",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,136 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Promoter_And_PMC_In_Project_Table_As_Forgin_Key : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Employees_Tenants_TenantId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "PMCId",
|
||||
table: "Projects",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "PromoterId",
|
||||
table: "Projects",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "TenantId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)")
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Projects",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("85bf587b-7ca9-4685-b77c-d817f5847e85"),
|
||||
columns: new[] { "PMCId", "PromoterId" },
|
||||
values: new object[] { new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"), new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea") });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Projects_PMCId",
|
||||
table: "Projects",
|
||||
column: "PMCId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Projects_PromoterId",
|
||||
table: "Projects",
|
||||
column: "PromoterId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Employees_Tenants_TenantId",
|
||||
table: "Employees",
|
||||
column: "TenantId",
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Projects_Organizations_PMCId",
|
||||
table: "Projects",
|
||||
column: "PMCId",
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Projects_Organizations_PromoterId",
|
||||
table: "Projects",
|
||||
column: "PromoterId",
|
||||
principalTable: "Organizations",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Employees_Tenants_TenantId",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Projects_Organizations_PMCId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Projects_Organizations_PromoterId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Projects_PMCId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Projects_PromoterId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PMCId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PromoterId",
|
||||
table: "Projects");
|
||||
|
||||
migrationBuilder.AlterColumn<Guid>(
|
||||
name: "TenantId",
|
||||
table: "Employees",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci",
|
||||
oldClrType: typeof(Guid),
|
||||
oldType: "char(36)",
|
||||
oldNullable: true)
|
||||
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Employees_Tenants_TenantId",
|
||||
table: "Employees",
|
||||
column: "TenantId",
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
}
|
||||
}
|
6151
Marco.Pms.DataAccess/Migrations/20250918112243_Added_IsActive_In_ProjectServiceMapping_Table.Designer.cs
generated
Normal file
6151
Marco.Pms.DataAccess/Migrations/20250918112243_Added_IsActive_In_ProjectServiceMapping_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,29 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_IsActive_In_ProjectServiceMapping_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsActive",
|
||||
table: "ProjectServiceMappings",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsActive",
|
||||
table: "ProjectServiceMappings");
|
||||
}
|
||||
}
|
||||
}
|
6119
Marco.Pms.DataAccess/Migrations/20250920041347_Removed_TenantId_From_MPIN_And_OTP.Designer.cs
generated
Normal file
6119
Marco.Pms.DataAccess/Migrations/20250920041347_Removed_TenantId_From_MPIN_And_OTP.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Removed_TenantId_From_MPIN_And_OTP : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_MPINDetails_Tenants_TenantId",
|
||||
table: "MPINDetails");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_OTPDetails_Tenants_TenantId",
|
||||
table: "OTPDetails");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_OTPDetails_TenantId",
|
||||
table: "OTPDetails");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_MPINDetails_TenantId",
|
||||
table: "MPINDetails");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TenantId",
|
||||
table: "OTPDetails");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TenantId",
|
||||
table: "MPINDetails");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "TenantId",
|
||||
table: "OTPDetails",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "TenantId",
|
||||
table: "MPINDetails",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_OTPDetails_TenantId",
|
||||
table: "OTPDetails",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_MPINDetails_TenantId",
|
||||
table: "MPINDetails",
|
||||
column: "TenantId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_MPINDetails_Tenants_TenantId",
|
||||
table: "MPINDetails",
|
||||
column: "TenantId",
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_OTPDetails_Tenants_TenantId",
|
||||
table: "OTPDetails",
|
||||
column: "TenantId",
|
||||
principalTable: "Tenants",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
}
|
||||
}
|
6133
Marco.Pms.DataAccess/Migrations/20250920105816_Added_Service_FK_In_ProjectAllocation.Designer.cs
generated
Normal file
6133
Marco.Pms.DataAccess/Migrations/20250920105816_Added_Service_FK_In_ProjectAllocation.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Service_FK_In_ProjectAllocation : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "ServiceId",
|
||||
table: "ProjectAllocations",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "logoImage",
|
||||
table: "Organizations",
|
||||
type: "longtext",
|
||||
nullable: true)
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Organizations",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
|
||||
column: "logoImage",
|
||||
value: null);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectAllocations_ServiceId",
|
||||
table: "ProjectAllocations",
|
||||
column: "ServiceId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ProjectAllocations_ServiceMasters_ServiceId",
|
||||
table: "ProjectAllocations",
|
||||
column: "ServiceId",
|
||||
principalTable: "ServiceMasters",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_ProjectAllocations_ServiceMasters_ServiceId",
|
||||
table: "ProjectAllocations");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_ProjectAllocations_ServiceId",
|
||||
table: "ProjectAllocations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ServiceId",
|
||||
table: "ProjectAllocations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "logoImage",
|
||||
table: "Organizations");
|
||||
}
|
||||
}
|
||||
}
|
6207
Marco.Pms.DataAccess/Migrations/20250924103942_Added_Assigned_By_In_Mapping_Tables.Designer.cs
generated
Normal file
6207
Marco.Pms.DataAccess/Migrations/20250924103942_Added_Assigned_By_In_Mapping_Tables.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Assigned_By_In_Mapping_Tables : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "AssignedById",
|
||||
table: "TenantOrgMappings",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("08dd8b35-d98b-44f1-896d-12aec3f035aa"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "AssignedById",
|
||||
table: "ProjectOrgMappings",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("08dd8b35-d98b-44f1-896d-12aec3f035aa"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_TenantOrgMappings_AssignedById",
|
||||
table: "TenantOrgMappings",
|
||||
column: "AssignedById");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ProjectOrgMappings_AssignedById",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "AssignedById");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ProjectOrgMappings_Employees_AssignedById",
|
||||
table: "ProjectOrgMappings",
|
||||
column: "AssignedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_TenantOrgMappings_Employees_AssignedById",
|
||||
table: "TenantOrgMappings",
|
||||
column: "AssignedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_ProjectOrgMappings_Employees_AssignedById",
|
||||
table: "ProjectOrgMappings");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_TenantOrgMappings_Employees_AssignedById",
|
||||
table: "TenantOrgMappings");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_TenantOrgMappings_AssignedById",
|
||||
table: "TenantOrgMappings");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_ProjectOrgMappings_AssignedById",
|
||||
table: "ProjectOrgMappings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "AssignedById",
|
||||
table: "TenantOrgMappings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "AssignedById",
|
||||
table: "ProjectOrgMappings");
|
||||
}
|
||||
}
|
||||
}
|
6197
Marco.Pms.DataAccess/Migrations/20250924113835_Deleted_Organization_Types.Designer.cs
generated
Normal file
6197
Marco.Pms.DataAccess/Migrations/20250924113835_Deleted_Organization_Types.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Deleted_Organization_Types : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DeleteData(
|
||||
table: "OrgTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("743806fe-d991-4079-b223-e4e2da44f435"));
|
||||
|
||||
migrationBuilder.DeleteData(
|
||||
table: "OrgTypeMasters",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("b1877a3b-8832-47b1-bbe3-dc7e98672f49"));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.InsertData(
|
||||
table: "OrgTypeMasters",
|
||||
columns: new[] { "Id", "Name" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("743806fe-d991-4079-b223-e4e2da44f435"), "Tenant" },
|
||||
{ new Guid("b1877a3b-8832-47b1-bbe3-dc7e98672f49"), "PMC" }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
6205
Marco.Pms.DataAccess/Migrations/20250927091428_Added_Forgin_Key_For_Approver.Designer.cs
generated
Normal file
6205
Marco.Pms.DataAccess/Migrations/20250927091428_Added_Forgin_Key_For_Approver.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,92 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Forgin_Key_For_Approver : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Attendes_Employees_EmployeeID",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "EmployeeID",
|
||||
table: "Attendes",
|
||||
newName: "EmployeeId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ApprovedBy",
|
||||
table: "Attendes",
|
||||
newName: "ApprovedById");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_Attendes_EmployeeID",
|
||||
table: "Attendes",
|
||||
newName: "IX_Attendes_EmployeeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Attendes_ApprovedById",
|
||||
table: "Attendes",
|
||||
column: "ApprovedById");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Attendes_Employees_ApprovedById",
|
||||
table: "Attendes",
|
||||
column: "ApprovedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Attendes_Employees_EmployeeId",
|
||||
table: "Attendes",
|
||||
column: "EmployeeId",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Attendes_Employees_ApprovedById",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Attendes_Employees_EmployeeId",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Attendes_ApprovedById",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "EmployeeId",
|
||||
table: "Attendes",
|
||||
newName: "EmployeeID");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ApprovedById",
|
||||
table: "Attendes",
|
||||
newName: "ApprovedBy");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_Attendes_EmployeeId",
|
||||
table: "Attendes",
|
||||
newName: "IX_Attendes_EmployeeID");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Attendes_Employees_EmployeeID",
|
||||
table: "Attendes",
|
||||
column: "EmployeeID",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
}
|
||||
}
|
6209
Marco.Pms.DataAccess/Migrations/20251004112239_Added_ExpenceUID_In_Expense_Table.Designer.cs
generated
Normal file
6209
Marco.Pms.DataAccess/Migrations/20251004112239_Added_ExpenceUID_In_Expense_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,29 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_ExpenceUID_In_Expense_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "ExpenseUId",
|
||||
table: "Expenses",
|
||||
type: "longtext",
|
||||
nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ExpenseUId",
|
||||
table: "Expenses");
|
||||
}
|
||||
}
|
||||
}
|
6226
Marco.Pms.DataAccess/Migrations/20251010062100_Added_Requested_In_Attendance_Table.Designer.cs
generated
Normal file
6226
Marco.Pms.DataAccess/Migrations/20251010062100_Added_Requested_In_Attendance_Table.Designer.cs
generated
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Marco.Pms.DataAccess.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Added_Requested_In_Attendance_Table : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "ApprovedAt",
|
||||
table: "Attendes",
|
||||
type: "datetime(6)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "RequestedAt",
|
||||
table: "Attendes",
|
||||
type: "datetime(6)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "RequestedById",
|
||||
table: "Attendes",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Attendes_RequestedById",
|
||||
table: "Attendes",
|
||||
column: "RequestedById");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Attendes_Employees_RequestedById",
|
||||
table: "Attendes",
|
||||
column: "RequestedById",
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Attendes_Employees_RequestedById",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Attendes_RequestedById",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ApprovedAt",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RequestedAt",
|
||||
table: "Attendes");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RequestedById",
|
||||
table: "Attendes");
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -20,18 +20,21 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
var mongoDB = client.GetDatabase(mongoUrl.DatabaseName); // Your MongoDB Database name
|
||||
_collection = mongoDB.GetCollection<EmployeePermissionMongoDB>("EmployeeProfile");
|
||||
}
|
||||
public async Task<bool> AddApplicationRoleToCache(Guid employeeId, List<string> newRoleIds, List<string> newPermissionIds)
|
||||
public async Task<bool> AddApplicationRoleToCache(Guid employeeId, List<string> newRoleIds, List<string> newPermissionIds, Guid tenantId)
|
||||
{
|
||||
|
||||
// 2. Perform database queries concurrently for better performance.
|
||||
var employeeIdString = employeeId.ToString();
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
// 5. Build a single, efficient update operation.
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeIdString);
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update
|
||||
.AddToSetEach(e => e.ApplicationRoleIds, newRoleIds)
|
||||
.Set(r => r.ExpireAt, DateTime.UtcNow.Date.AddDays(1))
|
||||
.Set(r => r.TenantId, tenantIdString)
|
||||
.AddToSetEach(e => e.PermissionIds, newPermissionIds);
|
||||
|
||||
var options = new UpdateOptions { IsUpsert = true };
|
||||
@ -44,14 +47,17 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
// The operation is successful if an existing document was modified OR a new one was created.
|
||||
return result.IsAcknowledged && (result.ModifiedCount > 0 || result.UpsertedId != null);
|
||||
}
|
||||
public async Task<bool> AddProjectsToCache(Guid employeeId, List<Guid> projectIds)
|
||||
public async Task<bool> AddProjectsToCache(Guid employeeId, List<Guid> projectIds, Guid tenantId)
|
||||
{
|
||||
var newprojectIds = projectIds.Select(p => p.ToString()).ToList();
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update
|
||||
.Set(r => r.ExpireAt, DateTime.UtcNow.Date.AddDays(1))
|
||||
.Set(r => r.TenantId, tenantIdString)
|
||||
.AddToSetEach(e => e.ProjectIds, newprojectIds);
|
||||
|
||||
var result = await _collection.UpdateOneAsync(filter, update, new UpdateOptions { IsUpsert = true });
|
||||
@ -62,10 +68,12 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
await InitializeCollectionAsync();
|
||||
return true;
|
||||
}
|
||||
public async Task<List<Guid>> GetProjectsFromCache(Guid employeeId)
|
||||
public async Task<List<Guid>> GetProjectsFromCache(Guid employeeId, Guid tenantId)
|
||||
{
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeId.ToString());
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var result = await _collection
|
||||
.Find(filter)
|
||||
@ -79,10 +87,12 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
|
||||
return projectIds;
|
||||
}
|
||||
public async Task<List<Guid>> GetPermissionsFromCache(Guid employeeId)
|
||||
public async Task<List<Guid>> GetPermissionsFromCache(Guid employeeId, Guid tenantId)
|
||||
{
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeId.ToString());
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var result = await _collection
|
||||
.Find(filter)
|
||||
@ -96,10 +106,13 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
|
||||
return permissionIds;
|
||||
}
|
||||
public async Task<bool> ClearAllProjectIdsFromCache(Guid employeeId)
|
||||
public async Task<bool> ClearAllProjectIdsFromCache(Guid employeeId, Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter
|
||||
.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update
|
||||
.Set(e => e.ProjectIds, new List<string>());
|
||||
@ -125,18 +138,25 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
|
||||
return true;
|
||||
}
|
||||
public async Task<bool> ClearAllProjectIdsByPermissionIdFromCache(Guid permissionId)
|
||||
public async Task<bool> ClearAllProjectIdsByPermissionIdFromCache(Guid permissionId, Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.AnyEq(e => e.PermissionIds, permissionId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update.Set(e => e.ProjectIds, new List<string>());
|
||||
|
||||
var result = await _collection.UpdateManyAsync(filter, update).ConfigureAwait(false);
|
||||
return result.IsAcknowledged && result.ModifiedCount > 0;
|
||||
}
|
||||
public async Task<bool> RemoveRoleIdFromCache(Guid employeeId, Guid roleId)
|
||||
public async Task<bool> RemoveRoleIdFromCache(Guid employeeId, Guid roleId, Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter
|
||||
.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update
|
||||
.Pull(e => e.ApplicationRoleIds, roleId.ToString());
|
||||
@ -151,10 +171,13 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
|
||||
return true;
|
||||
}
|
||||
public async Task<bool> ClearAllPermissionIdsByEmployeeIDFromCache(Guid employeeId)
|
||||
public async Task<bool> ClearAllPermissionIdsByEmployeeIDFromCache(Guid employeeId, Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter
|
||||
.Eq(e => e.Id, employeeId.ToString());
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var update = Builders<EmployeePermissionMongoDB>.Update
|
||||
.Set(e => e.PermissionIds, new List<string>());
|
||||
@ -189,11 +212,56 @@ namespace Marco.Pms.Helpers.CacheHelper
|
||||
|
||||
return true;
|
||||
}
|
||||
public async Task<bool> ClearAllEmployeesFromCacheByEmployeeIds(List<string> employeeIds)
|
||||
public async Task<bool> ClearAllEmployeesFromCacheByOnlyEmployeeId(Guid employeeId)
|
||||
{
|
||||
var employeeIdString = employeeId.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.Id, employeeIdString);
|
||||
|
||||
var result = await _collection.DeleteManyAsync(filter);
|
||||
|
||||
if (result.DeletedCount == 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error occured while deleting employee profile");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public async Task<bool> ClearAllEmployeesFromCacheByTenantId(Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var result = await _collection.DeleteManyAsync(filter);
|
||||
|
||||
if (result.DeletedCount == 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error occured while deleting employee profile");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public async Task<bool> ClearAllEmployeesFromCacheByEmployeeIds(List<string> employeeIds, Guid tenantId)
|
||||
{
|
||||
var tenantIdString = tenantId.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
var filter = Builders<EmployeePermissionMongoDB>.Filter.In(x => x.Id, employeeIds);
|
||||
filter &= Builders<EmployeePermissionMongoDB>.Filter.Eq(e => e.TenantId, tenantIdString);
|
||||
|
||||
var result = await _collection.DeleteManyAsync(filter);
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
using Marco.Pms.DataAccess.Data;
|
||||
using Marco.Pms.Model.Master;
|
||||
using Marco.Pms.Model.MongoDBModels;
|
||||
using Marco.Pms.Model.MongoDBModels.Masters;
|
||||
using Marco.Pms.Model.MongoDBModels.Project;
|
||||
using Marco.Pms.Model.OrganizationModel;
|
||||
using Marco.Pms.Model.Projects;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
@ -55,7 +57,7 @@ namespace Marco.Pms.Helpers
|
||||
var indexModel = new CreateIndexModel<ProjectMongoDB>(indexKeys, indexOptions);
|
||||
await _projectCollection.Indexes.CreateOneAsync(indexModel);
|
||||
}
|
||||
public async Task<bool> UpdateProjectDetailsOnlyToCache(Project project, StatusMaster projectStatus)
|
||||
public async Task<bool> UpdateProjectDetailsOnlyToCache(Project project, StatusMaster projectStatus, Organization promotor, Organization pmc)
|
||||
{
|
||||
// Build the update definition
|
||||
var updates = Builders<ProjectMongoDB>.Update.Combine(
|
||||
@ -67,6 +69,26 @@ namespace Marco.Pms.Helpers
|
||||
Id = projectStatus.Id.ToString(),
|
||||
Status = projectStatus.Status
|
||||
}),
|
||||
Builders<ProjectMongoDB>.Update.Set(r => r.Promoter, new OrganizationMongoDB
|
||||
{
|
||||
Id = promotor.Id.ToString(),
|
||||
Name = promotor.Name,
|
||||
ContactPerson = promotor.ContactPerson,
|
||||
Email = promotor.Email,
|
||||
Address = promotor.Address,
|
||||
ContactNumber = promotor.ContactNumber,
|
||||
SPRID = promotor.SPRID
|
||||
}),
|
||||
Builders<ProjectMongoDB>.Update.Set(r => r.PMC, new OrganizationMongoDB
|
||||
{
|
||||
Id = pmc.Id.ToString(),
|
||||
Name = pmc.Name,
|
||||
ContactPerson = pmc.ContactPerson,
|
||||
Email = pmc.Email,
|
||||
Address = promotor.Address,
|
||||
ContactNumber = promotor.ContactNumber,
|
||||
SPRID = promotor.SPRID
|
||||
}),
|
||||
Builders<ProjectMongoDB>.Update.Set(r => r.StartDate, project.StartDate),
|
||||
Builders<ProjectMongoDB>.Update.Set(r => r.EndDate, project.EndDate),
|
||||
Builders<ProjectMongoDB>.Update.Set(r => r.ContactPerson, project.ContactPerson)
|
||||
@ -407,10 +429,19 @@ namespace Marco.Pms.Helpers
|
||||
|
||||
#region=================================================================== WorkItem Cache Helper ===================================================================
|
||||
|
||||
public async Task<List<WorkItemMongoDB>> GetWorkItemsByWorkAreaIdsFromCache(List<Guid> workAreaIds)
|
||||
public async Task<List<WorkItemMongoDB>> GetWorkItemsByWorkAreaIdsFromCache(List<Guid> workAreaIds, List<Guid> serviceIds)
|
||||
{
|
||||
var stringWorkAreaIds = workAreaIds.Select(wa => wa.ToString()).ToList();
|
||||
var filter = Builders<WorkItemMongoDB>.Filter.In(w => w.WorkAreaId, stringWorkAreaIds);
|
||||
|
||||
var filterBuilder = Builders<WorkItemMongoDB>.Filter;
|
||||
var filter = filterBuilder.Empty;
|
||||
|
||||
filter &= filterBuilder.In(w => w.WorkAreaId, stringWorkAreaIds);
|
||||
if (serviceIds.Any())
|
||||
{
|
||||
var stringServiceIds = serviceIds.Select(s => s.ToString()).ToList();
|
||||
filter &= filterBuilder.In(w => w.ActivityMaster!.ActivityGroupMaster!.Service!.Id, stringServiceIds);
|
||||
}
|
||||
|
||||
var workItems = await _taskCollection // replace with your actual collection name
|
||||
.Find(filter)
|
||||
@ -449,9 +480,17 @@ namespace Marco.Pms.Helpers
|
||||
}
|
||||
}
|
||||
}
|
||||
public async Task<List<WorkItemMongoDB>> GetWorkItemDetailsByWorkAreaFromCache(Guid workAreaId)
|
||||
public async Task<List<WorkItemMongoDB>> GetWorkItemDetailsByWorkAreaFromCache(Guid workAreaId, List<Guid> serviceIds)
|
||||
{
|
||||
var filter = Builders<WorkItemMongoDB>.Filter.Eq(p => p.WorkAreaId, workAreaId.ToString());
|
||||
var filterBuilder = Builders<WorkItemMongoDB>.Filter;
|
||||
var filter = filterBuilder.Empty;
|
||||
|
||||
filter &= filterBuilder.Eq(p => p.WorkAreaId, workAreaId.ToString());
|
||||
if (serviceIds.Any())
|
||||
{
|
||||
var stringServiceIds = serviceIds.Select(s => s.ToString()).ToList();
|
||||
filter &= filterBuilder.In(w => w.ActivityMaster!.ActivityGroupMaster!.Service!.Id, stringServiceIds);
|
||||
}
|
||||
|
||||
var options = new UpdateOptions { IsUpsert = true };
|
||||
var workItems = await _taskCollection
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Marco.Pms.Model.MongoDBModels.Utility;
|
||||
using Marco.Pms.Model.MongoDBModels;
|
||||
using Marco.Pms.Model.MongoDBModels.Utility;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using MongoDB.Bson;
|
||||
@ -146,5 +147,86 @@ namespace Marco.Pms.Helpers.Utility
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region =================================================================== NotificatioBody Helper Functions ===================================================================
|
||||
|
||||
public async Task AddNotificationAsync(NotificationMongoDB notification)
|
||||
{
|
||||
try
|
||||
{
|
||||
var collection = _mongoDatabase.GetCollection<NotificationMongoDB>("NotificatioBody");
|
||||
|
||||
var indexKeys = Builders<NotificationMongoDB>.IndexKeys
|
||||
.Ascending(doc => doc.TenantId)
|
||||
.Ascending(doc => doc.Name);
|
||||
|
||||
// Define index options with unique constraint
|
||||
var indexOptions = new CreateIndexOptions { Unique = true };
|
||||
|
||||
// Create the index model
|
||||
var indexModel = new CreateIndexModel<NotificationMongoDB>(indexKeys, indexOptions);
|
||||
|
||||
// Create the index on the collection (this operation is idempotent)
|
||||
collection.Indexes.CreateOne(indexModel);
|
||||
|
||||
await collection.InsertOneAsync(notification);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Exception occured while adding the Notification body {NotificationName} for tenant {TenantId}", notification.Name, notification.TenantId);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<NotificationMongoDB> GetNotificationBodyAsync(string name, Guid tenantId)
|
||||
{
|
||||
var rootTenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26");
|
||||
NotificationMongoDB? result = null;
|
||||
NotificationMongoDB? defaultNotification = new NotificationMongoDB
|
||||
{
|
||||
Name = "default",
|
||||
Title = "Error: Something Went Wrong",
|
||||
Body = " An unexpected error occurred. Please try again. If the problem persists, contact support",
|
||||
Parameters = "",
|
||||
TenantId = rootTenantId
|
||||
};
|
||||
|
||||
var collection = _mongoDatabase.GetCollection<NotificationMongoDB>("NotificatioBody");
|
||||
try
|
||||
{
|
||||
var filter = Builders<NotificationMongoDB>.Filter.And(
|
||||
Builders<NotificationMongoDB>.Filter.Eq(n => n.Name, name),
|
||||
Builders<NotificationMongoDB>.Filter.Eq(n => n.TenantId, tenantId)
|
||||
|
||||
);
|
||||
|
||||
result = await collection
|
||||
.Find(filter)
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Exception occured while fetching the Notification body {NotificationName} for tenant {TenantId}", name, tenantId);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var filter = Builders<NotificationMongoDB>.Filter.And(
|
||||
Builders<NotificationMongoDB>.Filter.Eq(n => n.Name, name),
|
||||
Builders<NotificationMongoDB>.Filter.Eq(n => n.TenantId, rootTenantId)
|
||||
|
||||
);
|
||||
result = await collection.Find(filter).FirstOrDefaultAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Exception occured while fetching the Notification body {NotificationName} for tenant {TenantId}", name, rootTenantId);
|
||||
return defaultNotification;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Marco.Pms.Model.Dtos.Attendance;
|
||||
using Marco.Pms.Model.Dtos.Attendance;
|
||||
using Marco.Pms.Model.Employees;
|
||||
using Marco.Pms.Model.Utilities;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.AttendanceModule
|
||||
{
|
||||
@ -10,9 +10,11 @@ namespace Marco.Pms.Model.AttendanceModule
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Comment { get; set; } = string.Empty;
|
||||
public Guid EmployeeID { get; set; }
|
||||
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[ForeignKey("EmployeeId")]
|
||||
[ValidateNever]
|
||||
public Employee? Employee { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public Guid ProjectID { get; set; }
|
||||
|
||||
@ -22,9 +24,17 @@ namespace Marco.Pms.Model.AttendanceModule
|
||||
public bool IsApproved { get; set; }
|
||||
public ATTENDANCE_MARK_TYPE Activity { get; set; }
|
||||
|
||||
public Guid? ApprovedBy { get; set; }
|
||||
[ForeignKey("EmployeeID")]
|
||||
public Guid? ApprovedById { get; set; }
|
||||
|
||||
[ForeignKey("ApprovedById")]
|
||||
[ValidateNever]
|
||||
public Employee? Approver { get; set; }
|
||||
public DateTime? RequestedAt { get; set; }
|
||||
public DateTime? ApprovedAt { get; set; }
|
||||
public Guid? RequestedById { get; set; }
|
||||
|
||||
[ForeignKey("RequestedById")]
|
||||
[ValidateNever]
|
||||
public Employee? RequestedBy { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
using Marco.Pms.Model.Utilities;
|
||||
|
||||
namespace Marco.Pms.Model.Authentication
|
||||
namespace Marco.Pms.Model.Authentication
|
||||
{
|
||||
public class MPINDetails : TenantRelation
|
||||
public class MPINDetails
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
|
@ -1,8 +1,6 @@
|
||||
using Marco.Pms.Model.Utilities;
|
||||
|
||||
namespace Marco.Pms.Model.Authentication
|
||||
namespace Marco.Pms.Model.Authentication
|
||||
{
|
||||
public class OTPDetails : TenantRelation
|
||||
public class OTPDetails
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
|
@ -2,8 +2,9 @@
|
||||
{
|
||||
public class CreateActivityMasterDto
|
||||
{
|
||||
public string? ActivityName { get; set; }
|
||||
public string? UnitOfMeasurement { get; set; }
|
||||
public required Guid ActivityGroupId { get; set; }
|
||||
public required string ActivityName { get; set; }
|
||||
public required string UnitOfMeasurement { get; set; }
|
||||
public List<CreateCheckListDto>? CheckList { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
public class CreateCheckListDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public bool IsMandatory { get; set; }
|
||||
public required string Description { get; set; }
|
||||
public required bool IsMandatory { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class CreateWorkStatusMasterDto
|
||||
{
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
public class UpdateWorkStatusMasterDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ namespace Marco.Pms.Model.Dtos.Attendance
|
||||
public ATTENDANCE_MARK_TYPE Action { get; set; }
|
||||
|
||||
public FileUploadModel? Image { get; set; }
|
||||
public string DeviceToken { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public enum ATTENDANCE_MARK_TYPE
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class LoginDto
|
||||
{
|
||||
public string? Username { get; set; }
|
||||
public string? Password { get; set; }
|
||||
public required string Username { get; set; }
|
||||
public required string Password { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
namespace Marco.Pms.Model.Dtos.Authentication
|
||||
{
|
||||
public class LogoutDto
|
||||
{ public string? RefreshToken { get; set; }
|
||||
{
|
||||
public required string RefreshToken { get; set; }
|
||||
public string? FcmToken { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class RefreshTokenDto
|
||||
{
|
||||
public string? Token { get; set; }
|
||||
public string? RefreshToken { get; set; }
|
||||
public required string Token { get; set; }
|
||||
public required string RefreshToken { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
{
|
||||
public class VerifyMPINDto
|
||||
{
|
||||
public Guid EmployeeId { get; set; }
|
||||
public string? MPIN { get; set; }
|
||||
public string? MPINToken { get; set; }
|
||||
public required Guid EmployeeId { get; set; }
|
||||
public required string MPIN { get; set; }
|
||||
public required string MPINToken { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,42 +3,38 @@
|
||||
public class CreateUserDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public string? FirstName { get; set; }
|
||||
public required string FirstName { get; set; }
|
||||
public string? LastName { get; set; }
|
||||
public string? MiddleName { get; set; }
|
||||
public string? Email { get; set; }
|
||||
|
||||
public string? Gender { get; set; }
|
||||
public string? BirthDate { get; set; }
|
||||
public string? JoiningDate { get; set; }
|
||||
public required string Gender { get; set; }
|
||||
public required DateTime BirthDate { get; set; }
|
||||
public required DateTime JoiningDate { get; set; }
|
||||
|
||||
public string? PermanentAddress { get; set; }
|
||||
public string? CurrentAddress { get; set; }
|
||||
public string? PhoneNumber { get; set; }
|
||||
public required string PermanentAddress { get; set; }
|
||||
public required string CurrentAddress { get; set; }
|
||||
public required string PhoneNumber { get; set; }
|
||||
|
||||
public string? EmergencyPhoneNumber { get; set; }
|
||||
public string? EmergencyContactPerson { get; set; }
|
||||
|
||||
public string? AadharNumber { get; set; }
|
||||
|
||||
public string? PanNumber { get; set; }
|
||||
|
||||
//public IFormFile? Photo { get; set; } // To store the captured photo
|
||||
//public List<IFormFile>? Documents { get; set; }
|
||||
|
||||
public Guid? JobRoleId { get; set; }
|
||||
|
||||
// public int TenantId { get; set; }
|
||||
public Guid JobRoleId { get; set; }
|
||||
public required Guid OrganizationId { get; set; }
|
||||
public required bool HasApplicationAccess { get; set; }
|
||||
}
|
||||
public class MobileUserManageDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public string FirstName { get; set; } = string.Empty;
|
||||
public string? LastName { get; set; }
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
public string? Gender { get; set; }
|
||||
public required string FirstName { get; set; }
|
||||
public required string LastName { get; set; }
|
||||
public required string PhoneNumber { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public required DateTime JoiningDate { get; set; }
|
||||
public required string Gender { get; set; }
|
||||
public Guid JobRoleId { get; set; }
|
||||
public string? ProfileImage { get; set; }
|
||||
public required Guid OrganizationId { get; set; }
|
||||
public required bool HasApplicationAccess { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
10
Marco.Pms.Model/Dtos/Master/ActivityGroupDto.cs
Normal file
10
Marco.Pms.Model/Dtos/Master/ActivityGroupDto.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace Marco.Pms.Model.Dtos.Master
|
||||
{
|
||||
public class ActivityGroupDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
public required Guid ServiceId { get; set; }
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class CreateContactCategoryDto
|
||||
{
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class CreateContactTagDto
|
||||
{
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
public Guid? Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required bool NoOfPersonsRequired { get; set; }
|
||||
public required bool IsAttachmentRequried { get; set; }
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
9
Marco.Pms.Model/Dtos/Master/ServiceMasterDto.cs
Normal file
9
Marco.Pms.Model/Dtos/Master/ServiceMasterDto.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Marco.Pms.Model.Dtos.Master
|
||||
{
|
||||
public class ServiceMasterDto
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
{
|
||||
public class UpdateContactCategoryDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required Guid Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
public class UpdateContactTagDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string Description { get; set; }
|
||||
}
|
||||
}
|
||||
|
11
Marco.Pms.Model/Dtos/Organization/AssignOrganizationDto.cs
Normal file
11
Marco.Pms.Model/Dtos/Organization/AssignOrganizationDto.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace Marco.Pms.Model.Dtos.Organization
|
||||
{
|
||||
public class AssignOrganizationDto
|
||||
{
|
||||
public required Guid ProjectId { get; set; }
|
||||
public required Guid OrganizationId { get; set; }
|
||||
public Guid? ParentOrganizationId { get; set; }
|
||||
public required List<Guid> ServiceIds { get; set; }
|
||||
public required Guid OrganizationTypeId { get; set; }
|
||||
}
|
||||
}
|
13
Marco.Pms.Model/Dtos/Organization/CreateOrganizationDto.cs
Normal file
13
Marco.Pms.Model/Dtos/Organization/CreateOrganizationDto.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace Marco.Pms.Model.Dtos.Organization
|
||||
{
|
||||
public class CreateOrganizationDto
|
||||
{
|
||||
public required string Name { get; set; }
|
||||
public required string Email { get; set; }
|
||||
public required string ContactPerson { get; set; }
|
||||
public required string Address { get; set; }
|
||||
public required string ContactNumber { get; set; }
|
||||
public string? logoImage { get; set; }
|
||||
public List<Guid>? ServiceIds { get; set; }
|
||||
}
|
||||
}
|
12
Marco.Pms.Model/Dtos/Organization/UpdateOrganizationDto.cs
Normal file
12
Marco.Pms.Model/Dtos/Organization/UpdateOrganizationDto.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace Marco.Pms.Model.Dtos.Organization
|
||||
{
|
||||
public class UpdateOrganizationDto
|
||||
{
|
||||
public required Guid Id { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public required string ContactPerson { get; set; }
|
||||
public required string Address { get; set; }
|
||||
public required string ContactNumber { get; set; }
|
||||
public List<Guid>? ServiceIds { get; set; }
|
||||
}
|
||||
}
|
10
Marco.Pms.Model/Dtos/Projects/AssignServiceDto.cs
Normal file
10
Marco.Pms.Model/Dtos/Projects/AssignServiceDto.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace Marco.Pms.Model.Dtos.Projects
|
||||
{
|
||||
public class AssignServiceDto
|
||||
{
|
||||
public required Guid ProjectId { get; set; }
|
||||
public required List<Guid> ServiceIds { get; set; }
|
||||
public DateTime PlannedStartDate { get; set; }
|
||||
public DateTime PlannedEndDate { get; set; }
|
||||
}
|
||||
}
|
@ -7,17 +7,18 @@ namespace Marco.Pms.Model.Dtos.Project
|
||||
{
|
||||
[Required(ErrorMessage = "Project Name is required!")]
|
||||
[DisplayName("Project Name")]
|
||||
public string? Name { get; set; }
|
||||
public required string Name { get; set; }
|
||||
|
||||
[DisplayName("Short Name")]
|
||||
public string? ShortName { get; set; }
|
||||
|
||||
[DisplayName("Project Address")]
|
||||
[Required(ErrorMessage = "Project Address is required!")]
|
||||
public string? ProjectAddress { get; set; }
|
||||
public required string ProjectAddress { get; set; }
|
||||
|
||||
|
||||
[DisplayName("Contact Person")]
|
||||
public string? ContactPerson { get; set; }
|
||||
public required string ContactPerson { get; set; }
|
||||
|
||||
|
||||
public DateTime? StartDate { get; set; }
|
||||
@ -25,6 +26,8 @@ namespace Marco.Pms.Model.Dtos.Project
|
||||
|
||||
[DisplayName("Project Status")]
|
||||
[Required(ErrorMessage = "Project Status is required!")]
|
||||
public Guid ProjectStatusId { get; set; }
|
||||
public required Guid ProjectStatusId { get; set; }
|
||||
public required Guid PromoterId { get; set; }
|
||||
public required Guid PMCId { get; set; }
|
||||
}
|
||||
}
|
||||
|
8
Marco.Pms.Model/Dtos/Projects/DeassignServiceDto.cs
Normal file
8
Marco.Pms.Model/Dtos/Projects/DeassignServiceDto.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace Marco.Pms.Model.Dtos.Projects
|
||||
{
|
||||
public class DeassignServiceDto
|
||||
{
|
||||
public required Guid ProjectId { get; set; }
|
||||
public required List<Guid> ServiceIds { get; set; }
|
||||
}
|
||||
}
|
@ -2,9 +2,10 @@
|
||||
{
|
||||
public class ProjectAllocationDot
|
||||
{
|
||||
public Guid EmpID { get; set; }
|
||||
public Guid EmployeeId { get; set; }
|
||||
public Guid JobRoleId { get; set; }
|
||||
public Guid ProjectId { get; set; }
|
||||
public Guid? ServiceId { get; set; }
|
||||
public bool Status { get; set; }
|
||||
}
|
||||
|
||||
@ -13,6 +14,7 @@
|
||||
{
|
||||
public Guid ProjectId { get; set; }
|
||||
public Guid JobRoleId { get; set; }
|
||||
public Guid? ServiceId { get; set; }
|
||||
public bool Status { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -5,20 +5,20 @@ namespace Marco.Pms.Model.Dtos.Project
|
||||
{
|
||||
public class UpdateProjectDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public required Guid Id { get; set; }
|
||||
[Required(ErrorMessage = "Project Name is required!")]
|
||||
[DisplayName("Project Name")]
|
||||
public string? Name { get; set; }
|
||||
public required string Name { get; set; }
|
||||
[DisplayName("Short Name")]
|
||||
public string? ShortName { get; set; }
|
||||
|
||||
[DisplayName("Project Address")]
|
||||
[Required(ErrorMessage = "Project Address is required!")]
|
||||
public string? ProjectAddress { get; set; }
|
||||
public required string ProjectAddress { get; set; }
|
||||
|
||||
|
||||
[DisplayName("Contact Person")]
|
||||
public string? ContactPerson { get; set; }
|
||||
public required string ContactPerson { get; set; }
|
||||
|
||||
|
||||
public DateTime? StartDate { get; set; }
|
||||
@ -26,6 +26,8 @@ namespace Marco.Pms.Model.Dtos.Project
|
||||
|
||||
[DisplayName("Project Status")]
|
||||
[Required(ErrorMessage = "Project Status is required!")]
|
||||
public Guid ProjectStatusId { get; set; }
|
||||
public required Guid ProjectStatusId { get; set; }
|
||||
public required Guid PromoterId { get; set; }
|
||||
public required Guid PMCId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -17,5 +17,6 @@
|
||||
public required string OrganizationSize { get; set; }
|
||||
public required Guid IndustryId { get; set; }
|
||||
public required string Reference { get; set; }
|
||||
public List<Guid>? ServiceIds { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,56 +1,53 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Marco.Pms.Model.Entitlements;
|
||||
using Marco.Pms.Model.Entitlements;
|
||||
using Marco.Pms.Model.OrganizationModel;
|
||||
using Marco.Pms.Model.Roles;
|
||||
using Marco.Pms.Model.Utilities;
|
||||
using Marco.Pms.Model.TenantModels;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.Employees
|
||||
{
|
||||
public class Employee : TenantRelation
|
||||
public class Employee
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? FirstName { get; set; }
|
||||
public string FirstName { get; set; } = string.Empty;
|
||||
public string? LastName { get; set; }
|
||||
public string? MiddleName { get; set; }
|
||||
public string? Email { get; set; }
|
||||
|
||||
public string? Gender { get; set; }
|
||||
public DateTime? BirthDate { get; set; }
|
||||
public DateTime? JoiningDate { get; set; }
|
||||
|
||||
public string? PermanentAddress { get; set; }
|
||||
public string? CurrentAddress { get; set; }
|
||||
public string? PhoneNumber { get; set; }
|
||||
|
||||
public string? EmergencyPhoneNumber { get; set; }
|
||||
public string? EmergencyContactPerson { get; set; }
|
||||
|
||||
|
||||
public string? AadharNumber { get; set; }
|
||||
|
||||
public string? PanNumber { get; set; }
|
||||
|
||||
public byte[]? Photo { get; set; } // To store the captured photo
|
||||
|
||||
public string? ApplicationUserId { get; set; }
|
||||
[ForeignKey("ApplicationUserId")]
|
||||
[ValidateNever]
|
||||
public ApplicationUser? ApplicationUser { get; set; }
|
||||
|
||||
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public bool HasApplicationAccess { get; set; } = false;
|
||||
public bool IsPrimary { get; set; } = false;
|
||||
public bool IsSystem { get; set; } = false;
|
||||
|
||||
public Guid RoleId { get; set; }
|
||||
//[ForeignKey(nameof(RoleId))]
|
||||
//public EmployeeRole EmployeeRole { get; set; }
|
||||
|
||||
public Guid? JobRoleId { get; set; }
|
||||
public Guid JobRoleId { get; set; }
|
||||
[ForeignKey("JobRoleId")]
|
||||
[ValidateNever]
|
||||
public JobRole? JobRole { get; set; }
|
||||
|
||||
public Guid OrganizationId { get; set; } = Guid.Parse("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea");
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("OrganizationId")]
|
||||
public Organization? Organization { get; set; }
|
||||
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("TenantId")]
|
||||
public Tenant? Tenant { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +1,10 @@
|
||||
using System.ComponentModel;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace Marco.Pms.Model.Entitlements
|
||||
{
|
||||
public class ApplicationUser : IdentityUser
|
||||
{
|
||||
//[Required]
|
||||
// public string Role { get; set; } // e.g. Admin, SiteManager, SkilledWorker, etc.
|
||||
|
||||
|
||||
[DisplayName("TenantId")]
|
||||
public Guid TenantId { get; set; }
|
||||
|
||||
public bool? IsRootUser { get; set; } = false;
|
||||
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
//[ValidateNever]
|
||||
//[ForeignKey(nameof(TenantId))]
|
||||
//public Tenant Tenant { get; set; }
|
||||
}
|
||||
}
|
||||
|
224
Marco.Pms.Model/Entitlements/MenuStaticMaster.cs
Normal file
224
Marco.Pms.Model/Entitlements/MenuStaticMaster.cs
Normal file
@ -0,0 +1,224 @@
|
||||
using Marco.Pms.Model.AppMenu;
|
||||
|
||||
namespace Marco.Pms.Model.Entitlements
|
||||
{
|
||||
public static class MenuStaticMaster
|
||||
{
|
||||
public static readonly MenuSection menu = new MenuSection
|
||||
{
|
||||
Header = "Main Navigation",
|
||||
Title = "Main Menu",
|
||||
Items = new List<MenuItem>
|
||||
{
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Dashboard",
|
||||
Icon = "bx bx-home",
|
||||
Available = true,
|
||||
Link = "/dashboard",
|
||||
PermissionIds = new List<string>(),
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Projects",
|
||||
Icon = "bx bx-building-house",
|
||||
Available = true,
|
||||
Link = "",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"6ea44136-987e-44ba-9e5d-1cf8f5837ebc",
|
||||
"172fc9b6-755b-4f62-ab26-55c34a330614",
|
||||
"b94802ce-0689-4643-9e1d-11c86950c35b",
|
||||
"8d7cc6e3-9147-41f7-aaa7-fa507e450bd4",
|
||||
"cf2825ad-453b-46aa-91d9-27c124d63373",
|
||||
"9fcc5f87-25e3-4846-90ac-67a71ab92e3c",
|
||||
"08752f33-3b29-4816-b76b-ea8a968ed3c5",
|
||||
"6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2",
|
||||
"db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>
|
||||
{
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Project List",
|
||||
Available = true,
|
||||
Link = "/projects",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"6ea44136-987e-44ba-9e5d-1cf8f5837ebc",
|
||||
"172fc9b6-755b-4f62-ab26-55c34a330614",
|
||||
"b94802ce-0689-4643-9e1d-11c86950c35b",
|
||||
"8d7cc6e3-9147-41f7-aaa7-fa507e450bd4",
|
||||
"cf2825ad-453b-46aa-91d9-27c124d63373",
|
||||
"9fcc5f87-25e3-4846-90ac-67a71ab92e3c",
|
||||
"08752f33-3b29-4816-b76b-ea8a968ed3c5"
|
||||
}
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Daily Task Planning",
|
||||
Available = true,
|
||||
Link = "/activities/task",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"8d7cc6e3-9147-41f7-aaa7-fa507e450bd4",
|
||||
"9fcc5f87-25e3-4846-90ac-67a71ab92e3c",
|
||||
"6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2"
|
||||
}
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Daily Progress Report",
|
||||
Available = true,
|
||||
Link = "/activities/records",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"9fcc5f87-25e3-4846-90ac-67a71ab92e3c",
|
||||
"6a32379b-8b3f-49a6-8c48-4b7ac1b55dc2",
|
||||
"db4e40c5-2ba9-4b6d-b8a6-a16a250ff99c"
|
||||
}
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Image Gallary",
|
||||
Available = true,
|
||||
Link = "/gallary",
|
||||
PermissionIds = new List<string>()
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Organizations",
|
||||
Available = true,
|
||||
Link = "/organizations",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"068cb3c1-49c5-4746-9f29-1fce16e820ac",
|
||||
"c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a",
|
||||
"7a6cf830-0008-4e03-b31d-0d050cb634f4"
|
||||
}
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Project Report",
|
||||
Available = true,
|
||||
Link = "/activities/reports",
|
||||
PermissionIds = new List<string>()
|
||||
},
|
||||
}
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Employees",
|
||||
Icon = "bx bx-user",
|
||||
Available = true,
|
||||
Link = "/employees",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"60611762-7f8a-4fb5-b53f-b1139918796b",
|
||||
"b82d2b7e-0d52-45f3-997b-c008ea460e7f",
|
||||
"a97d366a-c2bb-448d-be93-402bd2324566",
|
||||
"fbd213e0-0250-46f1-9f5f-4b2a1e6e76a3"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Attendance",
|
||||
Icon = "bx bx-list-ul",
|
||||
Available = true,
|
||||
Link = "/activities/Attendance",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"915e6bff-65f6-4e3f-aea8-3fd217d3ea9e",
|
||||
"57802c4a-00aa-4a1f-a048-fd2f70dd44b6",
|
||||
"ccb0589f-712b-43de-92ed-5b6088e7dc4e"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Directory",
|
||||
Icon = "bx bx-group",
|
||||
Available = true,
|
||||
Link = "/directory",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"4286a13b-bb40-4879-8c6d-18e9e393beda",
|
||||
"62668630-13ce-4f52-a0f0-db38af2230c5",
|
||||
"0f919170-92d4-4337-abd3-49b66fc871bb"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Expense",
|
||||
Icon = "bx bx-receipt",
|
||||
Available = true,
|
||||
Link = "/expenses",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"385be49f-8fde-440e-bdbc-3dffeb8dd116",
|
||||
"01e06444-9ca7-4df4-b900-8c3fa051b92f",
|
||||
"0f57885d-bcb2-4711-ac95-d841ace6d5a7",
|
||||
"1f4bda08-1873-449a-bb66-3e8222bd871b",
|
||||
"eaafdd76-8aac-45f9-a530-315589c6deca",
|
||||
"ea5a1529-4ee8-4828-80ea-0e23c9d4dd11",
|
||||
"ea5a1529-4ee8-4828-80ea-0e23c9d4dd11"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Administration",
|
||||
Icon = "bx bx-box",
|
||||
Available = true,
|
||||
Link = "",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"5ffbafe0-7ab0-48b1-bb50-c1bf76b65f9d",
|
||||
"588a8824-f924-4955-82d8-fc51956cf323",
|
||||
"d032cb1a-3f30-462c-bef0-7ace73a71c0b",
|
||||
"00e20637-ce8d-4417-bec4-9b31b5e65092",
|
||||
"647145c6-2108-4c98-aab4-178602236e55"
|
||||
},
|
||||
Submenu = new List<SubMenuItem>
|
||||
{
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Tenant",
|
||||
Available = true,
|
||||
Link = "/tenants",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"d032cb1a-3f30-462c-bef0-7ace73a71c0b",
|
||||
"00e20637-ce8d-4417-bec4-9b31b5e65092",
|
||||
"647145c6-2108-4c98-aab4-178602236e55"
|
||||
}
|
||||
},
|
||||
new SubMenuItem
|
||||
{
|
||||
Text = "Masters",
|
||||
Available = true,
|
||||
Link = "/masters",
|
||||
PermissionIds = new List<string>
|
||||
{
|
||||
"5ffbafe0-7ab0-48b1-bb50-c1bf76b65f9d",
|
||||
"588a8824-f924-4955-82d8-fc51956cf323"
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
new MenuItem
|
||||
{
|
||||
Text = "Inventory",
|
||||
Icon = "bx bx-store",
|
||||
Available = true,
|
||||
Link = "/inventory",
|
||||
PermissionIds = new List<string>(),
|
||||
Submenu = new List<SubMenuItem>()
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
@ -46,6 +46,10 @@
|
||||
public static readonly Guid DeleteDocument = Guid.Parse("40863a13-5a66-469d-9b48-135bc5dbf486");
|
||||
public static readonly Guid DownloadDocument = Guid.Parse("404373d0-860f-490e-a575-1c086ffbce1d");
|
||||
public static readonly Guid VerifyDocument = Guid.Parse("13a1f30f-38d1-41bf-8e7a-b75189aab8e0");
|
||||
|
||||
public static readonly Guid AddOrganization = Guid.Parse("068cb3c1-49c5-4746-9f29-1fce16e820ac");
|
||||
public static readonly Guid EditOrganization = Guid.Parse("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a");
|
||||
public static readonly Guid ViewOrganization = Guid.Parse("7a6cf830-0008-4e03-b31d-0d050cb634f4");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,7 @@ namespace Marco.Pms.Model.Expenses
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public string? TransactionId { get; set; }
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public string ExpenseUId { get; set; } = string.Empty;
|
||||
public string? Location { get; set; }
|
||||
public string? GSTNumber { get; set; }
|
||||
public string SupplerName { get; set; } = string.Empty;
|
||||
|
@ -8,6 +8,7 @@
|
||||
public List<Guid>? WorkCategoryIds { get; set; }
|
||||
public List<Guid>? ActivityIds { get; set; }
|
||||
public List<Guid>? UploadedByIds { get; set; }
|
||||
public List<Guid>? ServiceIds { get; set; }
|
||||
public DateTime? StartDate { get; set; }
|
||||
public DateTime? EndDate { get; set; }
|
||||
}
|
||||
|
12
Marco.Pms.Model/Filters/TaskFilter.cs
Normal file
12
Marco.Pms.Model/Filters/TaskFilter.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace Marco.Pms.Model.Filters
|
||||
{
|
||||
public class TaskFilter
|
||||
{
|
||||
public List<Guid>? BuildingIds { get; set; }
|
||||
public List<Guid>? FloorIds { get; set; }
|
||||
public List<Guid>? ActivityIds { get; set; }
|
||||
public List<Guid>? ServiceIds { get; set; }
|
||||
public DateTime? dateFrom { get; set; }
|
||||
public DateTime? dateTo { get; set; }
|
||||
}
|
||||
}
|
@ -23,14 +23,12 @@ namespace Marco.Pms.Model.Mapper
|
||||
Email = model.Email,
|
||||
CurrentAddress = model.CurrentAddress,
|
||||
BirthDate = model.BirthDate,
|
||||
AadharNumber = model.AadharNumber,
|
||||
ApplicationUserId = model.ApplicationUserId,
|
||||
EmergencyPhoneNumber = model.EmergencyPhoneNumber,
|
||||
EmergencyContactPerson = model.EmergencyContactPerson,
|
||||
Gender = model.Gender,
|
||||
JobRole = (model.JobRole != null ? model.JobRole.Name : null),
|
||||
JobRoleId = model.JobRoleId,
|
||||
PanNumber = model.PanNumber,
|
||||
PermanentAddress = model.PermanentAddress,
|
||||
PhoneNumber = model.PhoneNumber,
|
||||
Photo = base64String,
|
||||
@ -38,7 +36,9 @@ namespace Marco.Pms.Model.Mapper
|
||||
IsRootUser = model.ApplicationUser?.IsRootUser ?? false,
|
||||
IsSystem = model.IsSystem,
|
||||
JoiningDate = model.JoiningDate,
|
||||
TenantId = model.TenantId
|
||||
TenantId = model.TenantId ?? Guid.Empty,
|
||||
HasApplicationAccess = model.HasApplicationAccess,
|
||||
OrganizationId = model.OrganizationId
|
||||
};
|
||||
}
|
||||
public static BasicEmployeeVM ToBasicEmployeeVMFromEmployee(this Employee employee)
|
||||
@ -66,15 +66,13 @@ namespace Marco.Pms.Model.Mapper
|
||||
BirthDate = null,
|
||||
EmergencyPhoneNumber = string.Empty,
|
||||
EmergencyContactPerson = string.Empty,
|
||||
AadharNumber = string.Empty,
|
||||
Gender = model.Gender,
|
||||
MiddleName = string.Empty,
|
||||
PanNumber = string.Empty,
|
||||
PermanentAddress = string.Empty,
|
||||
PhoneNumber = model.PhoneNumber,
|
||||
Photo = image,
|
||||
JobRoleId = model.JobRoleId,
|
||||
JoiningDate = null,
|
||||
JoiningDate = model.JoiningDate,
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ namespace Marco.Pms.Model.Mapper
|
||||
return new ProjectAllocation
|
||||
{
|
||||
AllocationDate = DateTime.Now,
|
||||
EmployeeId = model.EmpID,
|
||||
EmployeeId = model.EmployeeId,
|
||||
JobRoleId = model.JobRoleId,
|
||||
TenantId = TenantId,
|
||||
ProjectId = model.ProjectId
|
||||
@ -65,7 +65,7 @@ namespace Marco.Pms.Model.Mapper
|
||||
}
|
||||
|
||||
|
||||
public static ProjectAllocation ToProjectAllocationFromProjectsAllocationDto(this ProjectsAllocationDto model, Guid TenantId,Guid employeeId)
|
||||
public static ProjectAllocation ToProjectAllocationFromProjectsAllocationDto(this ProjectsAllocationDto model, Guid TenantId, Guid employeeId)
|
||||
{
|
||||
return new ProjectAllocation
|
||||
{
|
||||
|
20
Marco.Pms.Model/Master/ActivityGroupMaster.cs
Normal file
20
Marco.Pms.Model/Master/ActivityGroupMaster.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using Marco.Pms.Model.Utilities;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class ActivityGroupMaster : TenantRelation
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public Guid ServiceId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("ServiceId")]
|
||||
public ServiceMaster? Service { get; set; }
|
||||
public bool IsActive { get; set; } = true;
|
||||
public bool IsSystem { get; set; } = false;
|
||||
}
|
||||
}
|
@ -1,14 +1,20 @@
|
||||
using Marco.Pms.Model.Utilities;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class ActivityMaster : TenantRelation
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? ActivityName { get; set; }
|
||||
|
||||
public string? UnitOfMeasurement { get; set; }
|
||||
public string ActivityName { get; set; } = string.Empty;
|
||||
public string UnitOfMeasurement { get; set; } = string.Empty;
|
||||
public Guid? ActivityGroupId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("ActivityGroupId")]
|
||||
public ActivityGroupMaster? ActivityGroup { get; set; }
|
||||
public bool IsActive { get; set; } = true;
|
||||
public bool IsSystem { get; set; } = false;
|
||||
}
|
||||
}
|
||||
|
@ -9,5 +9,6 @@ namespace Marco.Pms.Model.Master
|
||||
public bool NoOfPersonsRequired { get; set; }
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public bool IsActive { get; set; } = true;
|
||||
public bool IsAttachmentRequried { get; set; } = true;
|
||||
}
|
||||
}
|
||||
|
17
Marco.Pms.Model/Master/GlobalActivityGroupMaster.cs
Normal file
17
Marco.Pms.Model/Master/GlobalActivityGroupMaster.cs
Normal file
@ -0,0 +1,17 @@
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class GlobalActivityGroupMaster
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public Guid ServiceId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("ServiceId")]
|
||||
public GlobalServiceMaster? Service { get; set; }
|
||||
}
|
||||
}
|
18
Marco.Pms.Model/Master/GlobalActivityMaster.cs
Normal file
18
Marco.Pms.Model/Master/GlobalActivityMaster.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class GlobalActivityMaster
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string ActivityName { get; set; } = string.Empty;
|
||||
public string UnitOfMeasurement { get; set; } = string.Empty;
|
||||
public Guid ActivityGroupId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("ActivityGroupId")]
|
||||
public GlobalActivityGroupMaster? ActivityGroup { get; set; }
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
9
Marco.Pms.Model/Master/GlobalServiceMaster.cs
Normal file
9
Marco.Pms.Model/Master/GlobalServiceMaster.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class GlobalServiceMaster
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
13
Marco.Pms.Model/Master/ServiceMaster.cs
Normal file
13
Marco.Pms.Model/Master/ServiceMaster.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using Marco.Pms.Model.Utilities;
|
||||
|
||||
namespace Marco.Pms.Model.Master
|
||||
{
|
||||
public class ServiceMaster : TenantRelation
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public bool IsActive { get; set; } = true;
|
||||
public bool IsSystem { get; set; } = false;
|
||||
}
|
||||
}
|
@ -10,5 +10,6 @@ namespace Marco.Pms.Model.MongoDBModels.Employees
|
||||
public List<string> PermissionIds { get; set; } = new List<string>();
|
||||
public List<string> ProjectIds { get; set; } = new List<string>();
|
||||
public DateTime ExpireAt { get; set; } = DateTime.UtcNow.Date.AddDays(1);
|
||||
public string TenantId { get; set; } = string.Empty; // Tenant ID
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ namespace Marco.Pms.Model.MongoDBModels.Expenses
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public DateTime ExpireAt { get; set; } = DateTime.UtcNow.Date.AddDays(1);
|
||||
public string SupplerName { get; set; } = string.Empty;
|
||||
public string? ExpenseUId { get; set; }
|
||||
public double Amount { get; set; }
|
||||
public ExpensesStatusMasterMongoDB Status { get; set; } = new ExpensesStatusMasterMongoDB();
|
||||
public List<ExpensesStatusMasterMongoDB> NextStatus { get; set; } = new List<ExpensesStatusMasterMongoDB>();
|
||||
|
@ -0,0 +1,10 @@
|
||||
namespace Marco.Pms.Model.MongoDBModels.Masters
|
||||
{
|
||||
public class ActivityGroupMasterMongoDB
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
public ServiceMasterMongoDB? Service { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace Marco.Pms.Model.MongoDBModels.Masters
|
||||
{
|
||||
public class ServiceMasterMongoDB
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
19
Marco.Pms.Model/MongoDBModels/NotificationMongoDB.cs
Normal file
19
Marco.Pms.Model/MongoDBModels/NotificationMongoDB.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
namespace Marco.Pms.Model.MongoDBModels
|
||||
{
|
||||
public class NotificationMongoDB
|
||||
{
|
||||
[BsonId]
|
||||
[BsonRepresentation(BsonType.String)]
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Title { get; set; } = string.Empty;
|
||||
public string Body { get; set; } = string.Empty;
|
||||
public string Parameters { get; set; } = string.Empty; // Comma seprated variable needed for dynamic notifications
|
||||
|
||||
[BsonRepresentation(BsonType.String)]
|
||||
public Guid TenantId { get; set; }
|
||||
}
|
||||
}
|
13
Marco.Pms.Model/MongoDBModels/OrganizationMongoDB.cs
Normal file
13
Marco.Pms.Model/MongoDBModels/OrganizationMongoDB.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace Marco.Pms.Model.MongoDBModels
|
||||
{
|
||||
public class OrganizationMongoDB
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public string? Name { get; set; }
|
||||
public string? Email { get; set; }
|
||||
public string? ContactPerson { get; set; }
|
||||
public string? Address { get; set; }
|
||||
public string? ContactNumber { get; set; }
|
||||
public double SPRID { get; set; }
|
||||
}
|
||||
}
|
@ -1,9 +1,12 @@
|
||||
namespace Marco.Pms.Model.MongoDBModels.Project
|
||||
using Marco.Pms.Model.MongoDBModels.Masters;
|
||||
|
||||
namespace Marco.Pms.Model.MongoDBModels.Project
|
||||
{
|
||||
public class ActivityMasterMongoDB
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public string? ActivityName { get; set; }
|
||||
public string? UnitOfMeasurement { get; set; }
|
||||
public ActivityGroupMasterMongoDB? ActivityGroupMaster { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,8 @@ namespace Marco.Pms.Model.MongoDBModels.Project
|
||||
public DateTime? StartDate { get; set; }
|
||||
public DateTime? EndDate { get; set; }
|
||||
public StatusMasterMongoDB? ProjectStatus { get; set; }
|
||||
public OrganizationMongoDB? Promoter { get; set; }
|
||||
public OrganizationMongoDB? PMC { get; set; }
|
||||
public int TeamSize { get; set; }
|
||||
public double CompletedWork { get; set; }
|
||||
public double PlannedWork { get; set; }
|
||||
|
21
Marco.Pms.Model/OrganizationModel/OrgServiceMapping.cs
Normal file
21
Marco.Pms.Model/OrganizationModel/OrgServiceMapping.cs
Normal file
@ -0,0 +1,21 @@
|
||||
using Marco.Pms.Model.Master;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Marco.Pms.Model.OrganizationModel
|
||||
{
|
||||
public class OrgServiceMapping
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid OrganizationId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("OrganizationId")]
|
||||
public Organization? Organization { get; set; }
|
||||
public Guid ServiceId { get; set; }
|
||||
|
||||
[ValidateNever]
|
||||
[ForeignKey("ServiceId")]
|
||||
public GlobalServiceMaster? Service { get; set; }
|
||||
}
|
||||
}
|
8
Marco.Pms.Model/OrganizationModel/OrgTypeMaster.cs
Normal file
8
Marco.Pms.Model/OrganizationModel/OrgTypeMaster.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace Marco.Pms.Model.OrganizationModel
|
||||
{
|
||||
public class OrgTypeMaster
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
27
Marco.Pms.Model/OrganizationModel/Organization.cs
Normal file
27
Marco.Pms.Model/OrganizationModel/Organization.cs
Normal file
@ -0,0 +1,27 @@
|
||||
namespace Marco.Pms.Model.OrganizationModel
|
||||
{
|
||||
public class Organization
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Email { get; set; } = string.Empty;
|
||||
public string ContactPerson { get; set; } = string.Empty;
|
||||
public string Address { get; set; } = string.Empty;
|
||||
public string ContactNumber { get; set; } = string.Empty;
|
||||
public double SPRID { get; set; }
|
||||
public string? logoImage { get; set; }
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||
public Guid? CreatedById { get; set; }
|
||||
|
||||
//[ValidateNever]
|
||||
//[ForeignKey("CreatedById")]
|
||||
//public Employee? CreatedBy { get; set; }
|
||||
public Guid? UpdatedById { get; set; }
|
||||
|
||||
//[ValidateNever]
|
||||
//[ForeignKey("UpdatedById")]
|
||||
//public Employee? UpdatedBy { get; set; }
|
||||
public DateTime? UpdatedAt { get; set; }
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user