SharpRestoVRII
Meeskond
- Andres Aava
- Henri Annilo
- Jaan Koolmeister
- Lauri Üksti
Lähtekood
TBD
Tehnoloogia
Server: ASP.NET Core 2.0
Klient: WPF
DB: SQL Server (Azure)
Ülevaade
Tegemist on SharpResto jätkuprojektiga.
Eesmärk on luua restoranihalduse teenus
- kasutaja saab pärida, lisada ja muuta menüü komponente
- kasutaja saab pärida, lisada ja muuta esitatud tellimusi
- kasutaja saab pärida statistikat tellimuste kohta
- eri teenuste ligipääs on piiratav kasutaja- ning grupipõhiselt
- staatiline informatsioon hoitakse serveri vahemälus
API
Menüü teenus
GET api/menu
Tagastab kõik menuitemid menüü vaate jaoks
Parameetrid:
id (valikuline)
Väljund:
{
"MenuItem":
[{
"Id": 3,
"Name": "Pelmeenid",
"Description": "Venepärased isetehtud pelmeenid",
"Available": 1,
"Spice": 1,
"ItemType": [{
"id": 4,
"Type": "Starter"
}],
"ItemPrices": [{
"Id": 8,
"Price": 6.5,
"Active": 1,
"StartDate": "2018-01-05 14:03:07",
"EndDate": null
}],
"ItemIngredients": [{
"id": 2,
"Name": "Jahu"
},
{
"id": 5,
"Name": "Hakkliha"
}]
},
{ //menuitem 2 },
{ //menuitem 3 }
]}
POST api/menu/
Loob uue menuItem’i
Body:
{
//new MenuItem object
}
Väljund:
{
“Success”: true,
“Message”: null,
“Data”: null
}
PUT api/menu/{id}
Muudab olemasolevat menuItem’it
Body:
{
// changed MenuItem object
}
Väljund:
{
“Success”: true,
“Message”: null,
“Data”: null
}
Tellimuste teenus
GET api/orders
Tagastab kõik tellimused, vaikimisi filter on otsustamisel
Parameetrid:
status (valikuline)
table (valikuline)
startDate (valikuline)
endDate (valikuline)
Väljund:
{
[{order1 object}, {order2 object}]
}
GET api/orders/{id}
Tagastab valitud tellimuse
Väljund:
{
Id: <id>,
MenuItem: {menuItem object},
Status: <new|ready|served|complete>
Table: <table>
}
POST api/orders
Loob uue tellimuse
Body:
{
menuItemId: <menuitem_id>,
tableId: <table_id>,
course: <?>,
clientComment: <comment>
}
Väljund:
{
success: <true|false>
message: <info>
result: {orderItem object}
}
PUT api/orders/{id}
Muudab tellimust (üldine)
Body:
{
menuItemId: <menuitem_id>,
tableId: <table_id>,
course: <?>,
status: <status>,
clientComment: <comment>
}
Väljund:
{
success: <true|false>
message: <info>
result: {orderItem object}
}
PUT api/orders/setStatus/{id}
Muudab vaid tellimuse staatust
Body:
{status: <status>}
Väljund:
{
success: <true|false>
message: <info>
result: {orderItem object}
}
Arvete teenus
Lõpetatud/serveeritud tellimuste salvestamine arveteks.
Hilisem arvete küsimine.
GET api/bills
Parameetrid:
status (valikuline)
table (valikuline)
startDate (valikuline)
endDate (valikuline)
waiter (valikuline)
GET api/bills/{id}
Tagastab ühe arve id alusel.
Ajalogi
TBD