fg
This commit is contained in:
@@ -186,4 +186,32 @@ class TicketFormCubit extends Cubit<TicketFormState> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// 5.1 SALVATAGGIO SILENZIOSO (Per generare il QR Code al volo)
|
||||
Future<String?> saveTicketDraft() async {
|
||||
// Non mettiamo lo stato 'saving' per non far sfarfallare tutta la UI,
|
||||
// usiamo un caricamento invisibile.
|
||||
try {
|
||||
final ticketToSave = state.ticket;
|
||||
|
||||
if (ticketToSave.customerId == null || ticketToSave.customerId!.isEmpty) {
|
||||
throw Exception("Seleziona un cliente prima di poter usare il QR.");
|
||||
}
|
||||
|
||||
final savedTicket = await _repository.saveTicket(ticketToSave);
|
||||
|
||||
// Aggiorniamo silenziosamente lo stato con il ticket che ora ha un ID!
|
||||
emit(state.copyWith(ticket: savedTicket, status: TicketFormStatus.ready));
|
||||
|
||||
return savedTicket.id;
|
||||
} catch (e) {
|
||||
emit(
|
||||
state.copyWith(
|
||||
status: TicketFormStatus.failure,
|
||||
errorMessage: e.toString(),
|
||||
),
|
||||
);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user