handleAggiungiLibro method

  1. @override
String? handleAggiungiLibro()
override

Gestisce il click del pulsante "Aggiungi" nella schermata di aggiunta manuale dei libri. Consente l'aggiunta di nuovi libri o la modifica di libri esistenti.

Implementation

@override
String? handleAggiungiLibro() {
  _getFromFields();

  if (!controllaCampiObbligatori()) {
    return null; // Se i campi non sono validi, esco direttamente
  }

  final avviso = controllaCampiFacoltativi();

  Libro nuovoLibro = Libro(
    titolo: titolo,
    autori: autori,
    numeroPagine: numeroPagine,
    genere: genere,
    lingua: lingua,
    trama: trama,
    isbn: isbn,
    dataPubblicazione: dataPubblicazione,
    voto: voto,
    copertina: copertina,
    note: note,
    stato: stato,
    preferito: isPreferito,
  );

  if (_libroDaModificare != null) {
    // Se il libro da modificare é presente, lo aggiorno
    _libreria.modificaLibro(_libroDaModificare!, nuovoLibro);
  } else {
    // Altrimenti lo aggiungo come nuovo libro
    _libreria.aggiungiLibro(nuovoLibro);
  }

  return avviso;
}