BRS#
Logic Class Reference

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...
 

Detailed Description

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.

Definition at line 39 of file Logic.cs.

Constructor & Destructor Documentation

Logic.Logic ( IQuery  Query)

Konstruktor.

Parameters
QueryUkazatel ne nějakou třídu poskytující rozhraní IQuery, pomocí které bude probíhat komunikace s databází.

Definition at line 44 of file Logic.cs.

Member Function Documentation

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.

Returns
ID nově přidaného autobusu, 0 v případě chyby.
Parameters
Linečíslo linky autobusu.
CityFromnázev výchozího města.
CityTonázev cílového města.
LeaveTimeřetězec s časem odjezdu autobusu.
Plannázev plánu/typu autobusu.

Definition at line 422 of file Logic.cs.

uint Logic.AddBusPlan ( string  Name,
uint  Seats,
string  File 
)

Přidání nového plánu autobusu.

Přidá do databáze nový plán či typ autobusu.

Returns
ID přidaného plánu, 0 v případě chyby.
Parameters
Namenázev plánu autobusu.
Seatspočet sedadel v tomto plánu.
Filenázev textového souboru obsahujícího plán v textové formě.

Definition at line 511 of file Logic.cs.

uint Logic.AddCity ( string  CityName)

Přidání nového města.

Přidá nové město do databáze.

Returns
ID nově přidaného města, v případě neúspěchu 0.
Parameters
CityNamenázev nově přidávaného města.

Definition at line 362 of file Logic.cs.

bool Logic.AddCityAlias ( string  CityAlias,
string  CityName 
)

Přídání zkratky pro stávající město.

Returns
true při úspěchu, false jinak.
Parameters
CityAliasnová zkratka pro město.
CityNamejméno stávajícího města.

Definition at line 395 of file Logic.cs.

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.

Parameters
inputvstupní sekvence, podle které se hledají podobná města.
Citiesseznam 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.

Definition at line 681 of file Logic.cs.

void Logic.Clear ( )

Vymazání aktuálních dat.

Vymaže aktuální hodnoty jako ID aktuálního uživatele, aktuálně vybraný autobus, výchozí a cílové město z posledního hledání a čas odjezdu posledního nalezeného autobusu.

Definition at line 65 of file Logic.cs.

uint Logic.ClearBus ( )

Smazání starých autobusů.

Smaže autobusy, které již odjely.

Returns
počet smazaných autobusů.

Definition at line 621 of file Logic.cs.

uint Logic.ClearCity ( )

Smazání nepoužívaných měst.

Smaže města, do kterých ani z kterých nejezdí žádné autobusy.

Returns
počet smazaných měst.

Definition at line 641 of file Logic.cs.

uint Logic.ClearPlan ( )

Smazání nepoužívaných plánů autobusů.

Smaže neyužívané plány autobusů z databáze.

Returns
počet smazaných plánů.

Definition at line 660 of file Logic.cs.

bool Logic.Close ( uint  BusId,
out Queue< uint >  QReservedSeats,
out string  Plan,
out BusPrint  BusPrint,
out uint  Seats 
)

Uzamknutí autobusu.

Uzamkne autobus pro další rezervace a vypíše seznam obsazených sedadel.

Returns
true při úspěchu, false jinak
Parameters
BusIdčíslo autobusu.
QReservedSeatsfronta obsazených sedadel.
Planplánek autobusu.
BusPrintinformace o autobusu.
Seatspočet sedadel autobusu.

Definition at line 573 of file Logic.cs.

bool Logic.DelBus ( uint  BusId)

Smazání autobusu.

Smaže autobus podle jeho ID.

Returns
true při úspěchu, false jinak.
Parameters
BusIdID autobusu určeného ke smazání.

Definition at line 482 of file Logic.cs.

bool Logic.DelBusPlan ( string  Name)

Smazání plánu autobusu.

Smaže plán autobusu z databáze.

Returns
true při úspěchu, false jinak.
Parameters
Namejméno plánu autobusu ke smazání.

Definition at line 549 of file Logic.cs.

bool Logic.DelCity ( string  CityName)

Smazání města.

Smaže stávající město z databáze.

Returns
true při úspěchu, false jinak.
Parameters
CityNamenázev města ke smazání.

Definition at line 376 of file Logic.cs.

bool Logic.Find ( out Queue< BusPrint Buses,
string  CityFrom,
string  CityTo,
string  LeaveTime 
)

Nalezení vyhovujících autobusů.

Parameters
Busesfronta 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.
Returns
true při úspěchu, false jinak

Definition at line 81 of file Logic.cs.

Error Logic.GetLastError ( )

Zjištění případné chyby v poslední funkci.

Zjistí stav, se kterým skončila posledně volaná funkce.

Returns
chybový stav z výčtového typu Error.

Definition at line 613 of file Logic.cs.

void Logic.Init ( )

Inicializace, mj. přidělení unikátního IP novému zákazníkovi.

Definition at line 57 of file Logic.cs.

bool Logic.Next ( out Queue< BusPrint Buses)

Vypsání dalších autobusů.

Vypsání dalších autobusů. Nutná podmínka je, aby byl před tímto použit příkaz "find".

Parameters
Busesfronta nalezených autobusů k vypsání.
Returns
true při úspěchu, false jinak

Definition at line 114 of file Logic.cs.

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.

Returns
true pokud se podařilo rezervovat všechna sedadla, false jinak.
Parameters
Seatsseznam sedadel, které se podařilo rezervovat.
SeatsCountpočet sedadel k rezervaci.

Definition at line 207 of file Logic.cs.

bool Logic.ReserveAsk ( ref Queue< uint >  Seats)

Dočasná rezervace.

Zarezervuje zadaná sedadla jen na určitou dobu, poté budou automaticky uvolněna.

Returns
true pokud se podařilo rezervovat všechna sedadla, false jinak.
Parameters
Seatsseznam sedadel k rezervaci. Sedadla, která se nepovedlo rezervovat, budou z tohoto seznamu odstraněna.

Definition at line 245 of file Logic.cs.

bool Logic.ReserveForever ( ref Queue< uint >  Seats,
out uint  Id,
out BusPrint  Bus 
)

Konečná rezervace.

Definitivně zarezervuje zadaná sedadla.

Returns
true pokud se podařilo rezervovat všechna sedadla, false jinak.
Parameters
Seatsseznam sedadel k rezervaci. Sedadla, která se nepovedlo rezervovat, budou z tohoto seznamu odstraněna.
IdID uživatele, který provedl rezervaci.
Busdata o autobusu, ve kterém byla provedene rezervace.

Definition at line 274 of file Logic.cs.

bool Logic.SetBus ( uint  BusId,
out Queue< uint >  FreeSeats,
out string  Plan,
out BusPrint  Bus,
out uint  NumberSeats 
)

Nastaví aktuální autobus.

Returns
true při úspěchu, false jinak.
Parameters
BusIdID autobusu, kterého chceme nastavit jako aktivního.
FreeSeatsseznam volných sedadel nastaveného autobusu.
Planřetězec s plánkem autobusu v textové formě.
Businformace o lince.
NumberSeatscelkový počet sedadel v autobusu.

Definition at line 165 of file Logic.cs.

bool Logic.Unlock ( ref Queue< uint >  Seats)

Uvolnění sedadel.

Provede uvolnění zadaných sedadel v aktuálním autobusu s aktuálním ID uživatele.

Parameters
Seatsseznam sedadel k uvolnění, po návratu uvolněná sedadla.
Returns
true pokud se podařilo uvolnit sedadla, false jinak.

Definition at line 328 of file Logic.cs.

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.

Parameters
UserIdID uživatele, který chce zrušit svou rezervaci.
Seatsseznam sedadel k uvolnění, po návratu uvolněná sedadla.
Returns
true pokud se podařilo uvolnit sedadla, false jinak.

Definition at line 339 of file Logic.cs.

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.

Returns
true pokud se podařilo uvolnit sedadla, false jinak.
Parameters
UserIdID uživatele, který chce zrušit svou rezervaci.
Seatsseznam uvolněných sedadel.

Definition at line 306 of file Logic.cs.


The documentation for this class was generated from the following file: