Added an API endpoint to create a new Work Category entry.
This commit is contained in:
parent
20ea1389dd
commit
6f378fe0bd
@ -580,6 +580,36 @@ namespace Marco.Pms.Services.Controllers
|
||||
return NotFound(ApiResponse<object>.ErrorResponse("Work Category not found", "Work Category not found", 404));
|
||||
}
|
||||
|
||||
[HttpPost("work-category")]
|
||||
public async Task<IActionResult> CreateWorkCategoryMaster(WorkCategoryMasterDto workCategoryMasterDto)
|
||||
{
|
||||
Guid tenantId = _userHelper.GetTenantId();
|
||||
if (workCategoryMasterDto != null)
|
||||
{
|
||||
WorkCategoryMaster? existingWorkCategory = await _context.WorkCategoryMasters.FirstOrDefaultAsync(w => w.Name == workCategoryMasterDto.Name);
|
||||
if (existingWorkCategory != null)
|
||||
{
|
||||
_logger.LogWarning("Work Category of name {WorkCategoryName} already exist", existingWorkCategory.Name);
|
||||
return Conflict(ApiResponse<object>.ErrorResponse("Work Category already exist", "Work Category already exist", 409));
|
||||
}
|
||||
WorkCategoryMaster? workCategory = workCategoryMasterDto.ToWorkCategoryMasterFromWorkCategoryMasterDto(tenantId);
|
||||
WorkCategoryMasterVM workCategoryMasterVM = new WorkCategoryMasterVM();
|
||||
if (workCategory != null && workCategory.Id == Guid.Empty)
|
||||
{
|
||||
|
||||
_context.WorkCategoryMasters.Add(workCategory);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
workCategoryMasterVM = workCategory.ToWorkCategoryMasterVMFromWorkCategoryMaster();
|
||||
}
|
||||
_logger.LogInfo("Work category master {WorkCategoryId} added successfully from tenant {tenantId}", workCategoryMasterVM.Id ?? Guid.Empty, tenantId);
|
||||
return Ok(ApiResponse<object>.SuccessResponse(workCategoryMasterVM, "Work category master added successfully", 200));
|
||||
|
||||
}
|
||||
_logger.LogError("User sent empyt payload");
|
||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user