Ashutosh_Feature#208_WorkCategory_Master_Table #43

Merged
vikas.nale merged 9 commits from Ashutosh_Feature#208_WorkCategory_Master_Table into Issues_May_2W 2025-05-10 13:37:11 +00:00
Showing only changes of commit 6f378fe0bd - Show all commits

View File

@ -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));
}
}
}