diff --git a/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java b/varausrekisteri/src/fxVuororekisteri/LisaaMuokkaaVuoroGUIController.java index 09df7c9dcc15c7381d365b12284f51560ac20baa..46fd15eb23191c5db19a6b8144f6d9de25ffd8c7 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 df21cfa652dca2578f917e7b2d4a84129855ed2b..45b637e943ab0c4efc99acedf24cc7f4bbee8489 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 ac42efb6cd0042740d8266f56c6a5f73e021c306..618e40fdf4987ffd1b22c83854c3747975928a08 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 37b6407357e957ee89552f1c54734089882e8f1d..2a7db3a395bff3fd56b974faa090664488d0b73a 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 559f587e4fe5ac8b297d46f0683d9d8348ec7644..42ad32db9ccd2e674d26c07e2df59c63040a9c8d 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