using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MTWorkHR.Application.Filters; using MTWorkHR.Application.Identity; using MTWorkHR.Application.Models; using MTWorkHR.Application.Services.Interfaces; using MTWorkHR.Identity.Services; namespace MTWorkHR.API.Controllers { [Route("api/[controller]")] [ApiController] [AppAuthorize] public class OrderRequestController : ControllerBase { private readonly IOrderRequestService _LeaveRequestService; public OrderRequestController(IOrderRequestService UserLeaveRequestService) { this._LeaveRequestService = UserLeaveRequestService; } [HttpGet("GetAll")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task>> GetAll([FromQuery] OrderPagingInputDto pagingInput) { return Ok(await _LeaveRequestService.GetAll(pagingInput)); } [HttpGet("Get")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task> Get(long OrderRequestId) { return Ok(await _LeaveRequestService.GetById(OrderRequestId)); } [HttpPost("Create")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task> Create([FromBody] OrderRequestDto input) { return await _LeaveRequestService.Create(input); } [HttpPost("Update")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task> Update([FromBody] OrderRequestDto input) { return await _LeaveRequestService.Update(input); } [HttpDelete("Delete")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task Delete([FromQuery]long id) { await _LeaveRequestService.Delete(id); } [HttpPost("ChangeStatus")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task ChangeStatus([FromBody] OrderStatusDto input) { await _LeaveRequestService.ChangeStatus(input.OrderId, input.StatusId); } } }