From 0c49d8d05cf805ac918307422491e84be731ad9b Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Sat, 10 May 2025 13:16:20 +0530 Subject: [PATCH] Changed file structure in model project --- .../Initializer/DBInitializer.cs | 2 +- .../TicketPriorityMasterDto.cs | 2 +- .../TicketStatusMasterDto.cs | 2 +- .../{Forum => Master}/TicketTagMasterDto.cs | 2 +- .../{Forum => Master}/TicketTypeMasterDto.cs | 2 +- .../Dtos/{Project => Projects}/BuildingDot.cs | 0 .../{Project => Projects}/CreateProjectDto.cs | 0 .../Dtos/{Project => Projects}/FloorDot.cs | 0 .../Dtos/{Project => Projects}/InfraDot.cs | 0 .../ProjectAllocationDot.cs | 0 .../Dtos/{Project => Projects}/ProjectDto.cs | 0 .../{Project => Projects}/UpdateProjectDto.cs | 0 .../Dtos/{Project => Projects}/WorkAreaDot.cs | 0 .../Dtos/{Project => Projects}/WorkItemDot.cs | 0 Marco.Pms.Model/Employees/Employee.cs | 1 + .../EmployeeRoleMapping.cs | 4 +- Marco.Pms.Model/Entitlements/Client.cs | 2 +- .../Entitlements/FeaturePermission.cs | 1 + Marco.Pms.Model/Forum/TicketForum.cs | 1 + Marco.Pms.Model/Forum/TicketTag.cs | 4 +- Marco.Pms.Model/Mapper/ActivitiesMapper.cs | 1 + .../Mapper/ApplicationRoleMapper.cs | 4 +- Marco.Pms.Model/Mapper/EmployeeRoleMapper.cs | 2 +- Marco.Pms.Model/Mapper/FeatureMapper.cs | 2 +- Marco.Pms.Model/Mapper/ForumMapper.cs | 2 + Marco.Pms.Model/Mapper/ProjectMapper.cs | 2 +- .../ActivityMaster.cs | 2 +- .../{Entitlements => Master}/Feature.cs | 3 +- .../{Industries => Master}/Industry.cs | 2 +- .../{Entitlements => Master}/Module.cs | 2 +- .../{Entitlements => Master}/StatusMaster.cs | 2 +- .../{Forum => Master}/TicketPriorityMaster.cs | 2 +- .../{Forum => Master}/TicketStatusMaster.cs | 2 +- .../{Forum => Master}/TicketTagMaster.cs | 2 +- .../{Forum => Master}/TicketTypeMaster.cs | 0 Marco.Pms.Model/Projects/Project.cs | 2 +- Marco.Pms.Model/Projects/WorkItem.cs | 2 +- .../ApplicationRole.cs | 2 +- .../{Entitlements => Roles}/JobRole.cs | 2 +- .../{ => Employee}/EmployeeRolesVM.cs | 2 +- .../{ => Master}/FeaturePermissionVM.cs | 2 +- .../ViewModels/{ => Master}/FeatureVM.cs | 2 +- .../Projects}/BuildingVM.cs | 4 +- .../Projects}/FloorsVM.cs | 2 +- .../ViewModels/{ => Projects}/InfraVM.cs | 2 +- .../{ => Projects}/ProjectDetailsVM.cs | 2 +- .../{ => Projects}/ProjectListVM.cs | 2 +- .../Projects}/ProjectVM.cs | 4 +- .../Projects}/WorkAreaVM.cs | 2 +- .../Projects}/WorkItemVM.cs | 2 +- .../{ => Roles}/ApplicationRolesVM.cs | 4 +- .../ViewModels/{ => Roles}/JobRoleVM.cs | 0 .../ViewModels/{ => Roles}/RolesVM.cs | 4 +- .../Controllers/EmployeeController.cs | 1 - .../Controllers/FeatureController.cs | 3 +- .../Controllers/ForumController.cs | 1 + .../Controllers/MarketController.cs | 2 +- .../Controllers/ProjectController.cs | 16 +- .../Controllers/RolesController.cs | 153 ++---------------- .../Service/StartupDataSeeder.cs | 1 + 60 files changed, 77 insertions(+), 195 deletions(-) rename Marco.Pms.Model/Dtos/{Forum => Master}/TicketPriorityMasterDto.cs (89%) rename Marco.Pms.Model/Dtos/{Forum => Master}/TicketStatusMasterDto.cs (89%) rename Marco.Pms.Model/Dtos/{Forum => Master}/TicketTagMasterDto.cs (86%) rename Marco.Pms.Model/Dtos/{Forum => Master}/TicketTypeMasterDto.cs (87%) rename Marco.Pms.Model/Dtos/{Project => Projects}/BuildingDot.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/CreateProjectDto.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/FloorDot.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/InfraDot.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/ProjectAllocationDot.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/ProjectDto.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/UpdateProjectDto.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/WorkAreaDot.cs (100%) rename Marco.Pms.Model/Dtos/{Project => Projects}/WorkItemDot.cs (100%) rename Marco.Pms.Model/{Entitlements => Employees}/EmployeeRoleMapping.cs (89%) rename Marco.Pms.Model/{Entitlements => Master}/ActivityMaster.cs (88%) rename Marco.Pms.Model/{Entitlements => Master}/Feature.cs (90%) rename Marco.Pms.Model/{Industries => Master}/Industry.cs (75%) rename Marco.Pms.Model/{Entitlements => Master}/Module.cs (90%) rename Marco.Pms.Model/{Entitlements => Master}/StatusMaster.cs (82%) rename Marco.Pms.Model/{Forum => Master}/TicketPriorityMaster.cs (91%) rename Marco.Pms.Model/{Forum => Master}/TicketStatusMaster.cs (92%) rename Marco.Pms.Model/{Forum => Master}/TicketTagMaster.cs (89%) rename Marco.Pms.Model/{Forum => Master}/TicketTypeMaster.cs (100%) rename Marco.Pms.Model/{Entitlements => Roles}/ApplicationRole.cs (86%) rename Marco.Pms.Model/{Entitlements => Roles}/JobRole.cs (85%) rename Marco.Pms.Model/ViewModels/{ => Employee}/EmployeeRolesVM.cs (86%) rename Marco.Pms.Model/ViewModels/{ => Master}/FeaturePermissionVM.cs (90%) rename Marco.Pms.Model/ViewModels/{ => Master}/FeatureVM.cs (91%) rename Marco.Pms.Model/{Dtos/Project => ViewModels/Projects}/BuildingVM.cs (82%) rename Marco.Pms.Model/{Dtos/Project => ViewModels/Projects}/FloorsVM.cs (87%) rename Marco.Pms.Model/ViewModels/{ => Projects}/InfraVM.cs (82%) rename Marco.Pms.Model/ViewModels/{ => Projects}/ProjectDetailsVM.cs (92%) rename Marco.Pms.Model/ViewModels/{ => Projects}/ProjectListVM.cs (91%) rename Marco.Pms.Model/{Dtos/Project => ViewModels/Projects}/ProjectVM.cs (57%) rename Marco.Pms.Model/{Dtos/Project => ViewModels/Projects}/WorkAreaVM.cs (87%) rename Marco.Pms.Model/{Dtos/Project => ViewModels/Projects}/WorkItemVM.cs (78%) rename Marco.Pms.Model/ViewModels/{ => Roles}/ApplicationRolesVM.cs (77%) rename Marco.Pms.Model/ViewModels/{ => Roles}/JobRoleVM.cs (100%) rename Marco.Pms.Model/ViewModels/{ => Roles}/RolesVM.cs (69%) diff --git a/Marco.Pms.DataAccess/Initializer/DBInitializer.cs b/Marco.Pms.DataAccess/Initializer/DBInitializer.cs index 5c3dfd2..bb95d9d 100644 --- a/Marco.Pms.DataAccess/Initializer/DBInitializer.cs +++ b/Marco.Pms.DataAccess/Initializer/DBInitializer.cs @@ -1,7 +1,7 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; -using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Projects; using Marco.Pms.Utility; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; diff --git a/Marco.Pms.Model/Dtos/Forum/TicketPriorityMasterDto.cs b/Marco.Pms.Model/Dtos/Master/TicketPriorityMasterDto.cs similarity index 89% rename from Marco.Pms.Model/Dtos/Forum/TicketPriorityMasterDto.cs rename to Marco.Pms.Model/Dtos/Master/TicketPriorityMasterDto.cs index a87add2..b8db8db 100644 --- a/Marco.Pms.Model/Dtos/Forum/TicketPriorityMasterDto.cs +++ b/Marco.Pms.Model/Dtos/Master/TicketPriorityMasterDto.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Dtos.Forum +namespace Marco.Pms.Model.Dtos.Master { public class TicketPriorityMasterDto { diff --git a/Marco.Pms.Model/Dtos/Forum/TicketStatusMasterDto.cs b/Marco.Pms.Model/Dtos/Master/TicketStatusMasterDto.cs similarity index 89% rename from Marco.Pms.Model/Dtos/Forum/TicketStatusMasterDto.cs rename to Marco.Pms.Model/Dtos/Master/TicketStatusMasterDto.cs index 46074b4..3179ffc 100644 --- a/Marco.Pms.Model/Dtos/Forum/TicketStatusMasterDto.cs +++ b/Marco.Pms.Model/Dtos/Master/TicketStatusMasterDto.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Dtos.Forum +namespace Marco.Pms.Model.Dtos.Master { public class TicketStatusMasterDto { diff --git a/Marco.Pms.Model/Dtos/Forum/TicketTagMasterDto.cs b/Marco.Pms.Model/Dtos/Master/TicketTagMasterDto.cs similarity index 86% rename from Marco.Pms.Model/Dtos/Forum/TicketTagMasterDto.cs rename to Marco.Pms.Model/Dtos/Master/TicketTagMasterDto.cs index 2fd7bac..667f151 100644 --- a/Marco.Pms.Model/Dtos/Forum/TicketTagMasterDto.cs +++ b/Marco.Pms.Model/Dtos/Master/TicketTagMasterDto.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Dtos.Forum +namespace Marco.Pms.Model.Dtos.Master { public class TicketTagMasterDto { diff --git a/Marco.Pms.Model/Dtos/Forum/TicketTypeMasterDto.cs b/Marco.Pms.Model/Dtos/Master/TicketTypeMasterDto.cs similarity index 87% rename from Marco.Pms.Model/Dtos/Forum/TicketTypeMasterDto.cs rename to Marco.Pms.Model/Dtos/Master/TicketTypeMasterDto.cs index cdf1784..5f728d9 100644 --- a/Marco.Pms.Model/Dtos/Forum/TicketTypeMasterDto.cs +++ b/Marco.Pms.Model/Dtos/Master/TicketTypeMasterDto.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Dtos.Forum +namespace Marco.Pms.Model.Dtos.Master { public class TicketTypeMasterDto { diff --git a/Marco.Pms.Model/Dtos/Project/BuildingDot.cs b/Marco.Pms.Model/Dtos/Projects/BuildingDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/BuildingDot.cs rename to Marco.Pms.Model/Dtos/Projects/BuildingDot.cs diff --git a/Marco.Pms.Model/Dtos/Project/CreateProjectDto.cs b/Marco.Pms.Model/Dtos/Projects/CreateProjectDto.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/CreateProjectDto.cs rename to Marco.Pms.Model/Dtos/Projects/CreateProjectDto.cs diff --git a/Marco.Pms.Model/Dtos/Project/FloorDot.cs b/Marco.Pms.Model/Dtos/Projects/FloorDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/FloorDot.cs rename to Marco.Pms.Model/Dtos/Projects/FloorDot.cs diff --git a/Marco.Pms.Model/Dtos/Project/InfraDot.cs b/Marco.Pms.Model/Dtos/Projects/InfraDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/InfraDot.cs rename to Marco.Pms.Model/Dtos/Projects/InfraDot.cs diff --git a/Marco.Pms.Model/Dtos/Project/ProjectAllocationDot.cs b/Marco.Pms.Model/Dtos/Projects/ProjectAllocationDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/ProjectAllocationDot.cs rename to Marco.Pms.Model/Dtos/Projects/ProjectAllocationDot.cs diff --git a/Marco.Pms.Model/Dtos/Project/ProjectDto.cs b/Marco.Pms.Model/Dtos/Projects/ProjectDto.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/ProjectDto.cs rename to Marco.Pms.Model/Dtos/Projects/ProjectDto.cs diff --git a/Marco.Pms.Model/Dtos/Project/UpdateProjectDto.cs b/Marco.Pms.Model/Dtos/Projects/UpdateProjectDto.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/UpdateProjectDto.cs rename to Marco.Pms.Model/Dtos/Projects/UpdateProjectDto.cs diff --git a/Marco.Pms.Model/Dtos/Project/WorkAreaDot.cs b/Marco.Pms.Model/Dtos/Projects/WorkAreaDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/WorkAreaDot.cs rename to Marco.Pms.Model/Dtos/Projects/WorkAreaDot.cs diff --git a/Marco.Pms.Model/Dtos/Project/WorkItemDot.cs b/Marco.Pms.Model/Dtos/Projects/WorkItemDot.cs similarity index 100% rename from Marco.Pms.Model/Dtos/Project/WorkItemDot.cs rename to Marco.Pms.Model/Dtos/Projects/WorkItemDot.cs diff --git a/Marco.Pms.Model/Employees/Employee.cs b/Marco.Pms.Model/Employees/Employee.cs index 904f98c..affdbf4 100644 --- a/Marco.Pms.Model/Employees/Employee.cs +++ b/Marco.Pms.Model/Employees/Employee.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations.Schema; using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Roles; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; diff --git a/Marco.Pms.Model/Entitlements/EmployeeRoleMapping.cs b/Marco.Pms.Model/Employees/EmployeeRoleMapping.cs similarity index 89% rename from Marco.Pms.Model/Entitlements/EmployeeRoleMapping.cs rename to Marco.Pms.Model/Employees/EmployeeRoleMapping.cs index 5e070e3..ee2c44d 100644 --- a/Marco.Pms.Model/Entitlements/EmployeeRoleMapping.cs +++ b/Marco.Pms.Model/Employees/EmployeeRoleMapping.cs @@ -1,9 +1,9 @@ using System.ComponentModel.DataAnnotations.Schema; -using Marco.Pms.Model.Employees; +using Marco.Pms.Model.Roles; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Employees { public class EmployeeRoleMapping : TenantRelation { diff --git a/Marco.Pms.Model/Entitlements/Client.cs b/Marco.Pms.Model/Entitlements/Client.cs index d424b10..44944f8 100644 --- a/Marco.Pms.Model/Entitlements/Client.cs +++ b/Marco.Pms.Model/Entitlements/Client.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations.Schema; -using Marco.Pms.Model.Industries; +using Marco.Pms.Model.Master; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; namespace Marco.Pms.Model.Entitlements diff --git a/Marco.Pms.Model/Entitlements/FeaturePermission.cs b/Marco.Pms.Model/Entitlements/FeaturePermission.cs index 06cd2ba..9da8a97 100644 --- a/Marco.Pms.Model/Entitlements/FeaturePermission.cs +++ b/Marco.Pms.Model/Entitlements/FeaturePermission.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations.Schema; +using Marco.Pms.Model.Master; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; namespace Marco.Pms.Model.Entitlements diff --git a/Marco.Pms.Model/Forum/TicketForum.cs b/Marco.Pms.Model/Forum/TicketForum.cs index b3e01c4..aa30f9e 100644 --- a/Marco.Pms.Model/Forum/TicketForum.cs +++ b/Marco.Pms.Model/Forum/TicketForum.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations.Schema; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; diff --git a/Marco.Pms.Model/Forum/TicketTag.cs b/Marco.Pms.Model/Forum/TicketTag.cs index 04f60f2..64804ac 100644 --- a/Marco.Pms.Model/Forum/TicketTag.cs +++ b/Marco.Pms.Model/Forum/TicketTag.cs @@ -1,4 +1,6 @@ -namespace Marco.Pms.Model.Forum +using Marco.Pms.Model.Master; + +namespace Marco.Pms.Model.Forum { public class TicketTag { diff --git a/Marco.Pms.Model/Mapper/ActivitiesMapper.cs b/Marco.Pms.Model/Mapper/ActivitiesMapper.cs index 459feef..75d6511 100644 --- a/Marco.Pms.Model/Mapper/ActivitiesMapper.cs +++ b/Marco.Pms.Model/Mapper/ActivitiesMapper.cs @@ -1,6 +1,7 @@ using Marco.Pms.Model.Activities; using Marco.Pms.Model.Dtos.Activities; using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Master; using Marco.Pms.Model.ViewModels.Activities; namespace Marco.Pms.Model.Mapper diff --git a/Marco.Pms.Model/Mapper/ApplicationRoleMapper.cs b/Marco.Pms.Model/Mapper/ApplicationRoleMapper.cs index d548991..45228e2 100644 --- a/Marco.Pms.Model/Mapper/ApplicationRoleMapper.cs +++ b/Marco.Pms.Model/Mapper/ApplicationRoleMapper.cs @@ -1,6 +1,7 @@ using Marco.Pms.Model.Dtos.Roles; -using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Roles; using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Roles; #nullable disable namespace Marco.Pms.Model.Mapper { @@ -12,7 +13,6 @@ namespace Marco.Pms.Model.Mapper { Id = model.Id, Role = model.Role, - IsSystem = model.IsSystem, Description = model.Description, //FeaturePermission = model.FeaturePermissions }; diff --git a/Marco.Pms.Model/Mapper/EmployeeRoleMapper.cs b/Marco.Pms.Model/Mapper/EmployeeRoleMapper.cs index 1fceb96..b90d281 100644 --- a/Marco.Pms.Model/Mapper/EmployeeRoleMapper.cs +++ b/Marco.Pms.Model/Mapper/EmployeeRoleMapper.cs @@ -1,5 +1,5 @@ using Marco.Pms.Model.Dtos.Employees; -using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Employees; namespace Marco.Pms.Model.Mapper { diff --git a/Marco.Pms.Model/Mapper/FeatureMapper.cs b/Marco.Pms.Model/Mapper/FeatureMapper.cs index 681afb6..9522ea5 100644 --- a/Marco.Pms.Model/Mapper/FeatureMapper.cs +++ b/Marco.Pms.Model/Mapper/FeatureMapper.cs @@ -1,5 +1,5 @@ using Marco.Pms.Model.Entitlements; -using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Master; namespace Marco.Pms.Model.Mapper { diff --git a/Marco.Pms.Model/Mapper/ForumMapper.cs b/Marco.Pms.Model/Mapper/ForumMapper.cs index a79f05c..c5f84ba 100644 --- a/Marco.Pms.Model/Mapper/ForumMapper.cs +++ b/Marco.Pms.Model/Mapper/ForumMapper.cs @@ -1,7 +1,9 @@ using Marco.Pms.Model.DocumentManager; using Marco.Pms.Model.Dtos.Forum; +using Marco.Pms.Model.Dtos.Master; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Forum; +using Marco.Pms.Model.Master; using Marco.Pms.Model.ViewModels.Forum; namespace Marco.Pms.Model.Mapper diff --git a/Marco.Pms.Model/Mapper/ProjectMapper.cs b/Marco.Pms.Model/Mapper/ProjectMapper.cs index b357441..75588c5 100644 --- a/Marco.Pms.Model/Mapper/ProjectMapper.cs +++ b/Marco.Pms.Model/Mapper/ProjectMapper.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Projects; -using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Projects; namespace Marco.Pms.Model.Mapper { diff --git a/Marco.Pms.Model/Entitlements/ActivityMaster.cs b/Marco.Pms.Model/Master/ActivityMaster.cs similarity index 88% rename from Marco.Pms.Model/Entitlements/ActivityMaster.cs rename to Marco.Pms.Model/Master/ActivityMaster.cs index 977dbdd..26b018e 100644 --- a/Marco.Pms.Model/Entitlements/ActivityMaster.cs +++ b/Marco.Pms.Model/Master/ActivityMaster.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Utilities; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Master { public class ActivityMaster : TenantRelation { diff --git a/Marco.Pms.Model/Entitlements/Feature.cs b/Marco.Pms.Model/Master/Feature.cs similarity index 90% rename from Marco.Pms.Model/Entitlements/Feature.cs rename to Marco.Pms.Model/Master/Feature.cs index 6ddd7ef..304076a 100644 --- a/Marco.Pms.Model/Entitlements/Feature.cs +++ b/Marco.Pms.Model/Master/Feature.cs @@ -1,7 +1,8 @@ using System.ComponentModel.DataAnnotations.Schema; +using Marco.Pms.Model.Entitlements; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Master { public class Feature { diff --git a/Marco.Pms.Model/Industries/Industry.cs b/Marco.Pms.Model/Master/Industry.cs similarity index 75% rename from Marco.Pms.Model/Industries/Industry.cs rename to Marco.Pms.Model/Master/Industry.cs index 6333bd0..b9157ae 100644 --- a/Marco.Pms.Model/Industries/Industry.cs +++ b/Marco.Pms.Model/Master/Industry.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Industries +namespace Marco.Pms.Model.Master { public class Industry { diff --git a/Marco.Pms.Model/Entitlements/Module.cs b/Marco.Pms.Model/Master/Module.cs similarity index 90% rename from Marco.Pms.Model/Entitlements/Module.cs rename to Marco.Pms.Model/Master/Module.cs index 3705ecd..a9df43e 100644 --- a/Marco.Pms.Model/Entitlements/Module.cs +++ b/Marco.Pms.Model/Master/Module.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Master { public class Module { diff --git a/Marco.Pms.Model/Entitlements/StatusMaster.cs b/Marco.Pms.Model/Master/StatusMaster.cs similarity index 82% rename from Marco.Pms.Model/Entitlements/StatusMaster.cs rename to Marco.Pms.Model/Master/StatusMaster.cs index 945cd49..4bd5283 100644 --- a/Marco.Pms.Model/Entitlements/StatusMaster.cs +++ b/Marco.Pms.Model/Master/StatusMaster.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Utilities; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Master { public class StatusMaster : TenantRelation { diff --git a/Marco.Pms.Model/Forum/TicketPriorityMaster.cs b/Marco.Pms.Model/Master/TicketPriorityMaster.cs similarity index 91% rename from Marco.Pms.Model/Forum/TicketPriorityMaster.cs rename to Marco.Pms.Model/Master/TicketPriorityMaster.cs index 1c5da55..e7c5a15 100644 --- a/Marco.Pms.Model/Forum/TicketPriorityMaster.cs +++ b/Marco.Pms.Model/Master/TicketPriorityMaster.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Forum +namespace Marco.Pms.Model.Master { public class TicketPriorityMaster { diff --git a/Marco.Pms.Model/Forum/TicketStatusMaster.cs b/Marco.Pms.Model/Master/TicketStatusMaster.cs similarity index 92% rename from Marco.Pms.Model/Forum/TicketStatusMaster.cs rename to Marco.Pms.Model/Master/TicketStatusMaster.cs index 1dfab31..8a341e7 100644 --- a/Marco.Pms.Model/Forum/TicketStatusMaster.cs +++ b/Marco.Pms.Model/Master/TicketStatusMaster.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Forum +namespace Marco.Pms.Model.Master { public class TicketStatusMaster { diff --git a/Marco.Pms.Model/Forum/TicketTagMaster.cs b/Marco.Pms.Model/Master/TicketTagMaster.cs similarity index 89% rename from Marco.Pms.Model/Forum/TicketTagMaster.cs rename to Marco.Pms.Model/Master/TicketTagMaster.cs index 7815c57..68630a4 100644 --- a/Marco.Pms.Model/Forum/TicketTagMaster.cs +++ b/Marco.Pms.Model/Master/TicketTagMaster.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Forum +namespace Marco.Pms.Model.Master { public class TicketTagMaster { diff --git a/Marco.Pms.Model/Forum/TicketTypeMaster.cs b/Marco.Pms.Model/Master/TicketTypeMaster.cs similarity index 100% rename from Marco.Pms.Model/Forum/TicketTypeMaster.cs rename to Marco.Pms.Model/Master/TicketTypeMaster.cs diff --git a/Marco.Pms.Model/Projects/Project.cs b/Marco.Pms.Model/Projects/Project.cs index c3c47a1..5b0c357 100644 --- a/Marco.Pms.Model/Projects/Project.cs +++ b/Marco.Pms.Model/Projects/Project.cs @@ -1,7 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; diff --git a/Marco.Pms.Model/Projects/WorkItem.cs b/Marco.Pms.Model/Projects/WorkItem.cs index 841a3a7..81b854c 100644 --- a/Marco.Pms.Model/Projects/WorkItem.cs +++ b/Marco.Pms.Model/Projects/WorkItem.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations.Schema; -using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; diff --git a/Marco.Pms.Model/Entitlements/ApplicationRole.cs b/Marco.Pms.Model/Roles/ApplicationRole.cs similarity index 86% rename from Marco.Pms.Model/Entitlements/ApplicationRole.cs rename to Marco.Pms.Model/Roles/ApplicationRole.cs index 5a15714..e51f6e0 100644 --- a/Marco.Pms.Model/Entitlements/ApplicationRole.cs +++ b/Marco.Pms.Model/Roles/ApplicationRole.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Roles { public class ApplicationRole { diff --git a/Marco.Pms.Model/Entitlements/JobRole.cs b/Marco.Pms.Model/Roles/JobRole.cs similarity index 85% rename from Marco.Pms.Model/Entitlements/JobRole.cs rename to Marco.Pms.Model/Roles/JobRole.cs index d7daf9a..637bb39 100644 --- a/Marco.Pms.Model/Entitlements/JobRole.cs +++ b/Marco.Pms.Model/Roles/JobRole.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Utilities; -namespace Marco.Pms.Model.Entitlements +namespace Marco.Pms.Model.Roles { public class JobRole : TenantRelation { diff --git a/Marco.Pms.Model/ViewModels/EmployeeRolesVM.cs b/Marco.Pms.Model/ViewModels/Employee/EmployeeRolesVM.cs similarity index 86% rename from Marco.Pms.Model/ViewModels/EmployeeRolesVM.cs rename to Marco.Pms.Model/ViewModels/Employee/EmployeeRolesVM.cs index 8b1509c..39b31e8 100644 --- a/Marco.Pms.Model/ViewModels/EmployeeRolesVM.cs +++ b/Marco.Pms.Model/ViewModels/Employee/EmployeeRolesVM.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Employee { public class EmployeeRolesVM { diff --git a/Marco.Pms.Model/ViewModels/FeaturePermissionVM.cs b/Marco.Pms.Model/ViewModels/Master/FeaturePermissionVM.cs similarity index 90% rename from Marco.Pms.Model/ViewModels/FeaturePermissionVM.cs rename to Marco.Pms.Model/ViewModels/Master/FeaturePermissionVM.cs index f3336d5..9140d23 100644 --- a/Marco.Pms.Model/ViewModels/FeaturePermissionVM.cs +++ b/Marco.Pms.Model/ViewModels/Master/FeaturePermissionVM.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Master { public class FeaturePermissionVM { diff --git a/Marco.Pms.Model/ViewModels/FeatureVM.cs b/Marco.Pms.Model/ViewModels/Master/FeatureVM.cs similarity index 91% rename from Marco.Pms.Model/ViewModels/FeatureVM.cs rename to Marco.Pms.Model/ViewModels/Master/FeatureVM.cs index 4fe470f..935dd23 100644 --- a/Marco.Pms.Model/ViewModels/FeatureVM.cs +++ b/Marco.Pms.Model/ViewModels/Master/FeatureVM.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Master { public class FeatureVM { diff --git a/Marco.Pms.Model/Dtos/Project/BuildingVM.cs b/Marco.Pms.Model/ViewModels/Projects/BuildingVM.cs similarity index 82% rename from Marco.Pms.Model/Dtos/Project/BuildingVM.cs rename to Marco.Pms.Model/ViewModels/Projects/BuildingVM.cs index 40f6ea2..06acc39 100644 --- a/Marco.Pms.Model/Dtos/Project/BuildingVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/BuildingVM.cs @@ -1,6 +1,4 @@ - - -namespace Marco.Pms.Model.Dtos.Project +namespace Marco.Pms.Model.ViewModels.Projects { public class BuildingVM { diff --git a/Marco.Pms.Model/Dtos/Project/FloorsVM.cs b/Marco.Pms.Model/ViewModels/Projects/FloorsVM.cs similarity index 87% rename from Marco.Pms.Model/Dtos/Project/FloorsVM.cs rename to Marco.Pms.Model/ViewModels/Projects/FloorsVM.cs index 6674629..f9d9355 100644 --- a/Marco.Pms.Model/Dtos/Project/FloorsVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/FloorsVM.cs @@ -1,7 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; -namespace Marco.Pms.Model.Dtos.Project +namespace Marco.Pms.Model.ViewModels.Projects { public class FloorsVM { diff --git a/Marco.Pms.Model/ViewModels/InfraVM.cs b/Marco.Pms.Model/ViewModels/Projects/InfraVM.cs similarity index 82% rename from Marco.Pms.Model/ViewModels/InfraVM.cs rename to Marco.Pms.Model/ViewModels/Projects/InfraVM.cs index 9bdea2b..ccea6d1 100644 --- a/Marco.Pms.Model/ViewModels/InfraVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/InfraVM.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Projects; -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Projects { public class InfraVM { diff --git a/Marco.Pms.Model/ViewModels/ProjectDetailsVM.cs b/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs similarity index 92% rename from Marco.Pms.Model/ViewModels/ProjectDetailsVM.cs rename to Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs index 9726bf2..277b059 100644 --- a/Marco.Pms.Model/ViewModels/ProjectDetailsVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/ProjectDetailsVM.cs @@ -2,7 +2,7 @@ using Marco.Pms.Model.Employees; using Marco.Pms.Model.Projects; -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Projects { public class ProjectDetailsVM { diff --git a/Marco.Pms.Model/ViewModels/ProjectListVM.cs b/Marco.Pms.Model/ViewModels/Projects/ProjectListVM.cs similarity index 91% rename from Marco.Pms.Model/ViewModels/ProjectListVM.cs rename to Marco.Pms.Model/ViewModels/Projects/ProjectListVM.cs index 888d64b..ab5f906 100644 --- a/Marco.Pms.Model/ViewModels/ProjectListVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/ProjectListVM.cs @@ -1,4 +1,4 @@ -namespace Marco.Pms.Model.ViewModels +namespace Marco.Pms.Model.ViewModels.Projects { public class ProjectListVM { diff --git a/Marco.Pms.Model/Dtos/Project/ProjectVM.cs b/Marco.Pms.Model/ViewModels/Projects/ProjectVM.cs similarity index 57% rename from Marco.Pms.Model/Dtos/Project/ProjectVM.cs rename to Marco.Pms.Model/ViewModels/Projects/ProjectVM.cs index 6afc004..cd349bb 100644 --- a/Marco.Pms.Model/Dtos/Project/ProjectVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/ProjectVM.cs @@ -1,4 +1,6 @@ -namespace Marco.Pms.Model.Dtos.Project +using Marco.Pms.Model.Dtos.Project; + +namespace Marco.Pms.Model.ViewModels.Projects { public class ProjectVM : ProjectDto { diff --git a/Marco.Pms.Model/Dtos/Project/WorkAreaVM.cs b/Marco.Pms.Model/ViewModels/Projects/WorkAreaVM.cs similarity index 87% rename from Marco.Pms.Model/Dtos/Project/WorkAreaVM.cs rename to Marco.Pms.Model/ViewModels/Projects/WorkAreaVM.cs index 127fe4b..eaf1dae 100644 --- a/Marco.Pms.Model/Dtos/Project/WorkAreaVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/WorkAreaVM.cs @@ -1,7 +1,7 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations; -namespace Marco.Pms.Model.Dtos.Project +namespace Marco.Pms.Model.ViewModels.Projects { public class WorkAreaVM { diff --git a/Marco.Pms.Model/Dtos/Project/WorkItemVM.cs b/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs similarity index 78% rename from Marco.Pms.Model/Dtos/Project/WorkItemVM.cs rename to Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs index adf93e8..f126d77 100644 --- a/Marco.Pms.Model/Dtos/Project/WorkItemVM.cs +++ b/Marco.Pms.Model/ViewModels/Projects/WorkItemVM.cs @@ -1,6 +1,6 @@ using Marco.Pms.Model.Projects; -namespace Marco.Pms.Model.Dtos.Project +namespace Marco.Pms.Model.ViewModels.Projects { public class WorkItemVM { diff --git a/Marco.Pms.Model/ViewModels/ApplicationRolesVM.cs b/Marco.Pms.Model/ViewModels/Roles/ApplicationRolesVM.cs similarity index 77% rename from Marco.Pms.Model/ViewModels/ApplicationRolesVM.cs rename to Marco.Pms.Model/ViewModels/Roles/ApplicationRolesVM.cs index 15bfb1f..aa7ec00 100644 --- a/Marco.Pms.Model/ViewModels/ApplicationRolesVM.cs +++ b/Marco.Pms.Model/ViewModels/Roles/ApplicationRolesVM.cs @@ -1,4 +1,6 @@ -namespace Marco.Pms.Model.ViewModels +using Marco.Pms.Model.ViewModels.Master; + +namespace Marco.Pms.Model.ViewModels.Roles { public class ApplicationRolesVM { diff --git a/Marco.Pms.Model/ViewModels/JobRoleVM.cs b/Marco.Pms.Model/ViewModels/Roles/JobRoleVM.cs similarity index 100% rename from Marco.Pms.Model/ViewModels/JobRoleVM.cs rename to Marco.Pms.Model/ViewModels/Roles/JobRoleVM.cs diff --git a/Marco.Pms.Model/ViewModels/RolesVM.cs b/Marco.Pms.Model/ViewModels/Roles/RolesVM.cs similarity index 69% rename from Marco.Pms.Model/ViewModels/RolesVM.cs rename to Marco.Pms.Model/ViewModels/Roles/RolesVM.cs index ac3501b..2d966b6 100644 --- a/Marco.Pms.Model/ViewModels/RolesVM.cs +++ b/Marco.Pms.Model/ViewModels/Roles/RolesVM.cs @@ -1,4 +1,6 @@ -namespace Marco.Pms.Model.ViewModels +using Marco.Pms.Model.ViewModels.Master; + +namespace Marco.Pms.Model.ViewModels.Roles { public class RolesVM diff --git a/Marco.Pms.Services/Controllers/EmployeeController.cs b/Marco.Pms.Services/Controllers/EmployeeController.cs index 86f712a..7e02698 100644 --- a/Marco.Pms.Services/Controllers/EmployeeController.cs +++ b/Marco.Pms.Services/Controllers/EmployeeController.cs @@ -8,7 +8,6 @@ using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; using Marco.Pms.Model.Projects; using Marco.Pms.Model.Utilities; -using Marco.Pms.Model.ViewModels; using Marco.Pms.Model.ViewModels.Employee; using MarcoBMS.Services.Helpers; using MarcoBMS.Services.Service; diff --git a/Marco.Pms.Services/Controllers/FeatureController.cs b/Marco.Pms.Services/Controllers/FeatureController.cs index ea8c539..635ab7e 100644 --- a/Marco.Pms.Services/Controllers/FeatureController.cs +++ b/Marco.Pms.Services/Controllers/FeatureController.cs @@ -1,8 +1,9 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; -using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Master; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; diff --git a/Marco.Pms.Services/Controllers/ForumController.cs b/Marco.Pms.Services/Controllers/ForumController.cs index e55c58a..b46edb1 100644 --- a/Marco.Pms.Services/Controllers/ForumController.cs +++ b/Marco.Pms.Services/Controllers/ForumController.cs @@ -4,6 +4,7 @@ using Marco.Pms.Model.Dtos.Forum; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Forum; using Marco.Pms.Model.Mapper; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Projects; using Marco.Pms.Model.Utilities; using Marco.Pms.Model.ViewModels.Forum; diff --git a/Marco.Pms.Services/Controllers/MarketController.cs b/Marco.Pms.Services/Controllers/MarketController.cs index 56ee1db..8928b2a 100644 --- a/Marco.Pms.Services/Controllers/MarketController.cs +++ b/Marco.Pms.Services/Controllers/MarketController.cs @@ -1,7 +1,7 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Dtos.Util; -using Marco.Pms.Model.Industries; using Marco.Pms.Model.Mapper; +using Marco.Pms.Model.Master; using Marco.Pms.Model.Utilities; using MarcoBMS.Services.Helpers; using MarcoBMS.Services.Service; diff --git a/Marco.Pms.Services/Controllers/ProjectController.cs b/Marco.Pms.Services/Controllers/ProjectController.cs index 94cd8dc..1aa5096 100644 --- a/Marco.Pms.Services/Controllers/ProjectController.cs +++ b/Marco.Pms.Services/Controllers/ProjectController.cs @@ -5,8 +5,8 @@ using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; using Marco.Pms.Model.Projects; using Marco.Pms.Model.Utilities; -using Marco.Pms.Model.ViewModels; using Marco.Pms.Model.ViewModels.Employee; +using Marco.Pms.Model.ViewModels.Projects; using MarcoBMS.Services.Helpers; using MarcoBMS.Services.Service; using Microsoft.AspNetCore.Authorization; @@ -493,7 +493,6 @@ namespace MarcoBMS.Services.Controllers { Guid tenantId = GetTenantId(); List workItems = new List { }; - string responseMessage = ""; if (workItemDot != null) { foreach (var item in workItemDot) @@ -505,14 +504,12 @@ namespace MarcoBMS.Services.Controllers //update _context.WorkItems.Update(workItem); await _context.SaveChangesAsync(); - responseMessage = "Task Added Successfully"; } else { //create _context.WorkItems.Add(workItem); await _context.SaveChangesAsync(); - responseMessage = "Task Updated Successfully"; } var result = new WorkItemVM { @@ -522,7 +519,7 @@ namespace MarcoBMS.Services.Controllers workItems.Add(result); } var activity = await _context.ActivityMasters.ToListAsync(); - return Ok(ApiResponse.SuccessResponse(workItems, responseMessage, 200)); + return Ok(ApiResponse.SuccessResponse(workItems, "Data saved successfully.", 200)); } return BadRequest(ApiResponse.ErrorResponse("Invalid details.", "Work Item Details are not valid.", 400)); @@ -572,7 +569,6 @@ namespace MarcoBMS.Services.Controllers { Guid tenantId = GetTenantId(); var responseData = new InfraVM { }; - string responseMessage = ""; if (infraDots != null) { foreach (var item in infraDots) @@ -589,7 +585,6 @@ namespace MarcoBMS.Services.Controllers _context.Buildings.Add(building); await _context.SaveChangesAsync(); responseData.building = building; - responseMessage = "Buliding Added Successfully"; } else { @@ -597,7 +592,6 @@ namespace MarcoBMS.Services.Controllers _context.Buildings.Update(building); await _context.SaveChangesAsync(); responseData.building = building; - responseMessage = "Buliding Updated Successfully"; } } @@ -612,7 +606,6 @@ namespace MarcoBMS.Services.Controllers _context.Floor.Add(floor); await _context.SaveChangesAsync(); responseData.floor = floor; - responseMessage = "Floor Added Successfully"; } else { @@ -620,7 +613,6 @@ namespace MarcoBMS.Services.Controllers _context.Floor.Update(floor); await _context.SaveChangesAsync(); responseData.floor = floor; - responseMessage = "Floor Updated Successfully"; } } if (item.WorkArea != null) @@ -634,7 +626,6 @@ namespace MarcoBMS.Services.Controllers _context.WorkAreas.Add(workArea); await _context.SaveChangesAsync(); responseData.workArea = workArea; - responseMessage = "Work Area Added Successfully"; } else { @@ -642,11 +633,10 @@ namespace MarcoBMS.Services.Controllers _context.WorkAreas.Update(workArea); await _context.SaveChangesAsync(); responseData.workArea = workArea; - responseMessage = "Work Area Updated Successfully"; } } } - return Ok(ApiResponse.SuccessResponse(responseData, responseMessage, 200)); + return Ok(ApiResponse.SuccessResponse(responseData, "Data saved successfully.", 200)); } return BadRequest(ApiResponse.ErrorResponse("Invalid details.", "Infra Details are not valid.", 400)); diff --git a/Marco.Pms.Services/Controllers/RolesController.cs b/Marco.Pms.Services/Controllers/RolesController.cs index 8f84416..80c49d3 100644 --- a/Marco.Pms.Services/Controllers/RolesController.cs +++ b/Marco.Pms.Services/Controllers/RolesController.cs @@ -1,13 +1,14 @@ using System.Data; using Marco.Pms.DataAccess.Data; -using Marco.Pms.Model.Dtos.Employees; using Marco.Pms.Model.Dtos.Roles; using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; +using Marco.Pms.Model.Roles; using Marco.Pms.Model.Utilities; using Marco.Pms.Model.ViewModels; +using Marco.Pms.Model.ViewModels.Master; +using Marco.Pms.Model.ViewModels.Roles; using MarcoBMS.Services.Helpers; -using MarcoBMS.Services.Service; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; @@ -23,16 +24,16 @@ namespace MarcoBMS.Services.Controllers private readonly ApplicationDbContext _context; private readonly RolesHelper _rolesHelper; private readonly UserHelper _userHelper; - private readonly UserManager _userManager; - private readonly ILoggingService _logger; - public RolesController(UserManager userManager, ApplicationDbContext context, RolesHelper rolesHelper, UserHelper userHelper, ILoggingService logger) + + private readonly UserManager _userManager; + + public RolesController(UserManager userManager, ApplicationDbContext context, RolesHelper rolesHelper, UserHelper userHelper) { _context = context; _userManager = userManager; _rolesHelper = rolesHelper; _userHelper = userHelper; - _logger = logger; } private Guid GetTenantId() @@ -101,30 +102,7 @@ namespace MarcoBMS.Services.Controllers return BadRequest(ApiResponse.ErrorResponse(ex.Message, ex, 400)); } } - [HttpDelete("jobrole/{id}")] - public async Task DeleteJobRole(Guid id) - { - Guid tenantId = GetTenantId(); - var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var jobRole = await _context.JobRoles.FirstOrDefaultAsync(r => r.Id == id && r.TenantId == tenantId); - if (jobRole != null) - { - var employee = await _context.Employees.Where(e => e.JobRoleId == jobRole.Id).ToListAsync(); - if (employee.Any()) - { - _logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to delete the job role with ID {JobRoleId} which is assigned to one or more employees", LoggedEmployee.Id, jobRole.Id); - return BadRequest(ApiResponse.ErrorResponse("Cannot delete the job role because it is assigned to one or more employees.", "Cannot delete the job role because it is assigned to one or more employees.", 400)); - } - _context.JobRoles.Remove(jobRole); - await _context.SaveChangesAsync(); - _logger.LogInfo("Employee with ID {LoggedEmployeeId} deleted the job role with ID {JobRoleId}", LoggedEmployee.Id, jobRole.Id); - } - else - { - _logger.LogWarning("Job role with ID {JobRoleId} not found in database", id); - } - return Ok(ApiResponse.SuccessResponse(new { }, "Job role deleted successfully", 200)); - } + [HttpGet] public async Task GetAllRoles() @@ -162,7 +140,6 @@ namespace MarcoBMS.Services.Controllers { Id = item.Id, Role = item.Role, - IsSystem = item.IsSystem, Description = item.Description, FeaturePermission = [] }; @@ -251,21 +228,17 @@ namespace MarcoBMS.Services.Controllers try { Guid TenantId = GetTenantId(); - var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var existingRole = await _context.ApplicationRoles.AsNoTracking().FirstOrDefaultAsync(r => r.Id == id); - if (existingRole != null && existingRole.IsSystem) - { - _logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to update System-defined application roles {AppcationRoleId}", LoggedEmployee.Id, existingRole.Id); - return BadRequest(ApiResponse.ErrorResponse("System-defined roles cannot be updated", "System-defined roles cannot be updated", 400)); - } + ApplicationRole role = updateRoleDto.ToApplicationRoleFromUpdateDto(TenantId); if (role.TenantId != TenantId) return Unauthorized(ApiResponse.ErrorResponse("You don't have any authority to update role", "You don't have any authority to update role", 401)); - if (existingRole != null) + + var projectModel = _context.ApplicationRoles.Update(role); + + if (projectModel == null) { - _context.ApplicationRoles.Update(role); - await _context.SaveChangesAsync(); + return NotFound(ApiResponse.ErrorResponse("Project not found", "Project not found", 404)); } bool modified = false; @@ -295,13 +268,7 @@ namespace MarcoBMS.Services.Controllers } catch (Exception ex) { - var response = new - { - message = ex.Message, - detail = ex.StackTrace, - statusCode = StatusCodes.Status500InternalServerError - }; - return BadRequest(ApiResponse.ErrorResponse(ex.Message, response, 400)); + return BadRequest(ApiResponse.ErrorResponse(ex.Message, ex, 400)); } } @@ -339,101 +306,11 @@ namespace MarcoBMS.Services.Controllers { Id = role.Id, Role = role.Role, - IsSystem = role.IsSystem, FeaturePermission = featurePermissions }; return Ok(ApiResponse.SuccessResponse(vm, "Roles Perimssions fetched successfully.", 200)); } - [HttpDelete("{id}")] - public async Task DeleteApplicationRole(Guid id) - { - Guid tenantId = GetTenantId(); - var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var role = await _context.ApplicationRoles.AsNoTracking().FirstOrDefaultAsync(r => r.Id == id && r.TenantId == tenantId); - if (role != null) - { - if (role.IsSystem) - { - _logger.LogInfo("Employee with ID {LoggedEmployeeId} tries to delete system-defined application role with ID {ApplicationRoleId}", LoggedEmployee.Id, role.Id); - return BadRequest(ApiResponse.ErrorResponse("This role cannot be deleted because it is system-defined.", "This role cannot be deleted because it is system-defined.", 400)); - } - var employeeRoleMapping = await _context.EmployeeRoleMappings.Where(erm => erm.RoleId == role.Id).ToListAsync(); - if (employeeRoleMapping.Count != 0) - { - _logger.LogInfo("Employee with ID {LoggedEmployeeId} tries to delete application role with ID {ApplicationRoleId} with is assigned to an employee", LoggedEmployee.Id, role.Id); - return BadRequest(ApiResponse.ErrorResponse("This role cannot be deleted because it is currently assigned to employees.", "This role cannot be deleted because it is currently assigned to employees.", 400)); - } - _context.ApplicationRoles.Remove(role); - var rolePermissionMapping = await _context.RolePermissionMappings.Where(r => r.ApplicationRoleId == role.Id).ToListAsync(); - if (rolePermissionMapping.Count != 0) - { - _context.RolePermissionMappings.RemoveRange(rolePermissionMapping); - _logger.LogInfo("All permissions assigned to the application role with ID {ApplicationRoleId} have been removed.", role.Id); - } - await _context.SaveChangesAsync(); - _logger.LogInfo("Employee with ID {LoggedEmployeeId} deleted application role with ID {ApplicationRoleId}", LoggedEmployee.Id, role.Id); - } - else - { - _logger.LogWarning("Application role with ID {ApplicationRoleId} not found in database", id); - } - return Ok(ApiResponse.SuccessResponse(new { }, "Application role is deleted successfully", 200)); - } - - - [HttpPost] - [Route("assign-roles")] - public async Task ManageRoles([FromBody] List employeeRoleDots) - { - if (!ModelState.IsValid) - { - var errors = ModelState.Values - .SelectMany(v => v.Errors) - .Select(e => e.ErrorMessage) - .ToList(); - return BadRequest(ApiResponse.ErrorResponse("Invalid data", errors, 400)); - } - var employeesIds = employeeRoleDots.Select(e => e.EmployeeId).Distinct().ToList(); - var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync(); - var employees = await _context.Employees.Where(e => employeesIds.Contains(e.Id)).ToListAsync(); - - Guid TenantId = GetTenantId(); - try - { - foreach (EmployeeRoleDot role in employeeRoleDots) - { - var employee = employees.Find(e => e.Id == role.EmployeeId && e.IsSystem); - if (employee != null) - { - _logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to assign or remove the application role to System-defined employee with ID {EmployeeId}", LoggedEmployee.Id, employee.Id); - return BadRequest(ApiResponse.ErrorResponse("System-defined employee cannot have application roles assigned or removed.", "System-defined employee cannot have application roles assigned or removed.", 400)); - } - EmployeeRoleMapping mapping = role.ToEmployeeRoleMappingFromEmployeeRoleDot(TenantId); - - var existingItem = await _context.EmployeeRoleMappings.AsNoTracking().SingleOrDefaultAsync(c => c.Id == mapping.Id); - - if (existingItem == null) - { - if (role.IsEnabled == true) - { - _context.EmployeeRoleMappings.Add(mapping); - } - } - else if (role.IsEnabled == false) - { - _context.EmployeeRoleMappings.Remove(existingItem); - } - - } - await _context.SaveChangesAsync(); - } - catch (Exception ex) - { - return BadRequest(ApiResponse.ErrorResponse(ex.Message, ex, 400)); - } - return Ok(ApiResponse.SuccessResponse("success", "Roles modified.", 200)); - } } } diff --git a/Marco.Pms.Services/Service/StartupDataSeeder.cs b/Marco.Pms.Services/Service/StartupDataSeeder.cs index e84a0ff..a3e04f9 100644 --- a/Marco.Pms.Services/Service/StartupDataSeeder.cs +++ b/Marco.Pms.Services/Service/StartupDataSeeder.cs @@ -1,6 +1,7 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; +using Marco.Pms.Model.Roles; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore;