Added an API endpoint to retrieve the list of all Work Categories.
This commit is contained in:
parent
7a3d0c8c60
commit
648d8e691a
@ -1,12 +1,14 @@
|
|||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Dtos.Activities;
|
using Marco.Pms.Model.Dtos.Activities;
|
||||||
using Marco.Pms.Model.Dtos.Forum;
|
using Marco.Pms.Model.Dtos.Master;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Marco.Pms.Model.Forum;
|
using Marco.Pms.Model.Forum;
|
||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels.Activities;
|
using Marco.Pms.Model.ViewModels.Activities;
|
||||||
using Marco.Pms.Model.ViewModels.Forum;
|
using Marco.Pms.Model.ViewModels.Forum;
|
||||||
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
@ -29,6 +31,8 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
_userHelper = userHelper;
|
_userHelper = userHelper;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Activity --------------------------------
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("activities")]
|
[Route("activities")]
|
||||||
public async Task<IActionResult> GetActivitiesMaster()
|
public async Task<IActionResult> GetActivitiesMaster()
|
||||||
@ -178,6 +182,9 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
_logger.LogInfo("Activity Deleted Successfully from tenant {tenantId}", tenantId);
|
_logger.LogInfo("Activity Deleted Successfully from tenant {tenantId}", tenantId);
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Activity Deleted Successfully", 200));
|
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Activity Deleted Successfully", 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Industry --------------------------------
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("industries")]
|
[Route("industries")]
|
||||||
public async Task<IActionResult> GetIndustries()
|
public async Task<IActionResult> GetIndustries()
|
||||||
@ -189,6 +196,8 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return Ok(ApiResponse<object>.SuccessResponse(industries, System.String.Format("{0} industry records fetched successfully", industries.Count), 200));
|
return Ok(ApiResponse<object>.SuccessResponse(industries, System.String.Format("{0} industry records fetched successfully", industries.Count), 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Ticket Status --------------------------------
|
||||||
|
|
||||||
[HttpGet("ticket-status")]
|
[HttpGet("ticket-status")]
|
||||||
public async Task<IActionResult> GetTicketStatusMaster()
|
public async Task<IActionResult> GetTicketStatusMaster()
|
||||||
{
|
{
|
||||||
@ -204,51 +213,6 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return Ok(ApiResponse<object>.SuccessResponse(statusVMs, System.String.Format("{0} Ticket Status records fetched successfully", statusVMs.Count), 200));
|
return Ok(ApiResponse<object>.SuccessResponse(statusVMs, System.String.Format("{0} Ticket Status records fetched successfully", statusVMs.Count), 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("ticket-types")]
|
|
||||||
public async Task<IActionResult> GetTicketTypeMaster()
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
List<TicketTypeVM> typeVMs = new List<TicketTypeVM>();
|
|
||||||
List<TicketTypeMaster> typeMasters = await _context.TicketTypeMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
|
||||||
foreach (var typeMaster in typeMasters)
|
|
||||||
{
|
|
||||||
typeVMs.Add(typeMaster.ToTicketTypeVMFromTicketTypeMaster());
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.LogInfo("{count} Ticket Type records fetched successfully from tenant {tenantId}", typeVMs.Count, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVMs, System.String.Format("{0} Ticket Type records fetched successfully", typeVMs.Count), 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet("ticket-priorities")]
|
|
||||||
public async Task<IActionResult> GetTicketPriorityMaster()
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
List<TicketPriorityVM> priorityVMs = new List<TicketPriorityVM>();
|
|
||||||
List<TicketPriorityMaster> priorityMasters = await _context.TicketPriorityMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
|
||||||
foreach (var priorityMaster in priorityMasters)
|
|
||||||
{
|
|
||||||
priorityVMs.Add(priorityMaster.ToTicketPriorityVMFromTicketPriorityMaster());
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.LogInfo("{count} Ticket Priority records fetched successfully from tenant {tenantId}", priorityVMs.Count, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(priorityVMs, System.String.Format("{0} Ticket Priority records fetched successfully", priorityVMs.Count), 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet("ticket-tags")]
|
|
||||||
public async Task<IActionResult> GetTicketTagMaster()
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
List<TicketTagVM> tagVMs = new List<TicketTagVM>();
|
|
||||||
List<TicketTagMaster> tagMasters = await _context.TicketTagMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
|
||||||
foreach (var tagMaster in tagMasters)
|
|
||||||
{
|
|
||||||
tagVMs.Add(tagMaster.ToTicketTagVMFromTicketTagMaster());
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.LogInfo("{count} Ticket Tag records fetched successfully from tenant {tenantId}", tagVMs.Count, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(tagVMs, System.String.Format("{0} Ticket Tag records fetched successfully", tagVMs.Count), 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("ticket-status")]
|
[HttpPost("ticket-status")]
|
||||||
public async Task<IActionResult> CreateTicketStatusMaster(TicketStatusMasterDto statusMasterDto)
|
public async Task<IActionResult> CreateTicketStatusMaster(TicketStatusMasterDto statusMasterDto)
|
||||||
{
|
{
|
||||||
@ -267,63 +231,6 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Sent Empty payload", "Sent Empty payload", 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Sent Empty payload", "Sent Empty payload", 400));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("ticket-types")]
|
|
||||||
public async Task<IActionResult> CreateTicketTypeMaster(TicketTypeMasterDto typeMasterDto)
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (typeMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketTypeMaster? typeMaster = typeMasterDto.ToTicketTypeMasterFromTicketTypeMasterDto(tenantId);
|
|
||||||
_context.TicketTypeMasters.Update(typeMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketTypeVM typeVM = typeMaster.ToTicketTypeVMFromTicketTypeMaster();
|
|
||||||
_logger.LogInfo("Ticket Type master {TicketTypeId} added successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket type master added successfully", 200));
|
|
||||||
|
|
||||||
}
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("ticket-priorities")]
|
|
||||||
public async Task<IActionResult> CreateTicketPriorityMaster(TicketPriorityMasterDto priorityMasterDto)
|
|
||||||
{
|
|
||||||
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (priorityMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketPriorityMaster? typeMaster = priorityMasterDto.ToTicketPriorityMasterFromTicketPriorityMasterDto(tenantId);
|
|
||||||
_context.TicketPriorityMasters.Update(typeMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketPriorityVM typeVM = typeMaster.ToTicketPriorityVMFromTicketPriorityMaster();
|
|
||||||
_logger.LogInfo("Ticket Priority master {TicketPriorityId} added successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket Priority master added successfully", 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("ticket-tags")]
|
|
||||||
public async Task<IActionResult> CreateTicketTagMaster(TicketTagMasterDto tagMasterDto)
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (tagMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketTagMaster? tagMaster = tagMasterDto.ToTicketTagMasterFromTicketTagMasterDto(tenantId);
|
|
||||||
_context.TicketTagMasters.Update(tagMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketTagVM typeVM = tagMaster.ToTicketTagVMFromTicketTagMaster();
|
|
||||||
_logger.LogInfo("Ticket Tag master {TicketTypeId} added successfully from tenant {tenantId}", tagMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket tag master added successfully", 200));
|
|
||||||
|
|
||||||
}
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
[HttpPost("ticket-status/edit")]
|
[HttpPost("ticket-status/edit")]
|
||||||
public async Task<IActionResult> UpdateTicketStatusMaster(TicketStatusMasterDto statusMasterDto)
|
public async Task<IActionResult> UpdateTicketStatusMaster(TicketStatusMasterDto statusMasterDto)
|
||||||
{
|
{
|
||||||
@ -348,78 +255,6 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Sent Empty payload", "Sent Empty payload", 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Sent Empty payload", "Sent Empty payload", 400));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("ticket-types/edit")]
|
|
||||||
public async Task<IActionResult> UpdateTicketTypeMaster(TicketTypeMasterDto typeMasterDto)
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (typeMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketTypeMaster? typeMaster = await _context.TicketTypeMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == typeMasterDto.Id);
|
|
||||||
if (typeMaster != null)
|
|
||||||
{
|
|
||||||
typeMaster = typeMasterDto.ToTicketTypeMasterFromTicketTypeMasterDto(tenantId);
|
|
||||||
_context.TicketTypeMasters.Update(typeMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketTypeVM typeVM = typeMaster.ToTicketTypeVMFromTicketTypeMaster();
|
|
||||||
_logger.LogInfo("Ticket Type master {TicketTypeId} updated successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket type master updated successfully", 200));
|
|
||||||
}
|
|
||||||
_logger.LogError("Ticket type master {TicketTypeId} not found in database", typeMasterDto.Id != null ? typeMasterDto.Id.Value : Guid.Empty);
|
|
||||||
return NotFound(ApiResponse<object>.ErrorResponse("Ticket type master not found", "Ticket type master not found", 404));
|
|
||||||
}
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("ticket-priorities/edit")]
|
|
||||||
public async Task<IActionResult> UpdateTicketPriorityMaster(TicketPriorityMasterDto priorityMasterDto)
|
|
||||||
{
|
|
||||||
Guid tenantId = _userHelper.GetTenantId();
|
|
||||||
if (priorityMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketPriorityMaster? typeMaster = await _context.TicketPriorityMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == priorityMasterDto.Id);
|
|
||||||
if (typeMaster != null)
|
|
||||||
{
|
|
||||||
typeMaster = priorityMasterDto.ToTicketPriorityMasterFromTicketPriorityMasterDto(tenantId);
|
|
||||||
_context.TicketPriorityMasters.Update(typeMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketPriorityVM typeVM = typeMaster.ToTicketPriorityVMFromTicketPriorityMaster();
|
|
||||||
_logger.LogInfo("Ticket Priority master {TicketPriorityId} updated successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket Priority master updated successfully", 200));
|
|
||||||
}
|
|
||||||
_logger.LogError("Ticket Priority master {TicketPriorityId} not found in database", priorityMasterDto.Id != null ? priorityMasterDto.Id.Value : Guid.Empty);
|
|
||||||
return NotFound(ApiResponse<object>.ErrorResponse("Ticket Priority master not found", "Ticket Priority master not found", 404));
|
|
||||||
}
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPost("ticket-tags/edit")]
|
|
||||||
public async Task<IActionResult> UpdateTicketTagMaster(TicketTagMasterDto tagMasterDto)
|
|
||||||
{
|
|
||||||
var tenantId = _userHelper.GetTenantId();
|
|
||||||
if (tagMasterDto != null)
|
|
||||||
{
|
|
||||||
TicketTagMaster? tagMaster = await _context.TicketTagMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == tagMasterDto.Id);
|
|
||||||
if (tagMaster != null)
|
|
||||||
{
|
|
||||||
tagMaster = tagMasterDto.ToTicketTagMasterFromTicketTagMasterDto(tenantId);
|
|
||||||
_context.TicketTagMasters.Update(tagMaster);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
|
|
||||||
TicketTagVM typeVM = tagMaster.ToTicketTagVMFromTicketTagMaster();
|
|
||||||
_logger.LogInfo("Ticket Tag master {TicketTypeId} updated successfully from tenant {tenantId}", tagMaster.Id, tenantId);
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket tag master updated successfully", 200));
|
|
||||||
}
|
|
||||||
_logger.LogError("Ticket tag master {TicketTypeId} not found in database", tagMasterDto.Id != null ? tagMasterDto.Id.Value : Guid.Empty);
|
|
||||||
return NotFound(ApiResponse<object>.ErrorResponse("Ticket tag master not found", "Ticket tag master not found", 404));
|
|
||||||
}
|
|
||||||
_logger.LogError("User sent empyt payload");
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpDelete("ticket-status/{id}")]
|
[HttpDelete("ticket-status/{id}")]
|
||||||
public async Task<IActionResult> DeleteTicketStatusMaster(Guid id)
|
public async Task<IActionResult> DeleteTicketStatusMaster(Guid id)
|
||||||
{
|
{
|
||||||
@ -448,6 +283,66 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Ticket Type --------------------------------
|
||||||
|
|
||||||
|
[HttpGet("ticket-types")]
|
||||||
|
public async Task<IActionResult> GetTicketTypeMaster()
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
List<TicketTypeVM> typeVMs = new List<TicketTypeVM>();
|
||||||
|
List<TicketTypeMaster> typeMasters = await _context.TicketTypeMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
||||||
|
foreach (var typeMaster in typeMasters)
|
||||||
|
{
|
||||||
|
typeVMs.Add(typeMaster.ToTicketTypeVMFromTicketTypeMaster());
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInfo("{count} Ticket Type records fetched successfully from tenant {tenantId}", typeVMs.Count, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVMs, System.String.Format("{0} Ticket Type records fetched successfully", typeVMs.Count), 200));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("ticket-types")]
|
||||||
|
public async Task<IActionResult> CreateTicketTypeMaster(TicketTypeMasterDto typeMasterDto)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
if (typeMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketTypeMaster? typeMaster = typeMasterDto.ToTicketTypeMasterFromTicketTypeMasterDto(tenantId);
|
||||||
|
_context.TicketTypeMasters.Add(typeMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketTypeVM typeVM = typeMaster.ToTicketTypeVMFromTicketTypeMaster();
|
||||||
|
_logger.LogInfo("Ticket Type master {TicketTypeId} added successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket type master added successfully", 200));
|
||||||
|
|
||||||
|
}
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("ticket-types/edit")]
|
||||||
|
public async Task<IActionResult> UpdateTicketTypeMaster(TicketTypeMasterDto typeMasterDto)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
if (typeMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketTypeMaster? typeMaster = await _context.TicketTypeMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == typeMasterDto.Id);
|
||||||
|
if (typeMaster != null)
|
||||||
|
{
|
||||||
|
typeMaster = typeMasterDto.ToTicketTypeMasterFromTicketTypeMasterDto(tenantId);
|
||||||
|
_context.TicketTypeMasters.Update(typeMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketTypeVM typeVM = typeMaster.ToTicketTypeVMFromTicketTypeMaster();
|
||||||
|
_logger.LogInfo("Ticket Type master {TicketTypeId} updated successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket type master updated successfully", 200));
|
||||||
|
}
|
||||||
|
_logger.LogError("Ticket type master {TicketTypeId} not found in database", typeMasterDto.Id != null ? typeMasterDto.Id.Value : Guid.Empty);
|
||||||
|
return NotFound(ApiResponse<object>.ErrorResponse("Ticket type master not found", "Ticket type master not found", 404));
|
||||||
|
}
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
|
||||||
[HttpDelete("ticket-types/{id}")]
|
[HttpDelete("ticket-types/{id}")]
|
||||||
public async Task<IActionResult> DeleteTicketTypeMaster(Guid id)
|
public async Task<IActionResult> DeleteTicketTypeMaster(Guid id)
|
||||||
{
|
{
|
||||||
@ -476,6 +371,66 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Ticket Priority --------------------------------
|
||||||
|
|
||||||
|
[HttpGet("ticket-priorities")]
|
||||||
|
public async Task<IActionResult> GetTicketPriorityMaster()
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
List<TicketPriorityVM> priorityVMs = new List<TicketPriorityVM>();
|
||||||
|
List<TicketPriorityMaster> priorityMasters = await _context.TicketPriorityMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
||||||
|
foreach (var priorityMaster in priorityMasters)
|
||||||
|
{
|
||||||
|
priorityVMs.Add(priorityMaster.ToTicketPriorityVMFromTicketPriorityMaster());
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInfo("{count} Ticket Priority records fetched successfully from tenant {tenantId}", priorityVMs.Count, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(priorityVMs, System.String.Format("{0} Ticket Priority records fetched successfully", priorityVMs.Count), 200));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("ticket-priorities")]
|
||||||
|
public async Task<IActionResult> CreateTicketPriorityMaster(TicketPriorityMasterDto priorityMasterDto)
|
||||||
|
{
|
||||||
|
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
if (priorityMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketPriorityMaster? typeMaster = priorityMasterDto.ToTicketPriorityMasterFromTicketPriorityMasterDto(tenantId);
|
||||||
|
_context.TicketPriorityMasters.Add(typeMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketPriorityVM typeVM = typeMaster.ToTicketPriorityVMFromTicketPriorityMaster();
|
||||||
|
_logger.LogInfo("Ticket Priority master {TicketPriorityId} added successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket Priority master added successfully", 200));
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
[HttpPost("ticket-priorities/edit")]
|
||||||
|
public async Task<IActionResult> UpdateTicketPriorityMaster(TicketPriorityMasterDto priorityMasterDto)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
if (priorityMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketPriorityMaster? typeMaster = await _context.TicketPriorityMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == priorityMasterDto.Id);
|
||||||
|
if (typeMaster != null)
|
||||||
|
{
|
||||||
|
typeMaster = priorityMasterDto.ToTicketPriorityMasterFromTicketPriorityMasterDto(tenantId);
|
||||||
|
_context.TicketPriorityMasters.Update(typeMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketPriorityVM typeVM = typeMaster.ToTicketPriorityVMFromTicketPriorityMaster();
|
||||||
|
_logger.LogInfo("Ticket Priority master {TicketPriorityId} updated successfully from tenant {tenantId}", typeMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket Priority master updated successfully", 200));
|
||||||
|
}
|
||||||
|
_logger.LogError("Ticket Priority master {TicketPriorityId} not found in database", priorityMasterDto.Id != null ? priorityMasterDto.Id.Value : Guid.Empty);
|
||||||
|
return NotFound(ApiResponse<object>.ErrorResponse("Ticket Priority master not found", "Ticket Priority master not found", 404));
|
||||||
|
}
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
|
||||||
[HttpDelete("ticket-priorities/{id}")]
|
[HttpDelete("ticket-priorities/{id}")]
|
||||||
public async Task<IActionResult> DeleteTicketPriorityMaster(Guid id)
|
public async Task<IActionResult> DeleteTicketPriorityMaster(Guid id)
|
||||||
{
|
{
|
||||||
@ -504,6 +459,66 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Ticket Tag --------------------------------
|
||||||
|
|
||||||
|
[HttpGet("ticket-tags")]
|
||||||
|
public async Task<IActionResult> GetTicketTagMaster()
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
List<TicketTagVM> tagVMs = new List<TicketTagVM>();
|
||||||
|
List<TicketTagMaster> tagMasters = await _context.TicketTagMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
||||||
|
foreach (var tagMaster in tagMasters)
|
||||||
|
{
|
||||||
|
tagVMs.Add(tagMaster.ToTicketTagVMFromTicketTagMaster());
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInfo("{count} Ticket Tag records fetched successfully from tenant {tenantId}", tagVMs.Count, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(tagVMs, System.String.Format("{0} Ticket Tag records fetched successfully", tagVMs.Count), 200));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("ticket-tags")]
|
||||||
|
public async Task<IActionResult> CreateTicketTagMaster(TicketTagMasterDto tagMasterDto)
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
if (tagMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketTagMaster? tagMaster = tagMasterDto.ToTicketTagMasterFromTicketTagMasterDto(tenantId);
|
||||||
|
_context.TicketTagMasters.Add(tagMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketTagVM typeVM = tagMaster.ToTicketTagVMFromTicketTagMaster();
|
||||||
|
_logger.LogInfo("Ticket Tag master {TicketTypeId} added successfully from tenant {tenantId}", tagMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket tag master added successfully", 200));
|
||||||
|
|
||||||
|
}
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("ticket-tags/edit")]
|
||||||
|
public async Task<IActionResult> UpdateTicketTagMaster(TicketTagMasterDto tagMasterDto)
|
||||||
|
{
|
||||||
|
var tenantId = _userHelper.GetTenantId();
|
||||||
|
if (tagMasterDto != null)
|
||||||
|
{
|
||||||
|
TicketTagMaster? tagMaster = await _context.TicketTagMasters.AsNoTracking().FirstOrDefaultAsync(s => s.TenantId == tenantId && s.Id == tagMasterDto.Id);
|
||||||
|
if (tagMaster != null)
|
||||||
|
{
|
||||||
|
tagMaster = tagMasterDto.ToTicketTagMasterFromTicketTagMasterDto(tenantId);
|
||||||
|
_context.TicketTagMasters.Update(tagMaster);
|
||||||
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
TicketTagVM typeVM = tagMaster.ToTicketTagVMFromTicketTagMaster();
|
||||||
|
_logger.LogInfo("Ticket Tag master {TicketTypeId} updated successfully from tenant {tenantId}", tagMaster.Id, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(typeVM, "Ticket tag master updated successfully", 200));
|
||||||
|
}
|
||||||
|
_logger.LogError("Ticket tag master {TicketTypeId} not found in database", tagMasterDto.Id != null ? tagMasterDto.Id.Value : Guid.Empty);
|
||||||
|
return NotFound(ApiResponse<object>.ErrorResponse("Ticket tag master not found", "Ticket tag master not found", 404));
|
||||||
|
}
|
||||||
|
_logger.LogError("User sent empyt payload");
|
||||||
|
return BadRequest(ApiResponse<object>.ErrorResponse("User sent Empty payload", "User sent Empty payload", 400));
|
||||||
|
}
|
||||||
|
|
||||||
[HttpDelete("ticket-tags/{id}")]
|
[HttpDelete("ticket-tags/{id}")]
|
||||||
public async Task<IActionResult> DeleteTicketTagMaster(Guid id)
|
public async Task<IActionResult> DeleteTicketTagMaster(Guid id)
|
||||||
{
|
{
|
||||||
@ -531,5 +546,22 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
return NotFound(ApiResponse<object>.ErrorResponse("Ticket tag not found", "Ticket tag not found", 404));
|
return NotFound(ApiResponse<object>.ErrorResponse("Ticket tag not found", "Ticket tag not found", 404));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------- Work Category --------------------------------
|
||||||
|
|
||||||
|
[HttpGet("work-categories")]
|
||||||
|
public async Task<IActionResult> GetWorkCategoryMasterList()
|
||||||
|
{
|
||||||
|
Guid tenantId = _userHelper.GetTenantId();
|
||||||
|
List<WorkCategoryMasterVM> workCategoryMasterVMs = new List<WorkCategoryMasterVM>();
|
||||||
|
List<WorkCategoryMaster> workCategories = await _context.WorkCategoryMasters.Where(s => s.TenantId == tenantId).ToListAsync();
|
||||||
|
foreach (var workCategory in workCategories)
|
||||||
|
{
|
||||||
|
workCategoryMasterVMs.Add(workCategory.ToWorkCategoryMasterVMFromWorkCategoryMaster());
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInfo("{count} Work Category records fetched successfully from tenant {tenantId}", workCategoryMasterVMs.Count, tenantId);
|
||||||
|
return Ok(ApiResponse<object>.SuccessResponse(workCategoryMasterVMs, System.String.Format("{0} Work Category records fetched successfully", workCategoryMasterVMs.Count), 200));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user