controllaCampiObbligatori method

  1. @override
bool controllaCampiObbligatori()
override

Controlla la validità dei campi del libro prima di aggiungerlo o modificarlo. Verifica che non esista già un libro con lo stesso ISBN in libreria. Restituisce true se i campi sono validi, altrimenti lancia un'eccezione.

Implementation

@override
bool controllaCampiObbligatori() {
  // chiamo il metodo del padre
  bool status = super.controllaCampiObbligatori();

  if (_isEditable) {
    // Modalitá modifica
    if (isbn != _libroDaModificare!.isbn) {
      // Se il nuovo ISBN è diverso, verifico che non esista già un libro con quel ISBN
      if (_libreria.cercaLibroPerIsbn(isbn) != null) {
        status = false;
        throw Exception(
          "Il libro con questo ISBN è già presente in libreria",
        );
      }
    }
  } else {
    // Modalitá aggiunta
    if (_libreria.cercaLibroPerIsbn(isbn) != null) {
      status = false;
      throw Exception("Il libro con questo ISBN è già presente in libreria");
    }
  }

  return status;
}