สิทธิ์ ลาลงเวลา admin
This commit is contained in:
parent
048a17224b
commit
1496c1a438
3 changed files with 163 additions and 6 deletions
|
|
@ -13,6 +13,8 @@ using BMA.EHR.Leave.Service.DTOs.LeaveRequest;
|
|||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft.Json;
|
||||
using Swashbuckle.AspNetCore.Annotations;
|
||||
using System.Security.Claims;
|
||||
|
||||
|
|
@ -39,6 +41,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
private readonly HolidayRepository _holidayRepository;
|
||||
private readonly CommandRepository _commandRepository;
|
||||
private readonly UserCalendarRepository _userCalendarRepository;
|
||||
private readonly PermissionRepository _permission;
|
||||
|
||||
private const string APPROVE_STEP_CREATE = "st1";
|
||||
private const string APPROVE_STEP_OFFICER_APPROVE = "st2";
|
||||
|
|
@ -60,7 +63,8 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
MinIOLeaveService minIOService,
|
||||
HolidayRepository holidayRepository,
|
||||
CommandRepository commandRepository,
|
||||
UserCalendarRepository userCalendarRepository)
|
||||
UserCalendarRepository userCalendarRepository,
|
||||
PermissionRepository permission)
|
||||
{
|
||||
_context = context;
|
||||
_httpContextAccessor = httpContextAccessor;
|
||||
|
|
@ -73,6 +77,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
_holidayRepository = holidayRepository;
|
||||
_commandRepository = commandRepository;
|
||||
_userCalendarRepository = userCalendarRepository;
|
||||
_permission = permission;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
@ -1088,6 +1093,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
public async Task<ActionResult<ResponseObject>> GetLeaveRequestForAdminAsync(
|
||||
[FromBody] GetLeaveRequestForAdminDto req)
|
||||
{
|
||||
var getPermission = await _permission.GetPermissionAPIAsync("LIST", "SYS_LEAVE_LIST");
|
||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||
if (jsonData["status"]?.ToString() != "200")
|
||||
{
|
||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||
}
|
||||
var rawData = await _leaveRequestRepository.GetLeaveRequestForAdminAsync(req.Year, req.Type, req.Status, req.StartDate, req.EndDate);
|
||||
|
||||
var result = new List<GetLeaveRequestForAdminResultDto>();
|
||||
|
|
@ -1343,6 +1354,12 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> OfficerApproveLeaveRequestAsync(Guid id)
|
||||
{
|
||||
var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_LIST");
|
||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||
if (jsonData["status"]?.ToString() != "200")
|
||||
{
|
||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||
}
|
||||
await _leaveRequestRepository.OfficerApproveLeaveRequest(id);
|
||||
|
||||
return Success();
|
||||
|
|
@ -1442,6 +1459,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetLeaveRequestForAdminByIdAsync(Guid id)
|
||||
{
|
||||
var getPermission = await _permission.GetPermissionAPIAsync("GET", "SYS_LEAVE_LIST");
|
||||
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
|
||||
if (jsonData["status"]?.ToString() != "200")
|
||||
{
|
||||
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
|
||||
}
|
||||
|
||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||
|
||||
var rawData = await _leaveRequestRepository.GetByIdAsync(id);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue