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étodo | Descripció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
| Propiedad | Tipo | Descripción |
|---|
hasEventTabController | bool | Indica si el controlador de pestañas está inicializado. |
eventTabController | TabController? | Controlador de pestañas para gestionar las vistas relacionadas al evento. |
posibleEvent | Event? | Retorna el evento posible (seleccionado provisionalmente). |
selectedEvent | Event | Evento actualmente seleccionado. Se actualiza con los detalles obtenidos de la API. |
selectedDate | EventDate? | Fecha seleccionada para el evento. |
confirmedEvents | List< Event> | Lista de eventos confirmados asociados al ID del evento. |
registeredInvitations | int | Total de invitados registrados, calculado a partir de la lista de invitaciones. |
invitationsList | List< Invitation> | Lista de invitaciones asociadas al evento. |
newInvitationInfo | InvitationInfo? | Información de una nueva invitación. |
expecifiedDate | DateTime? | Fecha especificada para filtrar las fechas del evento. |
isAllLoading | bool | Indica si se está cargando la información general del evento. |
isInfoLoading | bool | Indica si se están cargando los detalles del evento. |
errorMessage | String | Mensaje de error en caso de fallos al cargar los datos del evento. |
isDatesLoading | bool | Indica si se están cargando las fechas del evento. |
isMyEventsLoading | bool | Indica si se están cargando los eventos asociados al usuario. |
isMyGuestsLoading | bool | Indica si se están cargando las invitaciones o invitados del evento. |
showMyEventsTab | bool | Controla la visualización de la pestaña de eventos del usuario. |
showMyGuestsTab | bool | Controla la visualización de la pestaña de invitados. |
eventDates | List< EventDate> | Lista de fechas del evento, derivadas de los detalles del evento. |
EventProvider eventProvider = context.read<EventProvider>();