permission วินัย

This commit is contained in:
Bright 2024-08-22 17:48:48 +07:00
parent aea156e22f
commit a0008b6254
8 changed files with 335 additions and 8 deletions

View file

@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
{
@ -25,15 +27,18 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
private readonly DisciplineDbContext _context;
private readonly MinIODisciplineService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public DisciplineDisciplinaryController(DisciplineDbContext context,
MinIODisciplineService documentService,
IHttpContextAccessor httpContextAccessor)
IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{
// _repository = repository;
_context = context;
_documentService = documentService;
_httpContextAccessor = httpContextAccessor;
_permission = permission;
}
#region " Properties "
@ -55,6 +60,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDisciplineDisciplinary(int page = 1, int pageSize = 25, string keyword = "", string status = "")
{
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data_search = (from x in _context.DisciplineDisciplinarys
where x.Title.Contains(keyword) ||
// x.DisciplinaryFaultLevel == null ? false : x.DisciplinaryFaultLevel.Contains(keyword) ||
@ -399,6 +410,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDisciplineDisciplinary(Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var _data = await _context.DisciplineDisciplinarys
.Select(x => new
{
@ -613,6 +630,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDisciplineDisciplinary([FromBody] DisciplineDisciplinaryRequest req, Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDisciplinarys
.Include(x => x.DisciplineDisciplinary_DirectorInvestigates)
.ThenInclude(x => x.DisciplineDirector)
@ -769,6 +792,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpGet("reject/{id:guid}")]
public async Task<ActionResult<ResponseObject>> RejectDisciplineDisciplinary(Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDisciplinarys
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
@ -795,6 +824,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpGet("approve/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ApproveDisciplineDisciplinary(Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDisciplinarys
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
@ -819,6 +854,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpGet("resume/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ResumeDisciplineDisciplinary(Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDisciplinarys
.Where(x => x.Id == id)
.FirstOrDefaultAsync();
@ -1529,6 +1570,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
[HttpPut("suspend/{id:length(36)}/{commandTypeId:length(36)}")]
public async Task<ActionResult<ResponseObject>> PostToSuspend([FromBody] DisciplinePersonIdRequest req, Guid id, Guid commandTypeId)
{
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDisciplinarys
.Include(x => x.DisciplineDisciplinary_ProfileComplaintInvestigates)
.Where(x => x.Id == id)
@ -1756,6 +1803,12 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
// [HttpPut("report/{commandTypeId:length(36)}")]
public async Task<ActionResult<ResponseObject>> PostToReport([FromBody] DisciplineProfileRequest req)
{
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_INTERROGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
foreach (var item in req.Id)
{
var uppdated = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates