Table of Contents

Class TransfersController

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

US#12 (#8492) — Transferir alumno entre grupos. CA12: no hay flujo de aprobación, POST /transfers ejecuta de inmediato y es irreversible — la confirmación vive en el cliente.

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

Constructors

TransfersController(IMediator, ICurrentUser)

public TransfersController(IMediator mediator, ICurrentUser currentUser)

Parameters

mediator IMediator
currentUser ICurrentUser

Methods

Create(CreateTransferBody, CancellationToken)

[HttpPost]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_EXECUTE")]
public Task<IActionResult> Create(CreateTransferBody body, CancellationToken cancellationToken)

Parameters

body CreateTransferBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetCompatibleGroups(Guid, Guid, CancellationToken)

[HttpGet("compatible-groups")]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_CREATE")]
public Task<IActionResult> GetCompatibleGroups(Guid studentId, Guid fromGroupId, CancellationToken cancellationToken)

Parameters

studentId Guid
fromGroupId Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetKpis(CancellationToken)

[HttpGet("kpis")]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_VIEW")]
public Task<IActionResult> GetKpis(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<IActionResult>

GetProrationModes(CancellationToken)

[HttpGet("proration-modes")]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_VIEW_PRICING")]
public Task<IActionResult> GetProrationModes(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<IActionResult>

GetRecent(int, CancellationToken)

[HttpGet("recent")]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_VIEW_HISTORY")]
public Task<IActionResult> GetRecent(int take = 20, CancellationToken cancellationToken = default)

Parameters

take int
cancellationToken CancellationToken

Returns

Task<IActionResult>

Preview(Guid, Guid, Guid, string, Guid?, CancellationToken)

[HttpGet("preview")]
[Authorize(Policy = "ACADEMY_SECTION_TRANSFERS_VIEW_PRICING")]
public Task<IActionResult> Preview(Guid studentId, Guid fromGroupId, Guid toGroupId, string effectiveDate, Guid? prorationModeId, CancellationToken cancellationToken)

Parameters

studentId Guid
fromGroupId Guid
toGroupId Guid
effectiveDate string
prorationModeId Guid?
cancellationToken CancellationToken

Returns

Task<IActionResult>