Table of Contents

Class BankMovementsController

Namespace
KadicErp.WebApi.Controllers.Accounting.Treasury
Assembly
KadicErp.WebApi.dll
[ApiController]
[Route("api/treasury/bank-movements")]
[RequireModule("ACCOUNTING")]
public class BankMovementsController : ControllerBase
Inheritance
object
ControllerBase
BankMovementsController

Constructors

BankMovementsController(IMediator)

public BankMovementsController(IMediator mediator)

Parameters

mediator IMediator

Methods

Create(CreateBankMovementCommand)

[HttpPost]
[Authorize(Policy = "TREASURY_BANK_MOVEMENTS_CREATE")]
public Task<IActionResult> Create(CreateBankMovementCommand command)

Parameters

command CreateBankMovementCommand

Returns

Task<IActionResult>

GetAll(Guid)

[HttpGet]
[Authorize(Policy = "TREASURY_BANK_MOVEMENTS_VIEW")]
public Task<IActionResult> GetAll(Guid bankAccountId)

Parameters

bankAccountId Guid

Returns

Task<IActionResult>

Post(Guid)

[HttpPost("{id:guid}/post")]
[Authorize(Policy = "TREASURY_BANK_MOVEMENTS_POST")]
public Task<IActionResult> Post(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

Search(Guid, DateOnly?, DateOnly?, int[]?, int, int)

Filtered + paged search. Prefer this over GetAll(Guid) when the caller knows a date window or status set — avoids dragging the full account history to the client.

[HttpGet("search")]
[Authorize(Policy = "TREASURY_BANK_MOVEMENTS_VIEW")]
public Task<IActionResult> Search(Guid bankAccountId, DateOnly? from, DateOnly? to, int[]? statuses, int pageNumber = 1, int pageSize = 50)

Parameters

bankAccountId Guid
from DateOnly?
to DateOnly?
statuses int[]
pageNumber int
pageSize int

Returns

Task<IActionResult>

Void(Guid)

Anula un movimiento bancario. Si estaba Posted, dispara el evento que genera automáticamente el asiento de reversión en el GL (audit Batch 1 #2).

[HttpPost("{id:guid}/void")]
[Authorize(Policy = "TREASURY_BANK_MOVEMENTS_VOID")]
public Task<IActionResult> Void(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>