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
-
objectControllerBaseCommissionsController
Constructors
CommissionsController(IMediator, ICurrentUser)
public CommissionsController(IMediator mediator, ICurrentUser currentUser)
Parameters
mediatorIMediatorcurrentUserICurrentUser
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
idGuidbodyAddCommissionAdjustmentBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Calculate(CalculateCommissionsBody, CancellationToken)
[HttpPost("calculate")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_CALCULATE")]
public Task<IActionResult> Calculate(CalculateCommissionsBody body, CancellationToken cancellationToken)
Parameters
bodyCalculateCommissionsBodycancellationTokenCancellationToken
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
periodIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetByPeriod(Guid, CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetByPeriod(Guid commissionPeriodId, CancellationToken cancellationToken)
Parameters
commissionPeriodIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetDetail(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetDetail(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetPeriods(CancellationToken)
[HttpGet("periods")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_VIEW")]
public Task<IActionResult> GetPeriods(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
- Task<IActionResult>
Settle(Guid, CancellationToken)
[HttpPost("{id:guid}/settle")]
[Authorize(Policy = "ACADEMY_COMMISSIONS_SETTLE")]
public Task<IActionResult> Settle(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
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
periodIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>