Added new API to get list of work status
This commit is contained in:
parent
5d5579882f
commit
99818c42b0
@ -0,0 +1,8 @@
|
|||||||
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
|
{
|
||||||
|
public class CreateWorkStatusMasterDto
|
||||||
|
{
|
||||||
|
public string? Name { get; set; }
|
||||||
|
public string? Description { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
|
{
|
||||||
|
public class UpdateWorkStatusMasterDto
|
||||||
|
{
|
||||||
|
public Guid Id { get; set; }
|
||||||
|
public string? Name { get; set; }
|
||||||
|
public string? Description { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -671,6 +671,68 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Work Status --------------------------------
|
||||||
|
|
||||||
|
[HttpGet("work-status")]
|
||||||
|
public async Task<IActionResult> GetWorkStatusMasterList()
|
||||||
|
{
|
||||||
|
var response = await _masterHelper.GetWorkStatusList();
|
||||||
|
return StatusCode(response.StatusCode, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("work-status")]
|
||||||
|
public async Task<IActionResult> CreateWorkStatusMaster([FromBody] CreateWorkStatusMasterDto createWorkStatusDto)
|
||||||
|
{
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
{
|
||||||
|
var errors = ModelState.Values
|
||||||
|
.SelectMany(v => v.Errors)
|
||||||
|
.Select(e => e.ErrorMessage)
|
||||||
|
.ToList();
|
||||||
|
_logger.LogError("User sent Invalid Date while marking attendance");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
||||||
|
}
|
||||||
|
var response = await _masterHelper.CreateWorkStatus(createWorkStatusDto);
|
||||||
|
if (response.StatusCode == 200)
|
||||||
|
{
|
||||||
|
return Ok(response);
|
||||||
|
}
|
||||||
|
else if (response.StatusCode == 409)
|
||||||
|
{
|
||||||
|
return Conflict(response);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return BadRequest(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("work-status/edit/{id}")]
|
||||||
|
public async Task<IActionResult> UpdateWorkStatusMaster(Guid id, [FromBody] UpdateWorkStatusMasterDto updateWorkStatusDto)
|
||||||
|
{
|
||||||
|
var response = await _masterHelper.UpdateWorkStatus(id, updateWorkStatusDto);
|
||||||
|
if (response.StatusCode == 200)
|
||||||
|
{
|
||||||
|
return Ok(response);
|
||||||
|
}
|
||||||
|
else if (response.StatusCode == 404)
|
||||||
|
{
|
||||||
|
return NotFound(response);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return BadRequest(response);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpDelete("work-status/{id}")]
|
||||||
|
public async Task<IActionResult> DeleteWorkStatusMaster(Guid id)
|
||||||
|
{
|
||||||
|
var response = await _masterHelper.DeleteWorkStatus(id);
|
||||||
|
return Ok(response);
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------- Contact Category --------------------------------
|
// -------------------------------- Contact Category --------------------------------
|
||||||
|
|
||||||
[HttpGet("contact-categories")]
|
[HttpGet("contact-categories")]
|
||||||
|
@ -5,6 +5,7 @@ using Marco.Pms.Model.Employees;
|
|||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels.Master;
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
|
using Marco.Pms.Services.Service;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
@ -16,13 +17,19 @@ namespace Marco.Pms.Services.Helpers
|
|||||||
private readonly ApplicationDbContext _context;
|
private readonly ApplicationDbContext _context;
|
||||||
private readonly ILoggingService _logger;
|
private readonly ILoggingService _logger;
|
||||||
private readonly UserHelper _userHelper;
|
private readonly UserHelper _userHelper;
|
||||||
|
private readonly PermissionServices _permissionService;
|
||||||
|
private readonly Guid View_Master;
|
||||||
|
private readonly Guid Manage_Master;
|
||||||
|
|
||||||
|
|
||||||
public MasterHelper(ApplicationDbContext context, ILoggingService logger, UserHelper userHelper)
|
public MasterHelper(ApplicationDbContext context, ILoggingService logger, UserHelper userHelper, PermissionServices permissionServices)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_userHelper = userHelper;
|
_userHelper = userHelper;
|
||||||
|
_permissionService = permissionServices;
|
||||||
|
View_Master = Guid.Parse("5ffbafe0-7ab0-48b1-bb50-c1bf76b65f9d");
|
||||||
|
Manage_Master = Guid.Parse("588a8824-f924-4955-82d8-fc51956cf323");
|
||||||
}
|
}
|
||||||
// -------------------------------- Contact Category --------------------------------
|
// -------------------------------- Contact Category --------------------------------
|
||||||
public async Task<ApiResponse<object>> CreateContactCategory(CreateContactCategoryDto contactCategoryDto)
|
public async Task<ApiResponse<object>> CreateContactCategory(CreateContactCategoryDto contactCategoryDto)
|
||||||
@ -247,5 +254,41 @@ namespace Marco.Pms.Services.Helpers
|
|||||||
return ApiResponse<object>.SuccessResponse(new { }, "Tag deleted successfully", 200);
|
return ApiResponse<object>.SuccessResponse(new { }, "Tag deleted successfully", 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Work Status --------------------------------
|
||||||
|
public async Task<ApiResponse<object>> GetWorkStatusList()
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
bool hasViewPermission = await _permissionService.HasPermission(View_Master, LoggedInEmployee.Id);
|
||||||
|
|
||||||
|
if (!hasViewPermission)
|
||||||
|
{
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have access", "Don't have access to take action", 403);
|
||||||
|
}
|
||||||
|
var workStatus = await _context.WorkStatusMasters.Where(ws => ws.TenantId == tenantId).Select(ws => new { ws.Id, ws.Name, ws.Description, ws.IsSystem }).ToListAsync();
|
||||||
|
|
||||||
|
return ApiResponse<object>.SuccessResponse(workStatus, $"{workStatus.Count} number of work status fetched successfully", 200);
|
||||||
|
|
||||||
|
}
|
||||||
|
public async Task<ApiResponse<object>> CreateWorkStatus(CreateWorkStatusMasterDto createWorkStatusDto)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have access", "Don't have access to take action", 403);
|
||||||
|
}
|
||||||
|
public async Task<ApiResponse<object>> UpdateWorkStatus(Guid id, UpdateWorkStatusMasterDto contacupdateWorkStatusDtotTagDto)
|
||||||
|
{
|
||||||
|
var tenantId = _userHelper.GetTenantId();
|
||||||
|
Employee LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have access", "Don't have access to take action", 403);
|
||||||
|
}
|
||||||
|
public async Task<ApiResponse<object>> DeleteWorkStatus(Guid id)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have access", "Don't have access to take action", 403);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user