Class FamiliesController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
US#4 — familias: listado, ficha y estado de cuenta. US#5 (#8485) añade el alta atómica (POST /families, POST /families/{id}/students) — el resto de la frontera sigue vigente.
[ApiController]
[Route("api/academies/families")]
[Authorize]
[RequireModule("ACADEMY")]
public class FamiliesController : ControllerBase
- Inheritance
-
objectControllerBaseFamiliesController
Constructors
FamiliesController(IMediator)
public FamiliesController(IMediator mediator)
Parameters
mediatorIMediator
Methods
AddStudent(Guid, StudentBody, CancellationToken)
US#5 — "Inscribir alumno adicional" desde la ficha de familia (pestaña Alumnos).
[HttpPost("{id:guid}/students")]
[Authorize(Policy = "ACADEMY_STUDENTS_CREATE")]
public Task<IActionResult> AddStudent(Guid id, StudentBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyStudentBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
AddTutor(Guid, AddTutorBody, CancellationToken)
US#9021 — agrega un tutor a una familia ya existente (ficha de familia).
[HttpPost("{id:guid}/tutors")]
[Authorize(Policy = "ACADEMY_FAMILIES_UPDATE")]
public Task<IActionResult> AddTutor(Guid id, AddTutorBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyAddTutorBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Create(CreateFamilyBody, CancellationToken)
CA1/CA6 — US#5: alta atómica de familia + tutor + N alumnos con su expediente completo.
[HttpPost]
[Authorize(Policy = "ACADEMY_FAMILIES_CREATE")]
public Task<IActionResult> Create(CreateFamilyBody body, CancellationToken cancellationToken)
Parameters
bodyCreateFamilyBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetAll(PaginatorRequestDto, bool, CancellationToken)
[HttpGet]
[Authorize(Policy = "ACADEMY_FAMILIES_VIEW")]
public Task<IActionResult> GetAll(PaginatorRequestDto paginator, bool overdueOnly, CancellationToken cancellationToken)
Parameters
paginatorPaginatorRequestDtooverdueOnlyboolcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
[HttpGet("{id:guid}")]
[Authorize(Policy = "ACADEMY_FAMILIES_VIEW_DETAIL")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetStatement(Guid, CancellationToken)
[HttpGet("{id:guid}/statement")]
[Authorize(Policy = "ACADEMY_FAMILIES_ACCOUNT_VIEW")]
public Task<IActionResult> GetStatement(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
SendReminder(Guid, SendReminderBody?, CancellationToken)
[HttpPost("{id:guid}/reminder")]
[Authorize(Policy = "ACADEMY_FAMILIES_SEND_REMINDER")]
public Task<IActionResult> SendReminder(Guid id, SendReminderBody? body, CancellationToken cancellationToken)
Parameters
idGuidbodySendReminderBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
Update(Guid, UpdateFamilyBody, CancellationToken)
[HttpPut("{id:guid}")]
[Authorize(Policy = "ACADEMY_FAMILIES_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateFamilyBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyUpdateFamilyBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>