Table of Contents

Class CommissionsController

Namespace
KadicErp.WebApi.Controllers.Academy
Assembly
KadicErp.WebApi.dll

US#20 (#8500) — liquidación de comisiones de instructores. Calcular reconstruye las líneas Pending de un período abierto; liquidar marca como pagado; cerrar el período congela todo (CA4, siempre manual).

[ApiController]
[Route("api/academies/commissions")]
[Authorize]
[RequireModule("ACADEMY")]
public class CommissionsController : ControllerBase
Inheritance
object
ControllerBase
CommissionsController

Constructors

CommissionsController(IMediator, ICurrentUser)

public CommissionsController(IMediator mediator, ICurrentUser currentUser)

Parameters

mediator IMediator
currentUser ICurrentUser

Methods

AddAdjustment(Guid, AddCommissionAdjustmentBody, CancellationToken)

[HttpPost("{id:guid}/adjustments")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_ADD_ADJUSTMENT")]
public Task<IActionResult> AddAdjustment(Guid id, AddCommissionAdjustmentBody body, CancellationToken cancellationToken)

Parameters

id Guid
body AddCommissionAdjustmentBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

Calculate(CalculateCommissionsBody, CancellationToken)

[HttpPost("calculate")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_CALCULATE")]
public Task<IActionResult> Calculate(CalculateCommissionsBody body, CancellationToken cancellationToken)

Parameters

body CalculateCommissionsBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

ClosePeriod(Guid, CancellationToken)

[HttpPost("periods/{periodId:guid}/close")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_CLOSE_PERIOD")]
public Task<IActionResult> ClosePeriod(Guid periodId, CancellationToken cancellationToken)

Parameters

periodId Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetByPeriod(Guid, CancellationToken)

[HttpGet]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetByPeriod(Guid commissionPeriodId, CancellationToken cancellationToken)

Parameters

commissionPeriodId Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetDetail(Guid, CancellationToken)

[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetDetail(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetPeriods(CancellationToken)

[HttpGet("periods")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetPeriods(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<IActionResult>

Settle(Guid, CancellationToken)

[HttpPost("{id:guid}/settle")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_SETTLE")]
public Task<IActionResult> Settle(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

SettleAll(Guid, CancellationToken)

[HttpPost("periods/{periodId:guid}/settle-all")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_SETTLE_ALL")]
public Task<IActionResult> SettleAll(Guid periodId, CancellationToken cancellationToken)

Parameters

periodId Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>