diff --git a/kBorrow.ucls b/kBorrow.ucls new file mode 100644 index 0000000..bc111b9 --- /dev/null +++ b/kBorrow.ucls @@ -0,0 +1,368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/jdatepicker-1.3.4.jar b/lib/jdatepicker-1.3.4.jar new file mode 100644 index 0000000..a716259 Binary files /dev/null and b/lib/jdatepicker-1.3.4.jar differ diff --git a/src/de/katho/kBorrow/controller/ArticleController.java b/src/de/katho/kBorrow/controller/ArticleController.java new file mode 100644 index 0000000..153009a --- /dev/null +++ b/src/de/katho/kBorrow/controller/ArticleController.java @@ -0,0 +1,73 @@ +package de.katho.kBorrow.controller; + +import de.katho.kBorrow.db.DbConnector; +import de.katho.kBorrow.models.ArticleModel; + +public class ArticleController { + private DbConnector dbCon; + private ArticleModel articleModel; + + public ArticleController(DbConnector pDbCon, ArticleModel pModel){ + dbCon = pDbCon; + articleModel = pModel; + } + + /** + * Erzeugt einen neuen Artikel in der Datenbank und aktualisiert die Tabelle + * + * @param pName Name des Artikels + * @param pDesc Beschreibung des Artikels + * @return 0: Artikel erfolgreich erzeugt + * 1: SQL-Fehler beim Erzeugen + * 2: Feld "Name" leer + */ + public int createArticle(String pName, String pDesc) { + int status = dbCon.createArticle(pName, pDesc); + + articleModel.updateTable(); + + return status; + } + + /** + * Ändert einen Artikel in der Datenbank und aktualisiert die Tabelle + * + * @param pId Id des Artikels, der geändert werden soll + * @param pName (Neuer) Name des Artikels + * @param pDesc (Neue) Beschreibung des Artikels + * @return 0: Artikel erfolgreich geändert + * 1: SQL-Fehler beim Erzeugen + * 2: Artikelname ist leer + */ + public int editArticle(int pId, String pName, String pDesc) { + int status = this.dbCon.editArticle(pId, pName, pDesc); + + if(status == 0){ + int row = articleModel.getRowFromId(pId); + + articleModel.getArticleByRow(row).setName(pName); + articleModel.getArticleByRow(row).setDescription(pDesc); + articleModel.fireTableRowsUpdated(row, row); + } + + return status; + } + + /** + * Löscht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle. + * + * @param id ID des Artikels, der gelöscht werden soll. + * @return true, wenn der Artikel erfolgreich gelöscht wurde. false, wenn ein Fehler aufgetreten ist. + */ + public boolean deleteArticle(int id) { + if(this.dbCon.deleteArticle(id)){ + int row = articleModel.getRowFromId(id); + articleModel.removeRow(row); + + return true; + } + + return false; + } + +} diff --git a/src/de/katho/kBorrow/controller/UserController.java b/src/de/katho/kBorrow/controller/UserController.java new file mode 100644 index 0000000..8d854b1 --- /dev/null +++ b/src/de/katho/kBorrow/controller/UserController.java @@ -0,0 +1,49 @@ +package de.katho.kBorrow.controller; + +import de.katho.kBorrow.db.DbConnector; +import de.katho.kBorrow.models.UserModel; + +public class UserController { + + private DbConnector dbCon; + private UserModel userModel; + + public UserController(DbConnector pDbCon, UserModel pModel) { + dbCon = pDbCon; + userModel = pModel; + } + + public int createUser(String pName, String pSurname){ + int status = dbCon.createUser(pName, pSurname); + + userModel.updateTable(); + + return status; + } + + public int editUser(int pId, String pName, String pSurname) { + int status = dbCon.editUser(pId, pName, pSurname); + + if(status == 0){ + int row = userModel.getRowFromId(pId); + + userModel.getUserByRow(row).setName(pName); + userModel.getUserByRow(row).setSurname(pSurname); + userModel.fireTableRowsUpdated(row, row); + } + + return status; + } + + public boolean deleteUser(int id){ + if(dbCon.deleteUser(id)){ + int row = userModel.getRowFromId(id); + + userModel.removeRow(row); + + return true; + } + return false; + } + +} diff --git a/src/de/katho/kBorrow/models/FreeArticleModel.java b/src/de/katho/kBorrow/models/FreeArticleModel.java new file mode 100644 index 0000000..2e426fb --- /dev/null +++ b/src/de/katho/kBorrow/models/FreeArticleModel.java @@ -0,0 +1,28 @@ +package de.katho.kBorrow.models; + +import de.katho.kBorrow.db.DbConnector; + +public class FreeArticleModel extends ArticleModel { + + /** + * + */ + private static final long serialVersionUID = 1908669541941834593L; + private String[] header; + + public FreeArticleModel(DbConnector pDbCon) { + super(pDbCon); + this.header = new String[] {"ID", "Artikelname", "Artikelbeschreibung", ""}; + + updateTable(); + } + + public void updateTable(){ + data = dbCon.getFreeArticleList(); + fireTableDataChanged(); + } + + public int getColumnCount(){ + return header.length; + } +}