using Application.Features.InventoryTransactionManager.Commands; using Application.Features.InventoryTransactionManager.Queries; using ASPNET.BackEnd.Common.Base; using ASPNET.BackEnd.Common.Models; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace ASPNET.BackEnd.Controllers; [Route("api/[controller]")] public class InventoryTransactionController : BaseApiController { public InventoryTransactionController(ISender sender) : base(sender) { } [Authorize] [HttpGet("GetInventoryTransactionList")] public async Task>> GetInventoryTransactionListAsync( CancellationToken cancellationToken ) { var request = new GetInventoryTransactionListRequest { }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GetInventoryTransactionListAsync)}", Content = response }); } [Authorize] [HttpGet("GetInventoryStockList")] public async Task>> GetInventoryStockListAsync( CancellationToken cancellationToken ) { var request = new GetInventoryStockListRequest { }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GetInventoryStockListAsync)}", Content = response }); } [Authorize] [HttpPost("DeliveryOrderCreateInvenTrans")] public async Task>> DeliveryOrderCreateInvenTransAsync(DeliveryOrderCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(DeliveryOrderCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("DeliveryOrderUpdateInvenTrans")] public async Task>> DeliveryOrderUpdateInvenTransAsync(DeliveryOrderUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(DeliveryOrderUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("DeliveryOrderDeleteInvenTrans")] public async Task>> DeliveryOrderDeleteInvenTransAsync(DeliveryOrderDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(DeliveryOrderDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("DeliveryOrderGetInvenTransList")] public async Task>> DeliveryOrderGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new DeliveryOrderGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(DeliveryOrderGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("SalesReturnCreateInvenTrans")] public async Task>> SalesReturnCreateInvenTransAsync(SalesReturnCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(SalesReturnCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("SalesReturnUpdateInvenTrans")] public async Task>> SalesReturnUpdateInvenTransAsync(SalesReturnUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(SalesReturnUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("SalesReturnDeleteInvenTrans")] public async Task>> SalesReturnDeleteInvenTransAsync(SalesReturnDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(SalesReturnDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("SalesReturnGetInvenTransList")] public async Task>> SalesReturnGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new SalesReturnGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(SalesReturnGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("GoodsReceiveCreateInvenTrans")] public async Task>> GoodsReceiveCreateInvenTransAsync(GoodsReceiveCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GoodsReceiveCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("GoodsReceiveUpdateInvenTrans")] public async Task>> GoodsReceiveUpdateInvenTransAsync(GoodsReceiveUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GoodsReceiveUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("GoodsReceiveDeleteInvenTrans")] public async Task>> GoodsReceiveDeleteInvenTransAsync(GoodsReceiveDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GoodsReceiveDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("GoodsReceiveGetInvenTransList")] public async Task>> GoodsReceiveGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new GoodsReceiveGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(GoodsReceiveGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("PurchaseReturnCreateInvenTrans")] public async Task>> PurchaseReturnCreateInvenTransAsync(PurchaseReturnCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PurchaseReturnCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("PurchaseReturnUpdateInvenTrans")] public async Task>> PurchaseReturnUpdateInvenTransAsync(PurchaseReturnUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PurchaseReturnUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("PurchaseReturnDeleteInvenTrans")] public async Task>> PurchaseReturnDeleteInvenTransAsync(PurchaseReturnDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PurchaseReturnDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("PurchaseReturnGetInvenTransList")] public async Task>> PurchaseReturnGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new PurchaseReturnGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PurchaseReturnGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("TransferOutCreateInvenTrans")] public async Task>> TransferOutCreateInvenTransAsync(TransferOutCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferOutCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("TransferOutUpdateInvenTrans")] public async Task>> TransferOutUpdateInvenTransAsync(TransferOutUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferOutUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("TransferOutDeleteInvenTrans")] public async Task>> TransferOutDeleteInvenTransAsync(TransferOutDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferOutDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("TransferOutGetInvenTransList")] public async Task>> TransferOutGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new TransferOutGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferOutGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("TransferInCreateInvenTrans")] public async Task>> TransferInCreateInvenTransAsync(TransferInCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferInCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("TransferInUpdateInvenTrans")] public async Task>> TransferInUpdateInvenTransAsync(TransferInUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferInUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("TransferInDeleteInvenTrans")] public async Task>> TransferInDeleteInvenTransAsync(TransferInDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferInDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("TransferInGetInvenTransList")] public async Task>> TransferInGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new TransferInGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(TransferInGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("PositiveAdjustmentCreateInvenTrans")] public async Task>> PositiveAdjustmentCreateInvenTransAsync(PositiveAdjustmentCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PositiveAdjustmentCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("PositiveAdjustmentUpdateInvenTrans")] public async Task>> PositiveAdjustmentUpdateInvenTransAsync(PositiveAdjustmentUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PositiveAdjustmentUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("PositiveAdjustmentDeleteInvenTrans")] public async Task>> PositiveAdjustmentDeleteInvenTransAsync(PositiveAdjustmentDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PositiveAdjustmentDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("PositiveAdjustmentGetInvenTransList")] public async Task>> PositiveAdjustmentGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new PositiveAdjustmentGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(PositiveAdjustmentGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("NegativeAdjustmentCreateInvenTrans")] public async Task>> NegativeAdjustmentCreateInvenTransAsync(NegativeAdjustmentCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(NegativeAdjustmentCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("NegativeAdjustmentUpdateInvenTrans")] public async Task>> NegativeAdjustmentUpdateInvenTransAsync(NegativeAdjustmentUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(NegativeAdjustmentUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("NegativeAdjustmentDeleteInvenTrans")] public async Task>> NegativeAdjustmentDeleteInvenTransAsync(NegativeAdjustmentDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(NegativeAdjustmentDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("NegativeAdjustmentGetInvenTransList")] public async Task>> NegativeAdjustmentGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new NegativeAdjustmentGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(NegativeAdjustmentGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("ScrappingCreateInvenTrans")] public async Task>> ScrappingCreateInvenTransAsync(ScrappingCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(ScrappingCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("ScrappingUpdateInvenTrans")] public async Task>> ScrappingUpdateInvenTransAsync(ScrappingUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(ScrappingUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("ScrappingDeleteInvenTrans")] public async Task>> ScrappingDeleteInvenTransAsync(ScrappingDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(ScrappingDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("ScrappingGetInvenTransList")] public async Task>> ScrappingGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new ScrappingGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(ScrappingGetInvenTransListAsync)}", Content = response }); } [Authorize] [HttpPost("StockCountCreateInvenTrans")] public async Task>> StockCountCreateInvenTransAsync(StockCountCreateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(StockCountCreateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("StockCountUpdateInvenTrans")] public async Task>> StockCountUpdateInvenTransAsync(StockCountUpdateInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(StockCountUpdateInvenTransAsync)}", Content = response }); } [Authorize] [HttpPost("StockCountDeleteInvenTrans")] public async Task>> StockCountDeleteInvenTransAsync(StockCountDeleteInvenTransRequest request, CancellationToken cancellationToken) { var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(StockCountDeleteInvenTransAsync)}", Content = response }); } [Authorize] [HttpGet("StockCountGetInvenTransList")] public async Task>> StockCountGetInvenTransListAsync( CancellationToken cancellationToken, [FromQuery] string moduleId ) { var request = new StockCountGetInvenTransListRequest { ModuleId = moduleId }; var response = await _sender.Send(request, cancellationToken); return Ok(new ApiSuccessResult { Code = StatusCodes.Status200OK, Message = $"Success executing {nameof(StockCountGetInvenTransListAsync)}", Content = response }); } }