BRS#
IQuery Interface Reference

Klientské rozhraní mezi databází a zbytkem programu. More...

Inheritance diagram for IQuery:
ClientProcess MemoryDb

Public Member Functions

uint AddCity (string Name)
 přidání města. More...
 
bool AddCityAlias (string Name, uint Id)
 přidání zkratky k nějakému existujícímu městu. More...
 
bool DeleteCity (string Name)
 smazání města podle jména. More...
 
uint FindCity (string Name)
 nalezení města podle názvu. More...
 
bool CityInfo (uint City, out CityInfo Info, out uint LinesOut, out uint LinesIn)
 získání informací o městě. More...
 
uint AddBusPlan (string Name, uint Seats, string Data)
 přidání plánu autobusu. More...
 
bool DeleteBusPlan (string Name)
 smazání plánu autobusu. More...
 
uint FindBusPlan (string Name)
 nalezení plánu autobusu. More...
 
bool BusPlanInfo (uint Plan, out PlanInfo Info, out uint Buses, out string Data)
 získání informací o plánu. More...
 
uint AddBus (BusInfo Bus)
 přidání autobusu. More...
 
bool DeleteBus (uint Bus)
 smazání autobusu. More...
 
uint FindBus (uint From, uint To, DateTime LeaveTime)
 nalezení autobusu. More...
 
bool BusInfo (uint uiBus, out BusInfo Info, out bool Enabled, out uint Seats, out Queue< uint > FreeSeats)
 získání informací o autobusu. More...
 
bool EnableBus (uint Bus)
 povolení autobusu. More...
 
bool DisableBus (uint Bus)
 zakázání autobusu. More...
 
uint NewCustomer ()
 unikátní ID pro nového zákazníka. More...
 
bool AskSeats (uint Bus, ref Queue< uint > Seats, uint Customer)
 dočasné zamluvení sedadel. More...
 
bool LockSeats (uint Bus, ref Queue< uint > Seats, uint Customer)
 trvalá rezervace sedadel. More...
 
bool UnlockSeats (uint Bus, ref Queue< uint > Seats, uint Customer)
 zrušení rezervace sedadel. More...
 
uint NextBus (uint Bus)
 nalezení dalšího autobusu v pořadí. More...
 
uint NextCity (uint City)
 nalezení dalšího města v pořadí. More...
 
uint NextPlan (uint Plan)
 nalezení dalšího plánu v pořadí. More...
 
bool ListCity (string From, out string Name)
 nalezení dalšího města v abecedním pořadí. More...
 
bool ListAlias (string From, out string Alias, out string City)
 nalezení dalšího aliasu města v abecedním pořadí. More...
 

Detailed Description

Klientské rozhraní mezi databází a zbytkem programu.

Definition at line 55 of file Query.cs.

Member Function Documentation

uint IQuery.AddBus ( BusInfo  Bus)

přidání autobusu.

Vytvoření autobusu s uvedenými daty a jeho přidání do databáze. Identifikační číslo (položka Id struktury BusInfo) nemusí být vyplněno, neboť dojde k jeho naplnění jedinečným číslem až při zpracování požadavku.

Returns
ID nově vloženého autobusu nebo 0 v případě chyby (snaha o zavedení duplicitního autobusu).
Parameters
Busstruktura BusInfo s daty potřebnými k vytvoření nového autobusu.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.AddBusPlan ( string  Name,
uint  Seats,
string  Data 
)

přidání plánu autobusu.

Returns
unikátní číslo přidaného plánu nebo číslo již existujícího plány se zadaným jménem.
Parameters
Namenázev plánu/typu autobusu.
Seatspočet sedadel.
Datarozvržení sedadel.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.AddCity ( string  Name)

přidání města.

Returns
unikátní číslo nově přidaného města či číslo jiz dříve existujícího města.
Parameters
Namejméno města.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.AddCityAlias ( string  Name,
uint  Id 
)

přidání zkratky k nějakému existujícímu městu.

Returns
úspěch operace - false v případě, že jméno již existuje (jako město či alias) nebo pokud město s ID není v databázi.
Parameters
Namenázev zkratky či dalšího názvu.
IdID existujícího města, se kterým chceme propojit tuto zkratku.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.AskSeats ( uint  Bus,
ref Queue< uint >  Seats,
uint  Customer 
)

dočasné zamluvení sedadel.

Dočasné zamluvení sedadel, které po určitém čase vyprší.

Returns
úspěch operace - false, pokud autobus není nalezen nebo se operace nezdařila pro všechna sedadla.
Parameters
BusID autobusu.
Seatsseznam sedadel k rezervaci, neúspěšná sedadla budou smazána ze seznamu.
CustomerID zákazníka.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.BusInfo ( uint  uiBus,
out BusInfo  Info,
out bool  Enabled,
out uint  Seats,
out Queue< uint >  FreeSeats 
)

získání informací o autobusu.

Returns
úspěch operace - false, nebyl-li autobus nalezen.
Parameters
uiBusID autobusu.
Infostruktura BusInfo, která bude naplněná daty.
Enabledpřepínač, zda jsou povoleny změny v autobusu.
Seatspočet sedadel autobusu.
FreeSeatsseznam volných sedadel.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.BusPlanInfo ( uint  Plan,
out PlanInfo  Info,
out uint  Buses,
out string  Data 
)

získání informací o plánu.

Returns
úspěch operace - false, pokud plán nebyl nalezen.
Parameters
PlanID plánu autobusu.
Infostruktura PlanInfo k naplnění daty.
Busespočet autobusů využívajících tento plán.
Datadata s rozložením sedadel.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.CityInfo ( uint  City,
out CityInfo  Info,
out uint  LinesOut,
out uint  LinesIn 
)

získání informací o městě.

Returns
úspěch operace - false, pokud město nebylo nalezeno.
Parameters
CityID města.
Infostruktura CityInfo vyplněná daty.
LinesOutpočet autobusů odjíždějících z tohoto města.
LinesInpočet autobusů přijíždějících do tohoto města.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.DeleteBus ( uint  Bus)

smazání autobusu.

Returns
úspěch operace.
Parameters
BusID autobusu určeného ke smazání.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.DeleteBusPlan ( string  Name)

smazání plánu autobusu.

Note
Vymazání plánu autobusu z kontajneru, může být provedeno pouze v případě, že neexistuje žádný autobus s tímto plánem.
Returns
úspěch operace.
Parameters
Namenázev plánu autobusu.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.DeleteCity ( string  Name)

smazání města podle jména.

Provede smazání města z kontajneru a zároveň vymazání všech případných aliasů názvu města.

Returns
úspěch operace - false v případě, že město není v databázi nebo existují autobusové linky, které město používají.
Parameters
Namenázev či alias města.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.DisableBus ( uint  Bus)

zakázání autobusu.

Zakáže provádět změny v rezervacích.

Returns
úspěch operace - false, nebyl-li autobus nalezen.
Parameters
BusID autobusu.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.EnableBus ( uint  Bus)

povolení autobusu.

Povolí provádět změny v rezervacích.

Returns
úspěch operace - false, nebyl-li autobus nalezen.
Parameters
BusID autobusu.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.FindBus ( uint  From,
uint  To,
DateTime  LeaveTime 
)

nalezení autobusu.

Funkce pro nalezení autobusu z města From do města To a s časem odjezdu rovným nebo nejbližším větším času LeaveTime.

Returns
ID nalezeného autobusu nebo 0.
Parameters
FromID výchozího města.
ToID cílového města.
LeaveTimečas, od kterého hledáme shodu (tj. dolní hranice času odjezdu).

Implemented in MemoryDb, and ClientProcess.

uint IQuery.FindBusPlan ( string  Name)

nalezení plánu autobusu.

Hledání plánu autobusu podle zadaného jména.

Returns
ID plánu, 0 v případě neúspěchu.
Parameters
Namenázev plánu autobusu.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.FindCity ( string  Name)

nalezení města podle názvu.

Hledání města probíhá nejprve v normálních názvech měst a v případě neúspěchu ve zkratkách (aliasech)

Returns
ID nalezeného města nebo 0 v případě neúspěchu.
Parameters
Namenázev či alias města.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.ListAlias ( string  From,
out string  Alias,
out string  City 
)

nalezení dalšího aliasu města v abecedním pořadí.

Najde další alias v abecedním pořadí.

Returns
úspěch operace (false pro dosažení konce).
Parameters
Fromalias, od kterého hledáme následující.
Aliasalias dalšího města v pořadí.
Cityjméno města odpovídající aliasu.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.ListCity ( string  From,
out string  Name 
)

nalezení dalšího města v abecedním pořadí.

Najde další město v abecedním pořadí.

Returns
úspěch operace (false pro dosažení konce).
Parameters
Fromnázev města, od kterého hledáme následující.
Namejméno dalšího města v pořadí.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.LockSeats ( uint  Bus,
ref Queue< uint >  Seats,
uint  Customer 
)

trvalá rezervace sedadel.

Returns
úspěch operace - false, pokud autobus není nalezen nebo se operace nezdařila pro všechna sedadla.
Parameters
BusID autobusu.
Seatsseznam sedadel k rezervaci, neúspěšná sedadla budou smazána ze seznamu.
CustomerID zákazníka.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.NewCustomer ( )

unikátní ID pro nového zákazníka.

Operace rezervace sedadel je vždy vázána na konkrétního zákazníka identifikovaného jedinečným číslem. Díky tomu pak může zákazník své rezervace dodatečně zrušit nebo potvrdit dočasnou rezervaci.

Returns
unikátní číslo zákazníka.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.NextBus ( uint  Bus)

nalezení dalšího autobusu v pořadí.

Najde další autobus podle ID.

Pomocí této metody je možné sekvenčně procházet kontajner autobusů (zapouzdřený ve třídě Buses). Odpovídající kousek kódu může vypadat např. následovně

uint Id;
while((Id = query.NextBus(Id)) != 0) {
// zpracování autobusu s číslem Id
}

Metodu můžeme využít např. v situaci, kdy potřebujeme zakázat rezervace ve všech autobusech, které odjíždějí během následující hodiny (abychom mohli předat řidičům konečný seznam rezervovaných sedadel).

Returns
ID nalezeného autobusu nebo 0.
Parameters
BusID autobusu, od kterého hledáme následující.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.NextCity ( uint  City)

nalezení dalšího města v pořadí.

Najde další město podle ID.

Returns
ID nalezeného města nebo 0.
Parameters
CityID města, od kterého hledáme následující.

Implemented in MemoryDb, and ClientProcess.

uint IQuery.NextPlan ( uint  Plan)

nalezení dalšího plánu v pořadí.

Najde další plán podle ID.

Returns
ID nalezeného plánu nebo 0.
Parameters
PlanID plánu, od kterého hledáme následující.

Implemented in MemoryDb, and ClientProcess.

bool IQuery.UnlockSeats ( uint  Bus,
ref Queue< uint >  Seats,
uint  Customer 
)

zrušení rezervace sedadel.

Warning
K úspěšnému zrušení rezervace je nutné mít zákaznické ID, se kterým byla provedena rezervace.
Returns
úspěch operace - false, pokud autobus není nalezen nebo se operace nezdařila pro všechna sedadla.
Parameters
BusID autobusu.
Seatsseznam sedadel k uvolnění, neúspěšná sedadla budou smazána ze seznamu.
CustomerID zákazníka.

Implemented in MemoryDb, and ClientProcess.


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