de.katho.kBorrow.controller

## Class ArticleController

- java.lang.Object
- - de.katho.kBorrow.controller.ArticleController

    public class ArticleController
    extends java.lang.Object

ArticleController führt sämtliche Datenbankoperationen durch, die durch `ArticlePanel` angestoßen werden.

### Field Summary

Fields
`private DbConnector` `dbCon` Referenz auf die Datenbank
`private KArticleModel` `kArticleModel` Referenz auf das KArticleModel.

### Constructor Summary

Constructors
Constructor and Description
`ArticleController(DbConnector pDbCon, java.util.HashMap<java.lang.String,KDataModel> models)` Erzeugt eine neue Instanz des ArticleController.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `createArticle(java.lang.String pName, java.lang.String pDesc)` Erzeugt einen neuen Artikel in der Datenbank und aktualisiert die Tabelle Gibt je nach Bearbeitungsergebnis einen anderen Statuscode aus: 0: Artikel erfolgreich erzeugt.
`int` `deleteArticle(int pId)` Löscht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle.
`int` `editArticle(int pId, java.lang.String pName, java.lang.String pDesc)` Ändert einen Artikel in der Datenbank und aktualisiert die Tabelle Gibt je nach Bearbeitungsergebnis einen anderen Statuscode aus: 0: Artikel erfolgreich geändert 1: SQL-Fehler beim Erzeugen 2: Artikelname ist leer

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### dbCon

    private DbConnector dbCon

Referenz auf die Datenbank

#### kArticleModel

    private KArticleModel kArticleModel

Referenz auf das KArticleModel. Wird benötigt, um Tabellen und Listen zu aktualisieren.

### Constructor Detail

#### ArticleController

    public ArticleController(DbConnector pDbCon,
                             java.util.HashMap<java.lang.String,KDataModel> models)

Erzeugt eine neue Instanz des ArticleController.

Parameters:
  `pDbCon` - Referenz auf die Datenbank
  `models` - HashMap, die die KDataModels enthält.

### Method Detail

#### createArticle

    public int createArticle(java.lang.String pName,
                             java.lang.String pDesc)

Erzeugt einen neuen Artikel in der Datenbank und aktualisiert die Tabelle

Gibt je nach Bearbeitungsergebnis einen anderen Statuscode aus:

- 0: Artikel erfolgreich erzeugt.
- 1: SQL-Fehler beim Erzeugen.
- 2: Feld "Name" ist leer

Parameters:
  `pName` - Name des Artikels
  `pDesc` - Beschreibung des Artikels
Returns:
  Statuscode als Int.

#### editArticle

    public int editArticle(int pId,
                           java.lang.String pName,
                           java.lang.String pDesc)

Ändert einen Artikel in der Datenbank und aktualisiert die Tabelle

Gibt je nach Bearbeitungsergebnis einen anderen Statuscode aus:

- 0: Artikel erfolgreich geändert
- 1: SQL-Fehler beim Erzeugen
- 2: Artikelname ist leer

Parameters:
  `pId` - Id des Artikels, der geändert werden soll
  `pName` - (Neuer) Name des Artikels
  `pDesc` - (Neue) Beschreibung des Artikels
Returns:
  Statuscode als Int.

#### deleteArticle

    public int deleteArticle(int pId)

Löscht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle.

Gibt je nach Bearbeitungsergebnis einen anderen Statuscode aus:

- 0: Artikel konnte erfolgreich gelöscht werden.
- 1: Artikel konnte nicht gelöscht werden, unbekannter Fehler (SQL-Fehler).
- 2: Artikel konnte nicht gelöscht werden, weil er im Moment verliehen ist.

Parameters:
  `pId` - ID des Artikels, der gelöscht werden soll.
Returns:
  Statuscode als Int.