editDeck method

void editDeck(
  1. String deckName,
  2. int operacao,
  3. Flashcard card,
  4. {Flashcard replaceCard}
)

Edita um deck da coleção, podendo remover, adicionar ou modificar um flashcard

Implementation

void editDeck(String deckName, int operacao, Flashcard card,
    {Flashcard replaceCard}) {
  int index = findDeck(deckName);

  // Se o deck existe, então...
  if (index >= 0) {
    switch (operacao) {
      // Remover flashcard
      case REMOVER:
        if (this.decks[index].checkContains(card)) {
          this.decks[index].removeCard(card);
        }
        break;

      // Inserir flashcard
      case INSERIR:
        this.decks[index].insertCard(card);
        break;

      // Modificar flashcard
      case MODIFICAR:
        if (this.decks[index].checkContains(card)) {
          if (replaceCard != null) {
            this.decks[index].removeCard(card);
            this.decks[index].insertCard(replaceCard);
          }
        }
        break;
    }
  }
  notifyListeners();
}