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

@ -14,6 +14,8 @@ using Swashbuckle.AspNetCore.Annotations;
using System.Configuration;
using System.Net.Http.Headers;
using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineResult.Service.Controllers
{
@ -29,17 +31,20 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
private readonly MinIODisciplineService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
public DisciplineResultController(DisciplineDbContext context,
MinIODisciplineService documentService,
IHttpContextAccessor httpContextAccessor,
IConfiguration configuration)
IConfiguration configuration,
PermissionRepository permission)
{
// _repository = repository;
_context = context;
_documentService = documentService;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_permission = permission;
}
#region " Properties "
@ -62,6 +67,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
[HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDisciplineResult(int page = 1, int pageSize = 25, string keyword = "", string status = "")
{
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_RESULT");
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.ResultOc == null ? false : x.ResultOc.Contains(keyword)) ||
@ -118,6 +129,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
[HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDisciplineResult(Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_RESULT");
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
{
@ -220,6 +237,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
[HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDisciplineResult([FromBody] DisciplineResultRequest req, Guid id)
{
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_RESULT");
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();
if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
@ -324,6 +347,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers
[HttpDelete("file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineDisciplinaryInvestigate(Guid id, Guid docId)
{
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_RESULT");
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_DocResults)
.ThenInclude(x => x.Document)