Added the create global service API
This commit is contained in:
parent
061f287e8c
commit
8d97b2a687
@ -234,6 +234,17 @@ namespace Marco.Pms.Services.MappingProfiles
|
|||||||
|
|
||||||
CreateMap<FeaturePermission, FeaturePermissionVM>();
|
CreateMap<FeaturePermission, FeaturePermissionVM>();
|
||||||
|
|
||||||
|
#region ======================================================= Global Service Master =======================================================
|
||||||
|
|
||||||
|
CreateMap<ServiceMasterDto, GlobalServiceMaster>()
|
||||||
|
.ForMember(
|
||||||
|
dest => dest.Id,
|
||||||
|
// Explicitly and safely convert nullable Guid to non-nullable Guid
|
||||||
|
opt => opt.MapFrom(src => src.Id ?? Guid.Empty)
|
||||||
|
);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region ======================================================= Service Master =======================================================
|
#region ======================================================= Service Master =======================================================
|
||||||
|
|
||||||
CreateMap<ServiceMasterDto, ServiceMaster>()
|
CreateMap<ServiceMasterDto, ServiceMaster>()
|
||||||
|
@ -71,53 +71,50 @@ namespace Marco.Pms.Services.Service
|
|||||||
return ApiResponse<object>.ErrorResponse("An error occurred while fetching services", ex.Message, 500);
|
return ApiResponse<object>.ErrorResponse("An error occurred while fetching services", ex.Message, 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public async Task<ApiResponse<object>> CreateGlobalServiceAsync(ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId)
|
||||||
|
{
|
||||||
|
_logger.LogInfo("CreateGlobalService called with Name: {ServiceName}", serviceMasterDto.Name);
|
||||||
|
|
||||||
//public async Task<ApiResponse<object>> CreateGlobalServiceAsync(ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId)
|
try
|
||||||
//{
|
{
|
||||||
// _logger.LogInfo("CreateService called with Name: {ServiceName}", serviceMasterDto.Name);
|
// Step 1: Permission check
|
||||||
|
var hasManagePermission = await _permission.HasPermission(PermissionsMaster.ManageMasters, loggedInEmployee.Id);
|
||||||
|
if (!hasManagePermission)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("Access denied for employeeId: {EmployeeId}", loggedInEmployee.Id);
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have access", "You don't have permission to take this action", 403);
|
||||||
|
}
|
||||||
|
|
||||||
// try
|
// Step 2: Check for duplicate name
|
||||||
// {
|
bool isExist = await _context.GlobalServiceMasters
|
||||||
// // Step 1: Permission check
|
.AnyAsync(s => s.Name == serviceMasterDto.Name);
|
||||||
// var hasManagePermission = await _permission.HasPermission(PermissionsMaster.ManageMasters, loggedInEmployee.Id);
|
|
||||||
// if (!hasManagePermission)
|
|
||||||
// {
|
|
||||||
// _logger.LogWarning("Access denied for employeeId: {EmployeeId}", loggedInEmployee.Id);
|
|
||||||
// return ApiResponse<object>.ErrorResponse("You don't have access", "You don't have permission to take this action", 403);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Step 2: Check for duplicate name
|
if (isExist)
|
||||||
// bool isExist = await _context.ServiceMasters
|
{
|
||||||
// .AnyAsync(s => s.TenantId == tenantId && s.Name == serviceMasterDto.Name);
|
_logger.LogWarning("Duplicate service name '{ServiceName}' attempted by employeeId: {EmployeeId}", serviceMasterDto.Name, loggedInEmployee.Id);
|
||||||
|
return ApiResponse<object>.ErrorResponse(
|
||||||
|
$"Service with name '{serviceMasterDto.Name}' already exists",
|
||||||
|
$"Service with name '{serviceMasterDto.Name}' already exists", 400);
|
||||||
|
}
|
||||||
|
|
||||||
// if (isExist)
|
// Step 3: Save new service
|
||||||
// {
|
GlobalServiceMaster service = _mapper.Map<GlobalServiceMaster>(serviceMasterDto);
|
||||||
// _logger.LogWarning("Duplicate service name '{ServiceName}' attempted by employeeId: {EmployeeId}", serviceMasterDto.Name, loggedInEmployee.Id);
|
|
||||||
// return ApiResponse<object>.ErrorResponse(
|
|
||||||
// $"Service with name '{serviceMasterDto.Name}' already exists",
|
|
||||||
// $"Service with name '{serviceMasterDto.Name}' already exists", 400);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Step 3: Save new service
|
_context.GlobalServiceMasters.Add(service);
|
||||||
// ServiceMaster service = _mapper.Map<ServiceMaster>(serviceMasterDto);
|
await _context.SaveChangesAsync();
|
||||||
// service.TenantId = tenantId;
|
|
||||||
// service.IsActive = true;
|
|
||||||
// service.IsSystem = false;
|
|
||||||
// _context.ServiceMasters.Add(service);
|
|
||||||
// await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
// var response = _mapper.Map<ServiceMasterVM>(service);
|
var response = _mapper.Map<ServiceMasterVM>(service);
|
||||||
|
|
||||||
// _logger.LogInfo("New service '{ServiceName}' created successfully by employeeId: {EmployeeId}", service.Name, loggedInEmployee.Id);
|
_logger.LogInfo("New global service '{ServiceName}' created successfully by employeeId: {EmployeeId}", service.Name, loggedInEmployee.Id);
|
||||||
|
|
||||||
// return ApiResponse<object>.SuccessResponse(response, "New service created successfully", 201);
|
return ApiResponse<object>.SuccessResponse(response, "New global service created successfully", 201);
|
||||||
// }
|
}
|
||||||
// catch (Exception ex)
|
catch (Exception ex)
|
||||||
// {
|
{
|
||||||
// _logger.LogError(ex, "Error creating service");
|
_logger.LogError(ex, "Error creating service");
|
||||||
// return ApiResponse<object>.ErrorResponse("Failed to create service", ex.Message, 500);
|
return ApiResponse<object>.ErrorResponse("Failed to create global service", ex.Message, 500);
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
|
|
||||||
//public async Task<ApiResponse<object>> UpdateGlobalServiceAsync(Guid id, ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId)
|
//public async Task<ApiResponse<object>> UpdateGlobalServiceAsync(Guid id, ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId)
|
||||||
//{
|
//{
|
||||||
|
@ -9,7 +9,7 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
|
|||||||
{
|
{
|
||||||
#region =================================================================== Service Master APIs ===================================================================
|
#region =================================================================== Service Master APIs ===================================================================
|
||||||
Task<ApiResponse<object>> GetGlobalServicesAsync(Employee loggedInEmployee, Guid tenantId);
|
Task<ApiResponse<object>> GetGlobalServicesAsync(Employee loggedInEmployee, Guid tenantId);
|
||||||
//Task<ApiResponse<object>> CreateGlobalServiceAsync(ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId);
|
Task<ApiResponse<object>> CreateGlobalServiceAsync(ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId);
|
||||||
//Task<ApiResponse<object>> UpdateGlobalServiceAsync(Guid id, ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId);
|
//Task<ApiResponse<object>> UpdateGlobalServiceAsync(Guid id, ServiceMasterDto serviceMasterDto, Employee loggedInEmployee, Guid tenantId);
|
||||||
//Task<ApiResponse<object>> DeleteGlobalServiceAsync(Guid id, bool active, Employee loggedInEmployee, Guid tenantId);
|
//Task<ApiResponse<object>> DeleteGlobalServiceAsync(Guid id, bool active, Employee loggedInEmployee, Guid tenantId);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user