SharpRestoVRII
Meeskond
- Andres Aava (lahkunud liige)
- Henri Annilo
- Jaan Koolmeister
- Lauri Üksti
Esitused
Lähtekood: CSharpResto
Retsensioonid:
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 menüü artiklid 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
}
Tagastab 201 või 400
PUT api/menu/{id}
Muudab olemasolevat menuItem’it
Body:
{
// changed MenuItem object
}
Tagastab 200, 400 või 404
Tellimuste teenus
GET api/orders
Tagastab kõik tellimused
Parameetrid:
id (valikuline)
Väljund:
{
[{order1 object}, {order2 object}]
}
POST api/orders
Loob uue tellimuse
Body:
{
<uus order objekt>
}
Tagastab 201 või 400
PUT api/orders/{id}
Muudab tellimust (üldine)
Body:
{
<muudetud order objekt>
}
Tagastab 200, 400, või 404 </source>
PUT api/orders/setStatus/{id}
Muudab vaid tellimuse staatust
Body:
{status: <status>}
Tagastab 200, 400 või 404
Arvete teenus
Lõpetatud/serveeritud tellimuste salvestamine arveteks.
Hilisem arvete küsimine.
POST api/bills Arvete sisestamine.
Body:
{
“Id”: int,
“ItemList”: string,
“Sum”: decimal,
“Status”: varchar
“Date”: datetime,
“Waiter”: string
}
Väljund:
{
success: <true|false>
message: <info>
result: {orderItem object}
}
GET api/bills
Parameetrid:
status (valikuline)
table (valikuline)
startDate (valikuline)
endDate (valikuline)
waiter (valikuline)
Väljund:
{
[{bill1 object}, { bill2 object}]
}
GET api/bills/{id}
Tagastab ühe arve id alusel.
Väljund:
{
“Id”: int,
“ItemList”: string,
“Sum”: decimal,
“Status”: varchar
“Date”: datetime,
“Waiter”: string
}
Ajalogi
TBD