Autolekérdezés - KTRNinjas/Car-Rental GitHub Wiki
Kéne bele néhány kép a Home-ról
Autólekérdezés
A vásárló egy adott időintervalumban kereshet a nem foglalt autok között.
Intervalumok
kezdoDATE- az intervalum kezdete/ a szürt időszak első napja
vegDATE- az intervalum vége / a szürt időszak utolsó napja
Érintett táblák
- Márka -autotipus tábla márka mezője
- Tipus -autotipus tábla tipus mezője
- Fajta -fajta táblából az autotipus táblában levő ID beazonositásával
- Kategoria -kategoria táblából az autotipus táblában levő ID beazonositásával
- Prémium díj -autotipus tábla tipus mezője
- Hajtaslanc -hajtaslanc táblából az cars táblában levő ID beazonositásával
- Evjarat -a cars tábla Evjarat mezője
- Valtotipus -valtotipus táblából az cars táblában levő ID beazonositásával
- Napi Ár- Ar tábla Ar mezője
- Összár - AutolekerdezesService.php-ben számolunk ki a arSzamolo függvénnyel az ár és a napok számánka szorzatával
Kapcsolatok
- A két fő táblaban (cars és autotipus) vannak elraktározva az egyes autok tuljadonságainak kodja amit a mellék táblákból tudunk kinyerni
- Update és deletelése esetén az adatbázis megköveteli, hogy a role megváltoztatása, vagy törlése csak akkor történhet meg, ha nem tartozik hozzá Contact
Lekérdezés szerepe
Lekérdezés fontossága és buktatoi
- A lekérdezés szerepe, hogy egyszer netudjon több vásárló úgyan azt a kocsit lefogalni.
- A vásárlok csak azokat a kocsikt lássák amik az általuk kiválaszott intervalumban elérhetőek
- Elérhetőnek akkor nevezünk egy autot ha a kivánt intervalum minden napján rendelkezésre lehet bocsáltania vevő számára és nincs kivezetve a kocsi a rendszerből
- Ha a vevő felcseréli a kezdő és vég dátumok akkor egy hiba üzenetet küld vissza a rendszer
Home oldal
- A lekérdezés a home oldalon jelenik meg kezdetben 2 input mező és egy buton segitségével a dátum bevitele után egy táblázatott kapunk amiben a lehetséges választási lehetőségek vannak és azok paraméterei
- A dátumok megváltozatássával megváltozhat az adat tábla is
Elfogadási tesztek:
- test_Home_with_KezdonagyobbMintVegDate() leteszteli hogy egy kezdődátumnál kisebb vég dátum esetén hiba üzenetet kap a lekérdező
- test_Home_with_KezdokissebbMintVegDate() tesztek itt három különböző intervalumba kérdez le a rendszer és keresi ki a lehetséges lefogalható autokat 2022.08.01-2022.08.15,2022.08.16-2022.09.10,2022.09.11-2022.09.30
Autolekerdesés Controller
- autolekerdezes_controller autolekerdezes() metódusa figyeli, hogy az home honlapon megnyomták e a keresés gombot.
- Ha megnyomták, küld egy kérést a AutolekerdezesService GetLekerdezesAutok($kedoDate, $Vegdate) metódusának, ahová a kért paramétereket a $_POST globális változóból szedi ki.
- Ha a GetLekerdezesAutok($kedoDate, $Vegdate) metódus üres tömbbel tér vissza, akkor ebben az intervalumban nincs lefoglalható auto
- Ha a GetLekerdezesAutok($kedoDate, $Vegdate) metodus nem üres tömbbel tér vissza, akkor kinyomtat egy táblázatott elöször a Autolekerdezesfejlec() a fejlécet majd a AutolekerdezesBody() a táblázat törzsét az autok adataival.
- Autolekerdezesfejlec: szerepe a lekérdezett autok táblázat fejlécének létrehozása ami 10 mezőt hoz létre
- AutolekerdezesBody: szerepe a lekérdezett adatok táblázatba való rendezésének a szerepe
- autolekerdezes: meghivja az AutolekerdezesBody függvénzt
Autolekerdezes Service:
- meghivodik az GetLekerdezesAutok függvény ami a $kezdoDATE, $vegDATE addatok tovább adja az AutoLekredezesDAO.php adatokat, meghivja a arSzamolo függvényt
- arSzamolo kiszámolja az összárat a napiár a kezdoDATE és a VegDATE segitségével és visszakldi azt.
Autolekéredes DAO:
LekerdezesAutok_kivantIntervalumba() lekérdezis az adatábisból azokat az táblákat és ellemeket amik megfelelnek a paramétereknek. 0