BRS#
|
Klientská třída zajišťující zpřístupnění vzdálené databáze ze serveru. More...
Public Member Functions | |
ClientProcess (string server, int port) | |
Konstruktor. More... | |
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 Bus, 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 | NextPlan (uint Plan) |
nalezení dalšího plánu v pořadí. More... | |
uint | NextCity (uint City) |
nalezení dalšího města 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... | |
Klientská třída zajišťující zpřístupnění vzdálené databáze ze serveru.
Díky tomy, že implementuje rozhraní IQuery, tak lze tuto třídu nahradit novou implementací, která bude například používat jiný způsob komunikace. Nebo lze přímo připojit i samotnou databázi MemoryDb, což může mít dobrý význam zvlášť při ladění chyb.
Definition at line 11 of file ClientProcess.cs.
ClientProcess.ClientProcess | ( | string | server, |
int | port | ||
) |
Konstruktor.
server | Doménové jméno nebo IP adresa serveru. |
port | Port serveru. |
Definition at line 17 of file ClientProcess.cs.
uint ClientProcess.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.
Implements IQuery.
Definition at line 127 of file ClientProcess.cs.
uint ClientProcess.AddBusPlan | ( | string | Name, |
uint | Seats, | ||
string | Data | ||
) |
přidání plánu autobusu.
Name | název plánu/typu autobusu. |
Seats | počet sedadel. |
Data | rozvržení sedadel. |
Implements IQuery.
Definition at line 77 of file ClientProcess.cs.
uint ClientProcess.AddCity | ( | string | Name | ) |
přidání města.
Name | jméno města. |
Implements IQuery.
Definition at line 20 of file ClientProcess.cs.
bool ClientProcess.AddCityAlias | ( | string | Name, |
uint | Id | ||
) |
přidání zkratky k nějakému existujícímu městu.
Name | název zkratky či dalšího názvu. |
Id | ID existujícího města, se kterým chceme propojit tuto zkratku. |
Implements IQuery.
Definition at line 29 of file ClientProcess.cs.
bool ClientProcess.AskSeats | ( | uint | Bus, |
ref Queue< uint > | Seats, | ||
uint | Customer | ||
) |
dočasné zamluvení sedadel.
Dočasné zamluvení sedadel, které po určitém čase vyprší.
Bus | ID autobusu. |
Seats | seznam sedadel k rezervaci, neúspěšná sedadla budou smazána ze seznamu. |
Customer | ID zákazníka. |
Implements IQuery.
Definition at line 219 of file ClientProcess.cs.
bool ClientProcess.BusInfo | ( | uint | uiBus, |
out BusInfo | Info, | ||
out bool | Enabled, | ||
out uint | Seats, | ||
out Queue< uint > | FreeSeats | ||
) |
získání informací o autobusu.
uiBus | ID autobusu. |
Info | struktura BusInfo, která bude naplněná daty. |
Enabled | přepínač, zda jsou povoleny změny v autobusu. |
Seats | počet sedadel autobusu. |
FreeSeats | seznam volných sedadel. |
Implements IQuery.
Definition at line 161 of file ClientProcess.cs.
bool ClientProcess.BusPlanInfo | ( | uint | Plan, |
out PlanInfo | Info, | ||
out uint | Buses, | ||
out string | Data | ||
) |
získání informací o plánu.
Plan | ID plánu autobusu. |
Info | struktura PlanInfo k naplnění daty. |
Buses | počet autobusů využívajících tento plán. |
Data | data s rozložením sedadel. |
Implements IQuery.
Definition at line 106 of file ClientProcess.cs.
bool ClientProcess.CityInfo | ( | uint | City, |
out CityInfo | Info, | ||
out uint | LinesOut, | ||
out uint | LinesIn | ||
) |
získání informací o městě.
City | ID města. |
Info | struktura CityInfo vyplněná daty. |
LinesOut | počet autobusů odjíždějících z tohoto města. |
LinesIn | počet autobusů přijíždějících do tohoto města. |
Implements IQuery.
Definition at line 57 of file ClientProcess.cs.
bool ClientProcess.DeleteBus | ( | uint | Bus | ) |
smazání autobusu.
Bus | ID autobusu určeného ke smazání. |
Implements IQuery.
Definition at line 141 of file ClientProcess.cs.
bool ClientProcess.DeleteBusPlan | ( | string | Name | ) |
smazání plánu autobusu.
Name | název plánu autobusu. |
Implements IQuery.
Definition at line 88 of file ClientProcess.cs.
bool ClientProcess.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.
Name | název či alias města. |
Implements IQuery.
Definition at line 39 of file ClientProcess.cs.
bool ClientProcess.DisableBus | ( | uint | Bus | ) |
zakázání autobusu.
Zakáže provádět změny v rezervacích.
Bus | ID autobusu. |
Implements IQuery.
Definition at line 202 of file ClientProcess.cs.
bool ClientProcess.EnableBus | ( | uint | Bus | ) |
povolení autobusu.
Povolí provádět změny v rezervacích.
Bus | ID autobusu. |
Implements IQuery.
Definition at line 193 of file ClientProcess.cs.
uint ClientProcess.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.
From | ID výchozího města. |
To | ID cílového města. |
LeaveTime | čas, od kterého hledáme shodu (tj. dolní hranice času odjezdu). |
Implements IQuery.
Definition at line 150 of file ClientProcess.cs.
uint ClientProcess.FindBusPlan | ( | string | Name | ) |
nalezení plánu autobusu.
Hledání plánu autobusu podle zadaného jména.
Name | název plánu autobusu. |
Implements IQuery.
Definition at line 97 of file ClientProcess.cs.
uint ClientProcess.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)
Name | název či alias města. |
Implements IQuery.
Definition at line 48 of file ClientProcess.cs.
bool ClientProcess.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í.
From | alias, od kterého hledáme následující. |
Alias | alias dalšího města v pořadí. |
City | jméno města odpovídající aliasu. |
Implements IQuery.
Definition at line 330 of file ClientProcess.cs.
bool ClientProcess.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í.
From | název města, od kterého hledáme následující. |
Name | jméno dalšího města v pořadí. |
Implements IQuery.
Definition at line 315 of file ClientProcess.cs.
bool ClientProcess.LockSeats | ( | uint | Bus, |
ref Queue< uint > | Seats, | ||
uint | Customer | ||
) |
trvalá rezervace sedadel.
Bus | ID autobusu. |
Seats | seznam sedadel k rezervaci, neúspěšná sedadla budou smazána ze seznamu. |
Customer | ID zákazníka. |
Implements IQuery.
Definition at line 242 of file ClientProcess.cs.
uint ClientProcess.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.
Implements IQuery.
Definition at line 211 of file ClientProcess.cs.
uint ClientProcess.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).
Bus | ID autobusu, od kterého hledáme následující. |
Implements IQuery.
Definition at line 288 of file ClientProcess.cs.
uint ClientProcess.NextCity | ( | uint | City | ) |
nalezení dalšího města v pořadí.
Najde další město podle ID.
City | ID města, od kterého hledáme následující. |
Implements IQuery.
Definition at line 306 of file ClientProcess.cs.
uint ClientProcess.NextPlan | ( | uint | Plan | ) |
nalezení dalšího plánu v pořadí.
Najde další plán podle ID.
Plan | ID plánu, od kterého hledáme následující. |
Implements IQuery.
Definition at line 297 of file ClientProcess.cs.
bool ClientProcess.UnlockSeats | ( | uint | Bus, |
ref Queue< uint > | Seats, | ||
uint | Customer | ||
) |
zrušení rezervace sedadel.
Bus | ID autobusu. |
Seats | seznam sedadel k uvolnění, neúspěšná sedadla budou smazána ze seznamu. |
Customer | ID zákazníka. |
Implements IQuery.
Definition at line 265 of file ClientProcess.cs.