add permission insignia

This commit is contained in:
Bright 2024-09-24 15:40:07 +07:00
parent 1496c1a438
commit 90f3a7bfe5
3 changed files with 137 additions and 6 deletions

View file

@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OfficeOpenXml.Export.ToDataTable; using OfficeOpenXml.Export.ToDataTable;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
@ -30,13 +31,14 @@ namespace BMA.EHR.Insignia.Service.Controllers
private readonly InsigniaPeriodsRepository _repository; private readonly InsigniaPeriodsRepository _repository;
private readonly NotificationRepository _repositoryNoti; private readonly NotificationRepository _repositoryNoti;
private readonly UserProfileRepository _userProfileRepository; private readonly UserProfileRepository _userProfileRepository;
private readonly PermissionRepository _permission;
public InsigniaManageController(ApplicationDBContext context, public InsigniaManageController(ApplicationDBContext context,
MinIOService documentService, MinIOService documentService,
InsigniaPeriodsRepository repository, InsigniaPeriodsRepository repository,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
UserProfileRepository userProfileRepository) UserProfileRepository userProfileRepository,
PermissionRepository permission)
{ {
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
@ -44,6 +46,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
_repositoryNoti = repositoryNoti; _repositoryNoti = repositoryNoti;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_userProfileRepository = userProfileRepository; _userProfileRepository = userProfileRepository;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -69,6 +72,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("type/{year}/{insigniaTypeId:length(36)}")] [HttpGet("type/{year}/{insigniaTypeId:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetList(int year, Guid insigniaTypeId) public async Task<ActionResult<ResponseObject>> GetList(int year, Guid insigniaTypeId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaType = await _context.InsigniaTypes var insigniaType = await _context.InsigniaTypes
.FirstOrDefaultAsync(x => x.Id == insigniaTypeId); .FirstOrDefaultAsync(x => x.Id == insigniaTypeId);
if (insigniaType == null) if (insigniaType == null)
@ -135,6 +144,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> Post([FromBody] InsigniaManageRequest req) public async Task<ActionResult<ResponseObject>> Post([FromBody] InsigniaManageRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insignia = await _context.Insignias.AsQueryable() var insignia = await _context.Insignias.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == req.Insignia); .FirstOrDefaultAsync(x => x.Id == req.Insignia);
if (insignia == null) if (insignia == null)
@ -176,6 +191,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpDelete("{insigniaManageId:length(36)}")] [HttpDelete("{insigniaManageId:length(36)}")]
public async Task<ActionResult<ResponseObject>> Delete(Guid insigniaManageId) public async Task<ActionResult<ResponseObject>> Delete(Guid insigniaManageId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var deleted = await _context.InsigniaManages.AsQueryable() var deleted = await _context.InsigniaManages.AsQueryable()
.Where(x => x.Id == insigniaManageId) .Where(x => x.Id == insigniaManageId)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
@ -200,6 +221,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPut("{insigniaManageId:length(36)}")] [HttpPut("{insigniaManageId:length(36)}")]
public async Task<ActionResult<ResponseObject>> Put([FromBody] InsigniaManageRequest req, Guid insigniaManageId) public async Task<ActionResult<ResponseObject>> Put([FromBody] InsigniaManageRequest req, Guid insigniaManageId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insignia = await _context.Insignias.AsQueryable() var insignia = await _context.Insignias.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == req.Insignia); .FirstOrDefaultAsync(x => x.Id == req.Insignia);
if (insignia == null) if (insignia == null)
@ -241,6 +268,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("org/{insigniaManageId:length(36)}")] [HttpGet("org/{insigniaManageId:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetListOrganization(Guid insigniaManageId) public async Task<ActionResult<ResponseObject>> GetListOrganization(Guid insigniaManageId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaManage = await _context.InsigniaManages.AsQueryable() var insigniaManage = await _context.InsigniaManages.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == insigniaManageId); .FirstOrDefaultAsync(x => x.Id == insigniaManageId);
if (insigniaManage == null) if (insigniaManage == null)
@ -274,6 +307,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPost("org")] [HttpPost("org")]
public async Task<ActionResult<ResponseObject>> PostOrganization([FromBody] InsigniaManageOrganizationRequest req) public async Task<ActionResult<ResponseObject>> PostOrganization([FromBody] InsigniaManageOrganizationRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var organization = _userProfileRepository.GetOc(req.OrganizationOrganizationId, 0, AccessToken); var organization = _userProfileRepository.GetOc(req.OrganizationOrganizationId, 0, AccessToken);
@ -331,6 +370,13 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpDelete("org/{insigniaManageOrgId:length(36)}")] [HttpDelete("org/{insigniaManageOrgId:length(36)}")]
public async Task<ActionResult<ResponseObject>> DeleteOrganization(Guid insigniaManageOrgId) public async Task<ActionResult<ResponseObject>> DeleteOrganization(Guid insigniaManageOrgId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var deleted = await _context.InsigniaManageOrganiations.AsQueryable() var deleted = await _context.InsigniaManageOrganiations.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == insigniaManageOrgId); .FirstOrDefaultAsync(x => x.Id == insigniaManageOrgId);
@ -353,6 +399,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPut("org/{insigniaManageOrgId:length(36)}")] [HttpPut("org/{insigniaManageOrgId:length(36)}")]
public async Task<ActionResult<ResponseObject>> PutOrganization([FromBody] InsigniaManageOrganizationUpdateRequest req, Guid insigniaManageOrgId) public async Task<ActionResult<ResponseObject>> PutOrganization([FromBody] InsigniaManageOrganizationUpdateRequest req, Guid insigniaManageOrgId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var uppdated = await _context.InsigniaManageOrganiations.AsQueryable() var uppdated = await _context.InsigniaManageOrganiations.AsQueryable()
//.Include(x => x.OrganizationOrganization) //.Include(x => x.OrganizationOrganization)
.Include(x => x.InsigniaManage) .Include(x => x.InsigniaManage)
@ -392,6 +444,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("org/dashboard/{insigniaManageId:length(36)}")] [HttpGet("org/dashboard/{insigniaManageId:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetListDashboardOrganization(Guid insigniaManageId) public async Task<ActionResult<ResponseObject>> GetListDashboardOrganization(Guid insigniaManageId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_INSIGNIA_ALLOCATE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaManage = await _context.InsigniaManages.AsQueryable() var insigniaManage = await _context.InsigniaManages.AsQueryable()
.Include(x => x.InsigniaManageOrganiations) .Include(x => x.InsigniaManageOrganiations)
.Select(p => new .Select(p => new

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;
namespace BMA.EHR.Insignia.Service.Controllers namespace BMA.EHR.Insignia.Service.Controllers
@ -27,13 +29,14 @@ namespace BMA.EHR.Insignia.Service.Controllers
private readonly InsigniaPeriodsRepository _repository; private readonly InsigniaPeriodsRepository _repository;
private readonly NotificationRepository _repositoryNoti; private readonly NotificationRepository _repositoryNoti;
private readonly UserProfileRepository _userProfileRepository; private readonly UserProfileRepository _userProfileRepository;
private readonly PermissionRepository _permission;
public InsigniaPeriodController(ApplicationDBContext context, public InsigniaPeriodController(ApplicationDBContext context,
MinIOService documentService, MinIOService documentService,
InsigniaPeriodsRepository repository, InsigniaPeriodsRepository repository,
NotificationRepository repositoryNoti, NotificationRepository repositoryNoti,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
UserProfileRepository userProfileRepository) UserProfileRepository userProfileRepository,
PermissionRepository permission)
{ {
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
@ -41,6 +44,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
_repositoryNoti = repositoryNoti; _repositoryNoti = repositoryNoti;
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_userProfileRepository = userProfileRepository; _userProfileRepository = userProfileRepository;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -64,6 +68,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet()] [HttpGet()]
public async Task<ActionResult<ResponseObject>> GetList() public async Task<ActionResult<ResponseObject>> GetList()
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_ROUND");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaPeriods = await _context.InsigniaPeriods.AsQueryable() var insigniaPeriods = await _context.InsigniaPeriods.AsQueryable()
// .Where(x => x.Type == type) // .Where(x => x.Type == type)
.OrderByDescending(x => x.Year) .OrderByDescending(x => x.Year)
@ -116,6 +126,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("{id:length(36)}")] [HttpGet("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> GetById(Guid id) public async Task<ActionResult<ResponseObject>> GetById(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_INSIGNIA_ROUND");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var data = await _context.InsigniaPeriods.AsQueryable() var data = await _context.InsigniaPeriods.AsQueryable()
.Where(x => x.Id == id) .Where(x => x.Id == id)
.Select(p => new .Select(p => new
@ -170,6 +186,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPost()] [HttpPost()]
public async Task<ActionResult<ResponseObject>> Post([FromForm] InsigniaPeriodRequest req) public async Task<ActionResult<ResponseObject>> Post([FromForm] InsigniaPeriodRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_INSIGNIA_ROUND");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var revisionId = await _userProfileRepository.GetLastRevision(AccessToken); var revisionId = await _userProfileRepository.GetLastRevision(AccessToken);
var insigniaPeriod = await _context.InsigniaPeriods.AsQueryable() var insigniaPeriod = await _context.InsigniaPeriods.AsQueryable()
@ -225,6 +247,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpDelete("{id:length(36)}")] [HttpDelete("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Delete(Guid id) public async Task<ActionResult<ResponseObject>> Delete(Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("DELETE", "SYS_INSIGNIA_ROUND");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var deleted = await _context.InsigniaPeriods.AsQueryable() var deleted = await _context.InsigniaPeriods.AsQueryable()
.Include(x => x.ReliefDoc) .Include(x => x.ReliefDoc)
.FirstOrDefaultAsync(x => x.Id == id); .FirstOrDefaultAsync(x => x.Id == id);
@ -258,6 +286,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPut("{id:length(36)}")] [HttpPut("{id:length(36)}")]
public async Task<ActionResult<ResponseObject>> Put([FromForm] InsigniaPeriodRequest req, Guid id) public async Task<ActionResult<ResponseObject>> Put([FromForm] InsigniaPeriodRequest req, Guid id)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_INSIGNIA_ROUND");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
if (req == null) if (req == null)
return BadRequest(); return BadRequest();

View file

@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OfficeOpenXml; using OfficeOpenXml;
using RabbitMQ.Client; using RabbitMQ.Client;
using Swashbuckle.AspNetCore.Annotations; using Swashbuckle.AspNetCore.Annotations;
@ -43,7 +44,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
private readonly InsigniaPeriodsRepository _insigniaPeriodRepository; private readonly InsigniaPeriodsRepository _insigniaPeriodRepository;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly PermissionRepository _permission;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -64,7 +65,8 @@ namespace BMA.EHR.Insignia.Service.Controllers
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
UserProfileRepository userProfileRepository, UserProfileRepository userProfileRepository,
InsigniaPeriodsRepository insigniaPeriodRepository, InsigniaPeriodsRepository insigniaPeriodRepository,
IConfiguration configuration) IConfiguration configuration,
PermissionRepository permission)
{ {
_context = context; _context = context;
_documentService = documentService; _documentService = documentService;
@ -75,6 +77,7 @@ namespace BMA.EHR.Insignia.Service.Controllers
_userProfileRepository = userProfileRepository; _userProfileRepository = userProfileRepository;
_insigniaPeriodRepository = insigniaPeriodRepository; _insigniaPeriodRepository = insigniaPeriodRepository;
_configuration = configuration; _configuration = configuration;
_permission = permission;
} }
#region " Properties " #region " Properties "
@ -343,6 +346,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("{insigniaPeriodId:length(36)}/{ocId:length(36)}/{role}/{status}")] [HttpGet("{insigniaPeriodId:length(36)}/{ocId:length(36)}/{role}/{status}")]
public async Task<ActionResult<ResponseObject>> GetInsignaiRequestBkk(Guid insigniaPeriodId, Guid ocId, string role, string status) public async Task<ActionResult<ResponseObject>> GetInsignaiRequestBkk(Guid insigniaPeriodId, Guid ocId, string role, string status)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_MANAGE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var result = await _repository.GetInsigniaRequest(insigniaPeriodId, ocId); var result = await _repository.GetInsigniaRequest(insigniaPeriodId, ocId);
if (result != null) if (result != null)
{ {
@ -947,6 +956,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("dashboard/{insigniaPeriodId:length(36)}")] [HttpGet("dashboard/{insigniaPeriodId:length(36)}")]
public async Task<ActionResult<ResponseObject>> DashboardInsigniaPeriod(Guid insigniaPeriodId) public async Task<ActionResult<ResponseObject>> DashboardInsigniaPeriod(Guid insigniaPeriodId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_INSIGNIA_MANAGE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaPeriod = await _context.InsigniaPeriods.FirstOrDefaultAsync(x => x.Id == insigniaPeriodId); var insigniaPeriod = await _context.InsigniaPeriods.FirstOrDefaultAsync(x => x.Id == insigniaPeriodId);
if (insigniaPeriod == null) if (insigniaPeriod == null)
return Error(GlobalMessages.InsigniaRequestNotFound); return Error(GlobalMessages.InsigniaRequestNotFound);
@ -974,6 +989,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("org/no-send/{insigniaPeriodId:length(36)}")] [HttpGet("org/no-send/{insigniaPeriodId:length(36)}")]
public async Task<ActionResult<ResponseObject>> ListOrgDontSentUser(Guid insigniaPeriodId) public async Task<ActionResult<ResponseObject>> ListOrgDontSentUser(Guid insigniaPeriodId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_MANAGE");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaPeriod = await _context.InsigniaPeriods.FirstOrDefaultAsync(x => x.Id == insigniaPeriodId); var insigniaPeriod = await _context.InsigniaPeriods.FirstOrDefaultAsync(x => x.Id == insigniaPeriodId);
if (insigniaPeriod == null) if (insigniaPeriod == null)
return Error(GlobalMessages.InsigniaRequestNotFound); return Error(GlobalMessages.InsigniaRequestNotFound);
@ -1335,6 +1356,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpGet("note")] [HttpGet("note")]
public async Task<ActionResult<ResponseObject>> GetListNote() public async Task<ActionResult<ResponseObject>> GetListNote()
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_RECORD");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaNotes = await _context.InsigniaNotes.AsQueryable() var insigniaNotes = await _context.InsigniaNotes.AsQueryable()
.OrderByDescending(x => x.Year) .OrderByDescending(x => x.Year)
// .ThenByDescending(x => x.StartDate) // .ThenByDescending(x => x.StartDate)
@ -1381,6 +1408,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPost("note/search")] [HttpPost("note/search")]
public async Task<ActionResult<ResponseObject>> GetListNoteProfile([FromBody] InsigniaNoteSearchRequest req) public async Task<ActionResult<ResponseObject>> GetListNoteProfile([FromBody] InsigniaNoteSearchRequest req)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_RECORD");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaNote = await _context.InsigniaNotes var insigniaNote = await _context.InsigniaNotes
.FirstOrDefaultAsync(x => x.Id == req.InsigniaNoteId); .FirstOrDefaultAsync(x => x.Id == req.InsigniaNoteId);
if (insigniaNote == null) if (insigniaNote == null)
@ -1821,6 +1854,12 @@ namespace BMA.EHR.Insignia.Service.Controllers
[HttpPut("note/doc/{insigniaNoteId:length(36)}")] [HttpPut("note/doc/{insigniaNoteId:length(36)}")]
public async Task<ActionResult<ResponseObject>> AddDocumentProfile([FromForm] InsigniaNoteDocRequest req, Guid insigniaNoteId) public async Task<ActionResult<ResponseObject>> AddDocumentProfile([FromForm] InsigniaNoteDocRequest req, Guid insigniaNoteId)
{ {
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_INSIGNIA_RECORD");
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var insigniaNote = await _context.InsigniaNotes var insigniaNote = await _context.InsigniaNotes
.FirstOrDefaultAsync(x => x.Id == insigniaNoteId); .FirstOrDefaultAsync(x => x.Id == insigniaNoteId);
if (insigniaNote == null) if (insigniaNote == null)