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

@ -12,6 +12,8 @@ using Microsoft.EntityFrameworkCore;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using System.Security.Claims; using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineComplaint.Service.Controllers namespace BMA.EHR.DisciplineComplaint.Service.Controllers
{ {
@ -27,17 +29,20 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
private readonly MinIODisciplineService _documentService; private readonly MinIODisciplineService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly NotificationRepository _repositoryNoti; private readonly NotificationRepository _repositoryNoti;
private readonly PermissionRepository _permission;
public DisciplineComplaintController(DisciplineDbContext context, public DisciplineComplaintController(DisciplineDbContext context,
MinIODisciplineService documentService, MinIODisciplineService documentService,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
IHttpContextAccessor httpContextAccessor) IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_repositoryNoti = repositoryNoti; _repositoryNoti = repositoryNoti;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -59,6 +64,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDisciplineComplaint(int page = 1, int pageSize = 25, string keyword = "", string status = "") public async Task<ActionResult<ResponseObject>> GetDisciplineComplaint(int page = 1, int pageSize = 25, string keyword = "", string status = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_COMPLAIN");
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.DisciplineComplaints var data_search = (from x in _context.DisciplineComplaints
where x.Title.Contains(keyword) || where x.Title.Contains(keyword) ||
(x.Appellant == null ? false : x.Appellant.Contains(keyword)) (x.Appellant == null ? false : x.Appellant.Contains(keyword))
@ -126,6 +137,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDisciplineComplaint(Guid id) public async Task<ActionResult<ResponseObject>> GetByDisciplineComplaint(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var _data = await _context.DisciplineComplaints var _data = await _context.DisciplineComplaints
.Select(x => new .Select(x => new
{ {
@ -239,6 +256,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> CreateDisciplineComplaint([FromBody] DisciplineComplaintRequest req) public async Task<ActionResult<ResponseObject>> CreateDisciplineComplaint([FromBody] DisciplineComplaintRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var disciplineComplaint = new Domain.Models.Discipline.DisciplineComplaint var disciplineComplaint = new Domain.Models.Discipline.DisciplineComplaint
{ {
RespondentType = req.respondentType.Trim().ToUpper(), RespondentType = req.respondentType.Trim().ToUpper(),
@ -335,6 +358,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDisciplineComplaint([FromBody] DisciplineComplaintRequest req, Guid id) public async Task<ActionResult<ResponseObject>> UpdateDisciplineComplaint([FromBody] DisciplineComplaintRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints.Include(x => x.DisciplineComplaint_Profiles).Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.DisciplineComplaints.Include(x => x.DisciplineComplaint_Profiles).Where(x => x.Id == id).FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound); return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
@ -426,6 +455,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpDelete("{id:guid}")] [HttpDelete("{id:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteDisciplineComplaint(Guid id) public async Task<ActionResult<ResponseObject>> DeleteDisciplineComplaint(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
// .Include(x=>x.Document) // .Include(x=>x.Document)
.Where(x => x.Id == id) .Where(x => x.Id == id)
@ -451,6 +486,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpGet("reject/{id:guid}")] [HttpGet("reject/{id:guid}")]
public async Task<ActionResult<ResponseObject>> RejectDisciplineComplaint(Guid id) public async Task<ActionResult<ResponseObject>> RejectDisciplineComplaint(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -475,6 +516,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpPut("approve/{id:guid}")] [HttpPut("approve/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ApproveDisciplineComplaint([FromBody] DisciplinePersonIdRequest req, Guid id) public async Task<ActionResult<ResponseObject>> ApproveDisciplineComplaint([FromBody] DisciplinePersonIdRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
.Include(x => x.DisciplineComplaint_Profiles) .Include(x => x.DisciplineComplaint_Profiles)
.Include(x => x.DisciplineComplaint_Docs) .Include(x => x.DisciplineComplaint_Docs)
@ -596,6 +643,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpGet("resume/{id:guid}")] [HttpGet("resume/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ResumeDisciplineComplaint(Guid id) public async Task<ActionResult<ResponseObject>> ResumeDisciplineComplaint(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -620,6 +673,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpPut("file/{id:guid}")] [HttpPut("file/{id:guid}")]
public async Task<ActionResult<ResponseObject>> UploadFileDisciplineComplaint([FromForm] DisciplineFileRequest req, Guid id) public async Task<ActionResult<ResponseObject>> UploadFileDisciplineComplaint([FromForm] DisciplineFileRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -668,6 +727,12 @@ namespace BMA.EHR.DisciplineComplaint.Service.Controllers
[HttpDelete("file/{id:guid}/{docId:guid}")] [HttpDelete("file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineComplaint(Guid id, Guid docId) public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineComplaint(Guid id, Guid docId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_COMPLAIN");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaints var data = await _context.DisciplineComplaints
.Include(x => x.DisciplineComplaint_Docs) .Include(x => x.DisciplineComplaint_Docs)
.ThenInclude(x => x.Document) .ThenInclude(x => x.Document)

View file

@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Security.Claims; using System.Security.Claims;
@ -31,13 +32,15 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly NotificationRepository _repositoryNoti; private readonly NotificationRepository _repositoryNoti;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
public DisciplineComplaint_AppealController(DisciplineDbContext context, public DisciplineComplaint_AppealController(DisciplineDbContext context,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
ApplicationDBContext contextMain, ApplicationDBContext contextMain,
MinIODisciplineService documentService, MinIODisciplineService documentService,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
IConfiguration configuration) IConfiguration configuration,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
@ -46,6 +49,7 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_configuration = configuration; _configuration = configuration;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -150,6 +154,12 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id) public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_APPEAL");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var _data = await _context.DisciplineComplaint_Appeals var _data = await _context.DisciplineComplaint_Appeals
.Include(x => x.DisciplineComplaint_Appeal_Docs) .Include(x => x.DisciplineComplaint_Appeal_Docs)
.Include(x => x.DisciplineComplaint_Appeal_Historys) .Include(x => x.DisciplineComplaint_Appeal_Historys)
@ -459,6 +469,12 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
[HttpDelete("file/{id:guid}/{docId:guid}")] [HttpDelete("file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileComplaintAppeals(Guid id, Guid docId) public async Task<ActionResult<ResponseObject>> DeleteFileComplaintAppeals(Guid id, Guid docId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_APPEAL");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaint_Appeals var data = await _context.DisciplineComplaint_Appeals
.Include(x => x.DisciplineComplaint_Appeal_Docs) .Include(x => x.DisciplineComplaint_Appeal_Docs)
.ThenInclude(x => x.Document) .ThenInclude(x => x.Document)
@ -499,6 +515,12 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
[HttpGet("admin")] [HttpGet("admin")]
public async Task<ActionResult<ResponseObject>> GetDisciplineAdmin(string status = "ALL", string type = "ALL", int year = 0, int page = 1, int pageSize = 25, string keyword = "") public async Task<ActionResult<ResponseObject>> GetDisciplineAdmin(string status = "ALL", string type = "ALL", int year = 0, int page = 1, int pageSize = 25, string keyword = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_APPEAL");
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.DisciplineComplaint_Appeals var data_search = (from x in _context.DisciplineComplaint_Appeals
where (x.Title == null ? false : x.Title.Contains(keyword)) || where (x.Title == null ? false : x.Title.Contains(keyword)) ||
(x.Description == null ? false : x.Description.Contains(keyword)) || (x.Description == null ? false : x.Description.Contains(keyword)) ||
@ -547,6 +569,12 @@ namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineComplaint_AppealUpdateRequest req) public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineComplaint_AppealUpdateRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_APPEAL");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaint_Appeals var data = await _context.DisciplineComplaint_Appeals
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();

View file

@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims; using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
{ {
@ -25,15 +27,18 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
private readonly DisciplineDbContext _context; private readonly DisciplineDbContext _context;
private readonly MinIOService _documentService; private readonly MinIOService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public DisciplineComplaint_ChannelController(DisciplineDbContext context, public DisciplineComplaint_ChannelController(DisciplineDbContext context,
MinIOService documentService, MinIOService documentService,
IHttpContextAccessor httpContextAccessor) IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -55,6 +60,12 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDiscipline(int page = 1, int pageSize = 25, string keyword = "") public async Task<ActionResult<ResponseObject>> GetDiscipline(int page = 1, int pageSize = 25, string keyword = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_INFO");
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.DisciplineComplaint_Channels var data_search = (from x in _context.DisciplineComplaint_Channels
where x.Name.Contains(keyword) where x.Name.Contains(keyword)
select x).ToList(); select x).ToList();
@ -81,6 +92,12 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id) public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaint_Channels var data = await _context.DisciplineComplaint_Channels
.Select(x => new .Select(x => new
{ {
@ -105,6 +122,12 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> CreateDiscipline([FromBody] DisciplineComplaint_ChannelRequest req) public async Task<ActionResult<ResponseObject>> CreateDiscipline([FromBody] DisciplineComplaint_ChannelRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var disciplineComplaint_Channel = new Domain.Models.Discipline.DisciplineComplaint_Channel var disciplineComplaint_Channel = new Domain.Models.Discipline.DisciplineComplaint_Channel
{ {
Name = req.name, Name = req.name,
@ -131,6 +154,12 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineComplaint_ChannelRequest req) public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineComplaint_ChannelRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaint_Channels.Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.DisciplineComplaint_Channels.Where(x => x.Id == id).FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound); return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
@ -158,6 +187,12 @@ namespace BMA.EHR.DisciplineComplaint_Channel.Service.Controllers
[HttpDelete("{id:guid}")] [HttpDelete("{id:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteDiscipline(Guid id) public async Task<ActionResult<ResponseObject>> DeleteDiscipline(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineComplaint_Channels.Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.DisciplineComplaint_Channels.Where(x => x.Id == id).FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound); return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);

View file

@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims; using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineDirector.Service.Controllers namespace BMA.EHR.DisciplineDirector.Service.Controllers
{ {
@ -25,15 +27,18 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
private readonly DisciplineDbContext _context; private readonly DisciplineDbContext _context;
private readonly MinIOService _documentService; private readonly MinIOService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public DisciplineDirectorController(DisciplineDbContext context, public DisciplineDirectorController(DisciplineDbContext context,
MinIOService documentService, MinIOService documentService,
IHttpContextAccessor httpContextAccessor) IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -55,6 +60,12 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDiscipline(int page = 1, int pageSize = 25, string keyword = "") public async Task<ActionResult<ResponseObject>> GetDiscipline(int page = 1, int pageSize = 25, string keyword = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_INFO");
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.DisciplineDirectors.Include(x => x.DisciplineInvestigate_Directors).Include(x => x.DisciplineDisciplinary_DirectorInvestigates) var data_search = (from x in _context.DisciplineDirectors.Include(x => x.DisciplineInvestigate_Directors).Include(x => x.DisciplineDisciplinary_DirectorInvestigates)
where x.Prefix.Contains(keyword) || where x.Prefix.Contains(keyword) ||
x.FirstName.Contains(keyword) || x.FirstName.Contains(keyword) ||
@ -95,6 +106,12 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id) public async Task<ActionResult<ResponseObject>> GetByDiscipline(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDirectors var data = await _context.DisciplineDirectors
.Select(x => new .Select(x => new
{ {
@ -127,6 +144,12 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> CreateDiscipline([FromBody] DisciplineDirectorRequest req) public async Task<ActionResult<ResponseObject>> CreateDiscipline([FromBody] DisciplineDirectorRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var dataDup = await _context.DisciplineDirectors.Where(x => x.FirstName == req.firstName && x.LastName == req.lastName).FirstOrDefaultAsync(); var dataDup = await _context.DisciplineDirectors.Where(x => x.FirstName == req.firstName && x.LastName == req.lastName).FirstOrDefaultAsync();
if (dataDup != null) if (dataDup != null)
return Error("ชื่อกรรมการนี้มีอยู่ในระบบแล้ว", StatusCodes.Status404NotFound); return Error("ชื่อกรรมการนี้มีอยู่ในระบบแล้ว", StatusCodes.Status404NotFound);
@ -163,6 +186,12 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineDirectorRequest req) public async Task<ActionResult<ResponseObject>> UpdateDiscipline(Guid id, [FromBody] DisciplineDirectorRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var dataDup = await _context.DisciplineDirectors.Where(x => x.FirstName == req.firstName && x.LastName == req.lastName && x.Id != id).FirstOrDefaultAsync(); var dataDup = await _context.DisciplineDirectors.Where(x => x.FirstName == req.firstName && x.LastName == req.lastName && x.Id != id).FirstOrDefaultAsync();
if (dataDup != null) if (dataDup != null)
return Error("ชื่อกรรมการนี้มีอยู่ในระบบแล้ว", StatusCodes.Status404NotFound); return Error("ชื่อกรรมการนี้มีอยู่ในระบบแล้ว", StatusCodes.Status404NotFound);
@ -196,6 +225,12 @@ namespace BMA.EHR.DisciplineDirector.Service.Controllers
[HttpDelete("{id:guid}")] [HttpDelete("{id:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteDiscipline(Guid id) public async Task<ActionResult<ResponseObject>> DeleteDiscipline(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_INFO");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineDirectors.Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.DisciplineDirectors.Where(x => x.Id == id).FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound); return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);

View file

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

View file

@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims; using System.Security.Claims;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BMA.EHR.DisciplineInvestigate.Service.Controllers namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
{ {
@ -25,15 +27,18 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
private readonly DisciplineDbContext _context; private readonly DisciplineDbContext _context;
private readonly MinIODisciplineService _documentService; private readonly MinIODisciplineService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public DisciplineInvestigateController(DisciplineDbContext context, public DisciplineInvestigateController(DisciplineDbContext context,
MinIODisciplineService documentService, MinIODisciplineService documentService,
IHttpContextAccessor httpContextAccessor) IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -55,6 +60,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDisciplineInvestigate(int page = 1, int pageSize = 25, string keyword = "", string status = "") public async Task<ActionResult<ResponseObject>> GetDisciplineInvestigate(int page = 1, int pageSize = 25, string keyword = "", string status = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_INVESTIGATE");
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.DisciplineInvestigates var data_search = (from x in _context.DisciplineInvestigates
where x.Title.Contains(keyword) where x.Title.Contains(keyword)
select x).ToList(); select x).ToList();
@ -238,6 +249,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDisciplineInvestigate(Guid id) public async Task<ActionResult<ResponseObject>> GetByDisciplineInvestigate(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var _data = await _context.DisciplineInvestigates var _data = await _context.DisciplineInvestigates
.Select(x => new .Select(x => new
{ {
@ -388,6 +405,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDisciplineInvestigate([FromBody] DisciplineInvestigateRequest req, Guid id) public async Task<ActionResult<ResponseObject>> UpdateDisciplineInvestigate([FromBody] DisciplineInvestigateRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Include(x => x.DisciplineInvestigateExtends) .Include(x => x.DisciplineInvestigateExtends)
.Include(x => x.DisciplineInvestigate_ProfileComplaints) .Include(x => x.DisciplineInvestigate_ProfileComplaints)
@ -532,6 +555,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpGet("reject/{id:guid}")] [HttpGet("reject/{id:guid}")]
public async Task<ActionResult<ResponseObject>> RejectDisciplineInvestigate(Guid id) public async Task<ActionResult<ResponseObject>> RejectDisciplineInvestigate(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -558,6 +587,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpPut("approve/{id:guid}")] [HttpPut("approve/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ApproveDisciplineInvestigate([FromBody] DisciplinePersonIdRequest req, Guid id) public async Task<ActionResult<ResponseObject>> ApproveDisciplineInvestigate([FromBody] DisciplinePersonIdRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Include(x => x.DisciplineInvestigate_DocComplaints) .Include(x => x.DisciplineInvestigate_DocComplaints)
.ThenInclude(x => x.Document) .ThenInclude(x => x.Document)
@ -739,6 +774,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpGet("resume/{id:guid}")] [HttpGet("resume/{id:guid}")]
public async Task<ActionResult<ResponseObject>> ResumeDisciplineInvestigate(Guid id) public async Task<ActionResult<ResponseObject>> ResumeDisciplineInvestigate(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Where(x => x.Id == id) .Where(x => x.Id == id)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -811,6 +852,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpDelete("file/{id:guid}/{docId:guid}")] [HttpDelete("file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineInvestigate(Guid id, Guid docId) public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineInvestigate(Guid id, Guid docId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Include(x => x.DisciplineInvestigate_Docs) .Include(x => x.DisciplineInvestigate_Docs)
.ThenInclude(x => x.Document) .ThenInclude(x => x.Document)
@ -984,6 +1031,12 @@ namespace BMA.EHR.DisciplineInvestigate.Service.Controllers
[HttpDelete("relevant/file/{id:guid}/{docId:guid}")] [HttpDelete("relevant/file/{id:guid}/{docId:guid}")]
public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineInvestigateRelevant(Guid id, Guid docId) public async Task<ActionResult<ResponseObject>> DeleteFileDisciplineInvestigateRelevant(Guid id, Guid docId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_DISCIPLINE_INVESTIGATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineInvestigates var data = await _context.DisciplineInvestigates
.Include(x => x.DisciplineInvestigateRelevant_Docs) .Include(x => x.DisciplineInvestigateRelevant_Docs)
.ThenInclude(x => x.Document) .ThenInclude(x => x.Document)

View file

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

View file

@ -9,6 +9,8 @@ using BMA.EHR.Infrastructure.Persistence;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
using System.Security.Claims; using System.Security.Claims;
@ -25,15 +27,18 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
private readonly DisciplineDbContext _context; private readonly DisciplineDbContext _context;
private readonly MinIODisciplineService _documentService; private readonly MinIODisciplineService _documentService;
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PermissionRepository _permission;
public DisciplineSuspendController(DisciplineDbContext context, public DisciplineSuspendController(DisciplineDbContext context,
MinIODisciplineService documentService, MinIODisciplineService documentService,
IHttpContextAccessor httpContextAccessor) IHttpContextAccessor httpContextAccessor,
PermissionRepository permission)
{ {
// _repository = repository; // _repository = repository;
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -55,6 +60,12 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetDisciplineSuspend(int page = 1, int pageSize = 25, string keyword = "") public async Task<ActionResult<ResponseObject>> GetDisciplineSuspend(int page = 1, int pageSize = 25, string keyword = "")
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_DISCIPLINE_SUSPENDED");
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.DisciplineReport_Profiles.Include(x => x.DisciplineDisciplinary) var data_search = (from x in _context.DisciplineReport_Profiles.Include(x => x.DisciplineDisciplinary)
where (x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) || where (x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) ||
(x.Prefix == null ? false : x.Prefix.Contains(keyword)) || (x.Prefix == null ? false : x.Prefix.Contains(keyword)) ||
@ -130,6 +141,12 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
[HttpGet("{id:guid}")] [HttpGet("{id:guid}")]
public async Task<ActionResult<ResponseObject>> GetByDisciplineSuspend(Guid id) public async Task<ActionResult<ResponseObject>> GetByDisciplineSuspend(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_DISCIPLINE_SUSPENDED");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var _data = await _context.DisciplineReport_Profiles var _data = await _context.DisciplineReport_Profiles
.Select(x => new .Select(x => new
{ {
@ -193,6 +210,12 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
[HttpPut("{id:guid}")] [HttpPut("{id:guid}")]
public async Task<ActionResult<ResponseObject>> UpdateDisciplineSuspend([FromBody] DisciplineSuspendRequest req, Guid id) public async Task<ActionResult<ResponseObject>> UpdateDisciplineSuspend([FromBody] DisciplineSuspendRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_SUSPENDED");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.DisciplineReport_Profiles.Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.DisciplineReport_Profiles.Where(x => x.Id == id).FirstOrDefaultAsync();
if (data == null) if (data == null)
return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound); return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
@ -225,6 +248,12 @@ namespace BMA.EHR.DisciplineSuspend.Service.Controllers
[HttpPut("report/{commandTypeId:length(36)}")] [HttpPut("report/{commandTypeId:length(36)}")]
public async Task<ActionResult<ResponseObject>> PostToReport([FromBody] DisciplineProfileRequest req, Guid commandTypeId) public async Task<ActionResult<ResponseObject>> PostToReport([FromBody] DisciplineProfileRequest req, Guid commandTypeId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_DISCIPLINE_SUSPENDED");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
foreach (var item in req.Id) foreach (var item in req.Id)
{ {
var uppdated = await _context.DisciplineReport_Profiles var uppdated = await _context.DisciplineReport_Profiles