From 7de2ea21a882680a08a9289995fe82913f0d8362 Mon Sep 17 00:00:00 2001 From: Haverinen Elias Viljami <elias.v.haverinen@student.jyu.fi> Date: Wed, 26 Mar 2025 14:09:09 +0200 Subject: [PATCH] =?UTF-8?q?Nyt=20n=C3=A4ytt=C3=A4isi=20toimivan=20oikeelli?= =?UTF-8?q?suustarkastus=20vuoroja=20luodessa=20ja=20muokatessa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LisaaMuokkaaVuoroGUIController.java | 63 ++++++++++++++++--- .../src/vuororekisteri/Vuorot.java | 1 - .../src/vuororekisteri/test/LajiTest.java | 2 +- .../test/VuororekisteriTest.java | 2 +- .../src/vuororekisteri/test/VuorotTest.java | 6 +- 5 files changed, 59 insertions(+), 15 deletions(-) diff --git a/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java b/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java index 09df7c9..46fd15e 100644 --- a/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java +++ b/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java @@ -93,6 +93,30 @@ public class LisaaMuokkaaVuoroGUIController implements ModalControllerInterface< } + /** + * Tässä tarkistetaan että ei ole tölläistä vuoroa jo olemassa, eikä ajat ole älyttömät ja pitää olla laji olemassa + * @return palauttaa true jos menee tarkastuksesta läpi false muuten + */ + public boolean tarkistaVuoro(TextField aika, TextField laji, TextField sijainti, TextField taso) { + + double alkuaika = Double.parseDouble(String.valueOf(textAika.getText())); + if ( !(alkuaika >= 0.0 && alkuaika <= 24.0) ) return false; + + Laji laji2 = vuororekisteri.haeLajiVuorolle(textLaji.getText(), textSijainti.getText(), textTaso.getText()); + if ( laji2 == null ) return false; + else { + int lajinid = laji2.getId(); + for (int i = 0; i < vuororekisteri.getVuoroja(); i++) { + Vuoro vuoro2 = vuororekisteri.annaVuoro(i); + if (vuoro2.getLajiID() == lajinid && vuoro2.getAlkuaika() == alkuaika) { + return false; + } + } + } + + return true; + } + /** * Kun painetaan nappia tallenna niin vuoro rekisteröidään eli sille annetaan id @@ -106,33 +130,54 @@ public class LisaaMuokkaaVuoroGUIController implements ModalControllerInterface< if (muokattava == null) { this.vuoro = new Vuoro(); - // vuoro.rekisteroiVuoro(); + if (textLaji.getText().isEmpty() || textSijainti.getText().isEmpty() || textTaso.getText().isEmpty() || textAika.getText().isEmpty()) { - vuoro.rekisteroiVuoro(); - vuoro.asetaTesti(); - } else { + if (tarkistaVuoro(aika, laji, sijainti, taso) == false) { + Dialogs.showMessageDialog("tällänen vuoro on jo olemassa"); + } + else { + vuoro.rekisteroiVuoro(); + vuoro.asetaTesti(); + } + } + else { Laji lajiVuoroon = vuororekisteri.haeLajiVuorolle(textLaji.getText(), textSijainti.getText(), textTaso.getText()); if (lajiVuoroon == null) { Dialogs.showMessageDialog("ei ole tuollasta lajia olemassa"); } else { - vuoro.rekisteroiVuoro(); - vuoro.asetaTesti(lajiVuoroon.getId(), lajiVuoroon.getNimi(), lajiVuoroon.getSijainti(), lajiVuoroon.getTaso(), aika.getText()); + if (tarkistaVuoro(aika, laji, sijainti, taso) == false) { + Dialogs.showMessageDialog("Tarkista alkuaika, ethän yrittänyt tehdä jo olemassa olevaa vuoroa"); + } + else { + vuoro.rekisteroiVuoro(); + vuoro.asetaTesti(lajiVuoroon.getId(), lajiVuoroon.getNimi(), lajiVuoroon.getSijainti(), lajiVuoroon.getTaso(), aika.getText()); + } } } } else { - // int vuoroId = Integer.parseInt(Mjonot.erota(muokattava, ' ')); + + int n = 0; for (int i = 0; i < vuororekisteri.getVuoroja(); i++) { Vuoro vuoro1 = vuororekisteri.annaVuoro(i); if ( vuoro1.getVuoroID() == vuoroId ) { - vuoro1.muokkaaVuoroa(String.valueOf(textAika.getText())); + // Laji laji2 = vuororekisteri.lajiIdPerusteella(vuoro1.getLajiID()); + if (tarkistaVuoro(textAika, textLaji, textSijainti, textTaso) == false) { + Dialogs.showMessageDialog("Tälläien vuoro on jo olemassa, valitse joku toinen aika"); + } + else { + vuoro1.muokkaaVuoroa(String.valueOf(textAika.getText())); + } } + + } - } + } + // Dialogs.showMessageDialog("Tälläien vuoro on jo olemassa, valitse joku toinen aika"); ModalController.closeStage(buttonTallenna); } diff --git a/varausrekisteri/src/vuororekisteri/Vuorot.java b/varausrekisteri/src/vuororekisteri/Vuorot.java index df21cfa..45b637e 100644 --- a/varausrekisteri/src/vuororekisteri/Vuorot.java +++ b/varausrekisteri/src/vuororekisteri/Vuorot.java @@ -122,7 +122,6 @@ public class Vuorot { * vuorot.lisaaVuoro(vuoro1); * vuorot.lisaaVuoro(vuoro2); * vuorot.lisaaVuoro(vuoro3); - * * } catch ( SailoException ex ) { * System.out.println(ex.getMessage()); diff --git a/varausrekisteri/src/vuororekisteri/test/LajiTest.java b/varausrekisteri/src/vuororekisteri/test/LajiTest.java index ac42efb..618e40f 100644 --- a/varausrekisteri/src/vuororekisteri/test/LajiTest.java +++ b/varausrekisteri/src/vuororekisteri/test/LajiTest.java @@ -8,7 +8,7 @@ import static vuororekisteri.Laji.*; /** * Test class made by ComTest - * @version 2025.03.25 18:45:05 // Generated by ComTest + * @version 2025.03.26 10:08:32 // Generated by ComTest * */ @SuppressWarnings({ "PMD" }) diff --git a/varausrekisteri/src/vuororekisteri/test/VuororekisteriTest.java b/varausrekisteri/src/vuororekisteri/test/VuororekisteriTest.java index 37b6407..2a7db3a 100644 --- a/varausrekisteri/src/vuororekisteri/test/VuororekisteriTest.java +++ b/varausrekisteri/src/vuororekisteri/test/VuororekisteriTest.java @@ -7,7 +7,7 @@ import vuororekisteri.*; /** * Test class made by ComTest - * @version 2025.03.25 18:37:12 // Generated by ComTest + * @version 2025.03.26 10:10:14 // Generated by ComTest * */ @SuppressWarnings({ "PMD" }) diff --git a/varausrekisteri/src/vuororekisteri/test/VuorotTest.java b/varausrekisteri/src/vuororekisteri/test/VuorotTest.java index 559f587..42ad32d 100644 --- a/varausrekisteri/src/vuororekisteri/test/VuorotTest.java +++ b/varausrekisteri/src/vuororekisteri/test/VuorotTest.java @@ -7,7 +7,7 @@ import vuororekisteri.*; /** * Test class made by ComTest - * @version 2025.03.25 18:45:56 // Generated by ComTest + * @version 2025.03.26 10:08:12 // Generated by ComTest * */ @SuppressWarnings({ "PMD" }) @@ -54,7 +54,7 @@ public class VuorotTest { } catch ( SailoException ex ) { System.out.println(ex.getMessage()); } - assertEquals("From: Vuorot line: 131", 2, vuorot.annaVuoro(1).getLajiID()); - assertEquals("From: Vuorot line: 132", 18.0, vuorot.annaVuoro(0).getAlkuaika(), 0.000001); + assertEquals("From: Vuorot line: 130", 2, vuorot.annaVuoro(1).getLajiID()); + assertEquals("From: Vuorot line: 131", 18.0, vuorot.annaVuoro(0).getAlkuaika(), 0.000001); } // Generated by ComTest END } \ No newline at end of file -- GitLab