Class AcademicPeriodsController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
Períodos académicos (decisiones del owner, 13/08/2026 — spec-periodo-academico):
catálogo por Tenant+Sucursal (P6) con solapamiento permitido (P5). El listado con
branchId alimenta el selector del wizard de inscripción y el filtro del hub;
el CRUD es la pantalla de administración (Master Data), mismo molde que Disciplines.
[ApiController]
[Route("api/academies/academic-periods")]
[Authorize]
[RequireModule("ACADEMY")]
public class AcademicPeriodsController : ControllerBase
- Inheritance
-
objectControllerBaseAcademicPeriodsController
Constructors
AcademicPeriodsController(IMediator)
public AcademicPeriodsController(IMediator mediator)
Parameters
mediatorIMediator
Methods
Create(CreateAcademicPeriodBody, CancellationToken)
[HttpPost]
[Authorize(Policy = "ACADEMY_ACADEMIC_PERIODS_CREATE")]
public Task<IActionResult> Create(CreateAcademicPeriodBody body, CancellationToken cancellationToken)
Parameters
bodyCreateAcademicPeriodBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(Guid?, bool?, CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_ACADEMIC_PERIODS_VIEW")]
public Task<IActionResult> GetAll(Guid? branchId, bool? isActive, CancellationToken cancellationToken)
Parameters
branchIdGuid?isActivebool?cancellationTokenCancellationToken
Returns
- Task<IActionResult>
SetActive(Guid, SetAcademicPeriodActiveBody, CancellationToken)
Toggle de IsActive (baja lógica, mismo molde que Disciplines).
[HttpPatch("{id:guid}")]
[Authorize(Policy = "ACADEMY_ACADEMIC_PERIODS_DEACTIVATE")]
public Task<IActionResult> SetActive(Guid id, SetAcademicPeriodActiveBody body, CancellationToken cancellationToken)
Parameters
idGuidbodySetAcademicPeriodActiveBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateAcademicPeriodBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_ACADEMIC_PERIODS_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateAcademicPeriodBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateAcademicPeriodBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>