|
BRS#
|
Třída na převod uživatelských dotazů na dotazy pro databázi. More...
Public Member Functions | |
| Logic (IQuery Query) | |
| Konstruktor. More... | |
| void | Init () |
| Inicializace, mj. přidělení unikátního IP novému zákazníkovi. More... | |
| void | Clear () |
| Vymazání aktuálních dat. More... | |
| bool | Find (out Queue< BusPrint > Buses, string CityFrom, string CityTo, string LeaveTime) |
| Nalezení vyhovujících autobusů. More... | |
| bool | Next (out Queue< BusPrint > Buses) |
| Vypsání dalších autobusů. More... | |
| bool | SetBus (uint BusId, out Queue< uint > FreeSeats, out string Plan, out BusPrint Bus, out uint NumberSeats) |
| Nastaví aktuální autobus. More... | |
| bool | ReserveAsk (out Queue< uint > Seats, uint SeatsCount) |
| Dočasná rezervace. More... | |
| bool | ReserveAsk (ref Queue< uint > Seats) |
| Dočasná rezervace. More... | |
| bool | ReserveForever (ref Queue< uint > Seats, out uint Id, out BusPrint Bus) |
| Konečná rezervace. More... | |
| bool | UnlockAll (uint UserId, out Queue< uint > Seats) |
| Uvolnění sedadel. More... | |
| bool | Unlock (ref Queue< uint > Seats) |
| Uvolnění sedadel. More... | |
| bool | Unlock (uint UserId, ref Queue< uint > Seats) |
| Uvolnění sedadel. More... | |
| uint | AddCity (string CityName) |
| Přidání nového města. More... | |
| bool | DelCity (string CityName) |
| Smazání města. More... | |
| bool | AddCityAlias (string CityAlias, string CityName) |
| Přídání zkratky pro stávající město. More... | |
| uint | AddBus (uint Line, string CityFrom, string CityTo, string LeaveTime, string Plan) |
| Přidání nového autobusu. More... | |
| bool | DelBus (uint BusId) |
| Smazání autobusu. More... | |
| uint | AddBusPlan (string Name, uint Seats, string File) |
| Přidání nového plánu autobusu. More... | |
| bool | DelBusPlan (string Name) |
| Smazání plánu autobusu. More... | |
| bool | Close (uint BusId, out Queue< uint > QReservedSeats, out string Plan, out BusPrint BusPrint, out uint Seats) |
| Uzamknutí autobusu. More... | |
| Error | GetLastError () |
| Zjištění případné chyby v poslední funkci. More... | |
| uint | ClearBus () |
| Smazání starých autobusů. More... | |
| uint | ClearCity () |
| Smazání nepoužívaných měst. More... | |
| uint | ClearPlan () |
| Smazání nepoužívaných plánů autobusů. More... | |
| void | City (string input, out List< KeyValuePair< string, string >> Cities) |
| Vypsání existujících měst. More... | |
Třída na převod uživatelských dotazů na dotazy pro databázi.
Třída zajišťuje převod dotazu uživatele na dotazy pro databázi a případné nastavení chybové hodnoty pro všechny nepovolené vstupy.
Chybové kódy po každém příkazu si můžeme zjistit voláním GetLastError().
Pamatuje si předtím uživatelem zadané hodnoty a tím umožňuje používat jednodušší a snáze zapamatovatelné příkazy.
| Logic.Logic | ( | IQuery | Query | ) |
| uint Logic.AddBus | ( | uint | Line, |
| string | CityFrom, | ||
| string | CityTo, | ||
| string | LeaveTime, | ||
| string | Plan | ||
| ) |
Přidání nového autobusu.
Přidá nový autobus do databáze.
| Line | číslo linky autobusu. |
| CityFrom | název výchozího města. |
| CityTo | název cílového města. |
| LeaveTime | řetězec s časem odjezdu autobusu. |
| Plan | název plánu/typu autobusu. |
| uint Logic.AddBusPlan | ( | string | Name, |
| uint | Seats, | ||
| string | File | ||
| ) |
| uint Logic.AddCity | ( | string | CityName | ) |
| bool Logic.AddCityAlias | ( | string | CityAlias, |
| string | CityName | ||
| ) |
| void Logic.City | ( | string | input, |
| out List< KeyValuePair< string, string >> | Cities | ||
| ) |
Vypsání existujících měst.
Vypíše existující města z databáze.
| input | vstupní sekvence, podle které se hledají podobná města. |
| Cities | seznam nalezených měst. Názvy měst mají druhý string prázdný, aliasy jsou v druhém stringu a v prvním je i opravdový název města. |
| void Logic.Clear | ( | ) |
| uint Logic.ClearBus | ( | ) |
| uint Logic.ClearCity | ( | ) |
| uint Logic.ClearPlan | ( | ) |
| bool Logic.Close | ( | uint | BusId, |
| out Queue< uint > | QReservedSeats, | ||
| out string | Plan, | ||
| out BusPrint | BusPrint, | ||
| out uint | Seats | ||
| ) |
| bool Logic.DelBus | ( | uint | BusId | ) |
| bool Logic.DelBusPlan | ( | string | Name | ) |
| bool Logic.DelCity | ( | string | CityName | ) |
| bool Logic.Find | ( | out Queue< BusPrint > | Buses, |
| string | CityFrom, | ||
| string | CityTo, | ||
| string | LeaveTime | ||
| ) |
Nalezení vyhovujících autobusů.
| Buses | fronta nalezených autobusů k vypsání. |
| CityFrom | řetězec s názvem výchozího města. |
| CityTo | řetězec s názvem cílového města. |
| LeaveTime | řetězec s časem, od kterého dál se má v databáti vyhledávat. |
| Error Logic.GetLastError | ( | ) |
| void Logic.Init | ( | ) |
| bool Logic.Next | ( | out Queue< BusPrint > | Buses | ) |
| bool Logic.ReserveAsk | ( | out Queue< uint > | Seats, |
| uint | SeatsCount | ||
| ) |
Dočasná rezervace.
Zarezervuje zadaný počet sedadel jen na určitou dobu, poté budou automaticky uvolněna.
| Seats | seznam sedadel, které se podařilo rezervovat. |
| SeatsCount | počet sedadel k rezervaci. |
| bool Logic.ReserveAsk | ( | ref Queue< uint > | Seats | ) |
Dočasná rezervace.
Zarezervuje zadaná sedadla jen na určitou dobu, poté budou automaticky uvolněna.
| Seats | seznam sedadel k rezervaci. Sedadla, která se nepovedlo rezervovat, budou z tohoto seznamu odstraněna. |
| bool Logic.ReserveForever | ( | ref Queue< uint > | Seats, |
| out uint | Id, | ||
| out BusPrint | Bus | ||
| ) |
Konečná rezervace.
Definitivně zarezervuje zadaná sedadla.
| Seats | seznam sedadel k rezervaci. Sedadla, která se nepovedlo rezervovat, budou z tohoto seznamu odstraněna. |
| Id | ID uživatele, který provedl rezervaci. |
| Bus | data o autobusu, ve kterém byla provedene rezervace. |
| bool Logic.SetBus | ( | uint | BusId, |
| out Queue< uint > | FreeSeats, | ||
| out string | Plan, | ||
| out BusPrint | Bus, | ||
| out uint | NumberSeats | ||
| ) |
Nastaví aktuální autobus.
| bool Logic.Unlock | ( | ref Queue< uint > | Seats | ) |
| bool Logic.Unlock | ( | uint | UserId, |
| ref Queue< uint > | Seats | ||
| ) |
Uvolnění sedadel.
Provede uvolnění zadaných sedadel v aktuálním autobusu se zadaným ID uživatele.
| UserId | ID uživatele, který chce zrušit svou rezervaci. |
| Seats | seznam sedadel k uvolnění, po návratu uvolněná sedadla. |
| bool Logic.UnlockAll | ( | uint | UserId, |
| out Queue< uint > | Seats | ||
| ) |
Uvolnění sedadel.
Provede uvolnění zadaných sedadel v aktuálním autobusu s aktuálním ID uživatele. Užitečné zejména pro uvolnění dočasně rezervovaných sedadel při nepotvrzení rezervace.
| UserId | ID uživatele, který chce zrušit svou rezervaci. |
| Seats | seznam uvolněných sedadel. |