Saltearse al contenido

EventProvider

Provider para gestionar todo lo referente a los eventos: carga de detalles, fechas, invitaciones y control de asistencia.

Importación

import 'package:togie/providers/event_provider.dart';

Métodos

MétodoDescripción
checkEventTabControllerLength()Configura el TabController en función de las pestañas activadas.
init({required TickerProvider vsync, required String eventId, DateTime? dateOfEvent})Inicializa el proveedor cargando los detalles del evento, sus fechas y, dependiendo de la fecha especificada, obtiene eventos o invitaciones.
getInvitations()Obtiene la lista de invitaciones para el evento filtradas por la fecha seleccionada y activa la pestaña de invitados.
onSubmit(int tickets)Envía la solicitud de asistencia al evento con la cantidad de boletos especificada, validando la selección de fecha y tickets.
cancelParticipation()Cancela la participación en el evento enviando una solicitud de eliminación a la API y retorna un valor booleano que indica el éxito de la operación.

Propoiedades

PropiedadTipoDescripción
hasEventTabControllerboolIndica si el controlador de pestañas está inicializado.
eventTabControllerTabController?Controlador de pestañas para gestionar las vistas relacionadas al evento.
posibleEventEvent?Retorna el evento posible (seleccionado provisionalmente).
selectedEventEventEvento actualmente seleccionado. Se actualiza con los detalles obtenidos de la API.
selectedDateEventDate?Fecha seleccionada para el evento.
confirmedEventsList< Event>Lista de eventos confirmados asociados al ID del evento.
registeredInvitationsintTotal de invitados registrados, calculado a partir de la lista de invitaciones.
invitationsListList< Invitation>Lista de invitaciones asociadas al evento.
newInvitationInfoInvitationInfo?Información de una nueva invitación.
expecifiedDateDateTime?Fecha especificada para filtrar las fechas del evento.
isAllLoadingboolIndica si se está cargando la información general del evento.
isInfoLoadingboolIndica si se están cargando los detalles del evento.
errorMessageStringMensaje de error en caso de fallos al cargar los datos del evento.
isDatesLoadingboolIndica si se están cargando las fechas del evento.
isMyEventsLoadingboolIndica si se están cargando los eventos asociados al usuario.
isMyGuestsLoadingboolIndica si se están cargando las invitaciones o invitados del evento.
showMyEventsTabboolControla la visualización de la pestaña de eventos del usuario.
showMyGuestsTabboolControla la visualización de la pestaña de invitados.
eventDatesList< EventDate>Lista de fechas del evento, derivadas de los detalles del evento.
example.dart
EventProvider eventProvider = context.read<EventProvider>();
eventProvider.init();