mirror of
https://github.com/yummy4friends/y4f.git
synced 2024-12-28 16:08:20 +01:00
Compare commits
2 Commits
a51fe08db8
...
075d2a4838
Author | SHA1 | Date | |
---|---|---|---|
|
075d2a4838 | ||
|
04a221f20b |
@ -1,129 +1,293 @@
|
||||
@page "/shopping_cart"
|
||||
|
||||
@inject HttpClient Http
|
||||
@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage
|
||||
@inject NavigationManager _navigationManager
|
||||
<PageTitle>Warenkorb</PageTitle>
|
||||
|
||||
<h1>Warenkorb</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
</div>
|
||||
<div class="row">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
@*Tabelle Ihre Bestellung*@
|
||||
<div class="tbl-container">
|
||||
<table class="table bdr">
|
||||
<thead class="bg_green">
|
||||
<tr>
|
||||
<td>Ihre Bestellung</td>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg_lightgreen">
|
||||
<tr>
|
||||
<td class="br" style="padding-top:20px; padding-bottom:0px; border-bottom-width: 0px;">
|
||||
1 Nudel mit Hühnerfleisch (groß)
|
||||
<div style="font-size:0.7rem;padding-left:15px;">mit Knoblauchsoße</div>
|
||||
</td>
|
||||
<td class="d-flex justify-content-center align-items-center" style="padding-top:20px; padding-bottom:0px;">9,10€</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;">1 Coca Cola</td>
|
||||
<td class="d-flex justify-content-center align-items-center" style="padding-top:0px;">2,50€</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="br" style=" padding-top:0px; border-bottom-width: 0px;"></td>
|
||||
<td class="d-flex justify-content-center align-items-center" style="border-bottom-width: 0px;"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot class="bg_lightgreen">
|
||||
<tr style="border-top:solid 1px black;">
|
||||
<th class="" style="text-align:right;">Summe</th>
|
||||
<td class="d-flex justify-content-center align-items-center">11,60€</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
@*Tabelle Ihre Bestellung*@
|
||||
<div class="tbl-container">
|
||||
<table class="table bdr">
|
||||
<thead class="bg_green">
|
||||
<tr>
|
||||
<td>Ihre Bestellung</td>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg_lightgreen">
|
||||
@if (menuitemIds.Count == 0)
|
||||
{
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">Warenkorb ist leer</h5>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var item in menuitemIds)
|
||||
{
|
||||
@foreach (var item2 in menuitems)
|
||||
{
|
||||
@if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
<tr>
|
||||
|
||||
</div>
|
||||
<td class="br" style="padding-top:20px; padding-bottom:0px; border-bottom-width: 0px;">
|
||||
@item.Value x
|
||||
@item2.Bezeichnung
|
||||
<button @onclick="@(() => DelMenuItemId(item.Key))" class="btn btn-danger">del</button>
|
||||
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
<div class="h-100">
|
||||
@*Essen Abholen?*@
|
||||
<div class="row h-25 w-100">
|
||||
<div class="col">
|
||||
<div class="d-flex flex-column align-items-center ">
|
||||
<div class="tbl-container bdr w-100">
|
||||
<!-- <== overflow: hidden applied to parent -->
|
||||
<table class="table bdr" cellspacing="0" cellpadding="0">
|
||||
<thead class="bg_green">
|
||||
<tr>
|
||||
<td class="d-flex justify-content-center align-items-center" style="border-bottom:0px;">
|
||||
Wann wollen Sie Ihr Essen abholen?
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg_lightgreen">
|
||||
<tr>
|
||||
<td class="d-flex justify-content-center align-items-center" style="padding-top:0px;">
|
||||
<div style="margin:20px;">
|
||||
<div class="d-flex justify-content-center align-items-center">
|
||||
<input type="number" style="width:80px" min="10" max="20" />
|
||||
<input type="number" style="width:80px" min="0" max="59" />
|
||||
|
||||
Uhr
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@*Buttons*@
|
||||
<div class="row h-75 w-100">
|
||||
<div class="col mt-auto">
|
||||
<div class="d-flex flex-column align-items-center ">
|
||||
<button class="btn_back w-75">Zurück</button>
|
||||
<button class="btn_forward w-75">Weiter</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-size:0.7rem;padding-left:15px;">@item2.Zusatzinformation</div>
|
||||
</td>
|
||||
<td class="d-flex justify-content-center align-items-center" style="padding-top:20px; border-bottom-width:0px;">@(item2.Preis * item.Value)€</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
<tfoot class="bg_lightgreen">
|
||||
<tr style="border-top:solid 1px black;">
|
||||
<th class="" style="text-align:right;">Summe</th>
|
||||
<td class="d-flex justify-content-center align-items-center">
|
||||
@summe€
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
<div class="h-100">
|
||||
@*Essen Abholen?*@
|
||||
<div class="row h-25 w-100 ">
|
||||
<div class="col">
|
||||
<div class="d-flex flex-column align-items-center ">
|
||||
<div class="tbl-container bdr w-100">
|
||||
<!-- <== overflow: hidden applied to parent -->
|
||||
<table class="table bdr" cellspacing="0" cellpadding="0">
|
||||
<thead class="bg_green">
|
||||
<tr>
|
||||
<td class="d-flex justify-content-center align-items-center" style="border-bottom:0px;">
|
||||
Wann wollen Sie Ihr Essen abholen?
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg_lightgreen">
|
||||
<tr>
|
||||
<td class="d-flex justify-content-center align-items-center" style="padding-top:0px;">
|
||||
<div style="margin:20px;">
|
||||
<div class="d-flex justify-content-center align-items-center">
|
||||
<input type="number" style="width:80px" min="10" max="20" />
|
||||
<input type="number" style="width:80px" min="0" max="59" />
|
||||
|
||||
Uhr
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@*Buttons*@
|
||||
<div class="row h-75 w-100">
|
||||
<div class="col mt-auto ">
|
||||
<div class="d-flex flex-column align-items-center ">
|
||||
<a href="/speisekarte" class="btn_bg w-75 btn text-center">Zurück</a>
|
||||
<a href="#" class="btn_forward btn w-75 ">Weiter</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@code {
|
||||
public decimal summe;
|
||||
public Dictionary<int, int> menuitemIds = new Dictionary<int, int>();
|
||||
|
||||
private void SetMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
menuitemIds[id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Add(id, 1);
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
}
|
||||
|
||||
|
||||
private void DelMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
if (menuitemIds[id] > 1)
|
||||
{
|
||||
menuitemIds[id]--;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Remove(id);
|
||||
}
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
_navigationManager.NavigateTo(_navigationManager.Uri, forceLoad: true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt
|
||||
private List<Allergie> allergien = new List<Allergie>();
|
||||
private List<Bestellungsposition> bestellungspositions = new List<Bestellungsposition>();
|
||||
private List<Kunde> kunden = new List<Kunde>();
|
||||
private List<Menuitem> menuitems = new List<Menuitem>();
|
||||
private List<Menuitemkategorie> menuitemkategories = new List<Menuitemkategorie>();
|
||||
private List<Menuitemueberkategorie> menuitemueberkategories = new List<Menuitemueberkategorie>();
|
||||
private List<Rabatt> rabatte = new List<Rabatt>();
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
// get data from localstorage
|
||||
if (localStorage.GetItem<Dictionary<int, int>>("MenuItemIds") != null)
|
||||
{
|
||||
menuitemIds = localStorage.GetItem<Dictionary<int, int>>("MenuItemIds");
|
||||
}
|
||||
|
||||
// get data from api
|
||||
allergien = await Http.GetFromJsonAsync<List<Allergie>>("https://localhost:7076/api/allergien");
|
||||
bestellungspositions = await Http.GetFromJsonAsync<List<Bestellungsposition>>("https://localhost:7076/api/bestellungspositionen");
|
||||
kunden = await Http.GetFromJsonAsync<List<Kunde>>("https://localhost:7076/api/kunden");
|
||||
menuitems = await Http.GetFromJsonAsync<List<Menuitem>>("https://localhost:7076/api/Menuitems");
|
||||
menuitemkategories = await Http.GetFromJsonAsync<List<Menuitemkategorie>>("https://localhost:7076/api/Menuitemkategories");
|
||||
menuitemueberkategories = await Http.GetFromJsonAsync<List<Menuitemueberkategorie>>("https://localhost:7076/api/Menuitemueberkategories");
|
||||
rabatte = await Http.GetFromJsonAsync<List<Rabatt>>("https://localhost:7076/api/Rabatte");
|
||||
|
||||
|
||||
// calculate the sum of all menuitems
|
||||
summe = 0;
|
||||
foreach (var item in menuitemIds)
|
||||
{
|
||||
foreach (var item2 in menuitems)
|
||||
{
|
||||
if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
summe += item2.Preis * item.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Allergie
|
||||
{
|
||||
public int Idallergie { get; set; }
|
||||
|
||||
public string? Beschreibung { get; set; }
|
||||
|
||||
public virtual ICollection<Menuitem> MenuItemIdmenuItems { get; set; } = new List<Menuitem>();
|
||||
}
|
||||
public class Bestellungsposition
|
||||
{
|
||||
public int Idbestellung { get; set; }
|
||||
|
||||
public int? Menge { get; set; }
|
||||
|
||||
public DateTime? Datum { get; set; }
|
||||
|
||||
public int KundeIdkunde { get; set; }
|
||||
|
||||
public int RabattIdrabatt { get; set; }
|
||||
|
||||
public virtual Kunde KundeIdkundeNavigation { get; set; } = null!;
|
||||
|
||||
public virtual Rabatt RabattIdrabattNavigation { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<Menuitem> MenuItemIdmenuItems { get; set; } = new List<Menuitem>();
|
||||
}
|
||||
public class Kunde
|
||||
{
|
||||
public int Idkunde { get; set; }
|
||||
|
||||
public string? Code { get; set; }
|
||||
|
||||
public int? Treuepunkte { get; set; }
|
||||
|
||||
public virtual ICollection<Bestellungsposition> Bestellungspositions { get; set; } = new List<Bestellungsposition>();
|
||||
}
|
||||
|
||||
public class Menuitem
|
||||
{
|
||||
public int IdmenuItem { get; set; }
|
||||
|
||||
public string? Bezeichnung { get; set; }
|
||||
|
||||
public string? Zusatzinformation { get; set; }
|
||||
|
||||
public decimal Preis { get; set; }
|
||||
|
||||
public int MenuItemKategorieIdmenuItemKategorie { get; set; }
|
||||
|
||||
public virtual Menuitemkategorie MenuItemKategorieIdmenuItemKategorieNavigation { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<Allergie> AllergieIdallergies { get; set; } = new List<Allergie>();
|
||||
|
||||
public virtual ICollection<Bestellungsposition> BestellungspositionIdbestellungs { get; set; } = new List<Bestellungsposition>();
|
||||
}
|
||||
public class Menuitemkategorie
|
||||
{
|
||||
public int IdmenuItemKategorie { get; set; }
|
||||
|
||||
public string? Bezeichnung { get; set; }
|
||||
|
||||
public int MenuItemUeberkategorieIdmenuItemUeberkategorie { get; set; }
|
||||
|
||||
public virtual Menuitemueberkategorie MenuItemUeberkategorieIdmenuItemUeberkategorieNavigation { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<Menuitem> Menuitems { get; set; } = new List<Menuitem>();
|
||||
}
|
||||
|
||||
public class Menuitemueberkategorie
|
||||
{
|
||||
public int IdmenuItemUeberkategorie { get; set; }
|
||||
|
||||
public string? Bezeichnung { get; set; }
|
||||
|
||||
public virtual ICollection<Menuitemkategorie> Menuitemkategories { get; set; } = new List<Menuitemkategorie>();
|
||||
}
|
||||
|
||||
public class Rabatt
|
||||
{
|
||||
public int Idrabatt { get; set; }
|
||||
|
||||
public decimal? Prozent { get; set; }
|
||||
|
||||
public DateTime? GueltigkeitVon { get; set; }
|
||||
|
||||
public DateTime? GueltigkeitBis { get; set; }
|
||||
|
||||
public virtual ICollection<Bestellungsposition> Bestellungspositions { get; set; } = new List<Bestellungsposition>();
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
@page "/SpeisekarteChinesich"
|
||||
|
||||
@inject HttpClient Http
|
||||
@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage
|
||||
|
||||
<h1>Speisekarte Chinesisch</h1>
|
||||
<div class="container">
|
||||
@ -25,7 +26,7 @@
|
||||
{
|
||||
if (item2.IdmenuItemKategorie == item3.MenuItemKategorieIdmenuItemKategorie)
|
||||
{
|
||||
<div class="card mt-3 ">
|
||||
<div class="card mt-3 " @onclick="@(() => SetMenuItemId(item3.IdmenuItem))">
|
||||
<div class="card-body">
|
||||
@*create two divs columns*@
|
||||
<div class="row">
|
||||
@ -53,30 +54,55 @@
|
||||
<div class="card-header">
|
||||
Warenkorb
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Nudeln mit Hühnerfleisch</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">9.10€</span></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Coca Cola</h5>
|
||||
@*<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>*@
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">3.10€</span></p>
|
||||
</div>
|
||||
@if (menuitemIds.Count == 0)
|
||||
{
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">Warenkorb ist leer</h5>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var item in menuitemIds)
|
||||
{
|
||||
@foreach (var item2 in menuitems)
|
||||
{
|
||||
@if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
<div class="card-body">
|
||||
<p>@item.Value</p>
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">@item2.Bezeichnung</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">@item2.Zusatzinformation</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">@item2.Preis</span></p>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<a href="#" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="#" class="btn btn-primary mx-2 mt-1">Weiter</a>
|
||||
<div class="d-flex flex-column mb-5">
|
||||
<a href="/speisekarte" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="/shopping_cart" class="btn btn-primary mx-2 mt-1 mb-5">Weiter</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@code {
|
||||
public Dictionary<int, int> menuitemIds = new Dictionary<int, int>();
|
||||
|
||||
private void SetMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
menuitemIds[id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Add(id, 1);
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
}
|
||||
// allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt
|
||||
|
||||
private List<Allergie> allergien = new List<Allergie>();
|
||||
@ -89,6 +115,11 @@
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (localStorage.GetItem<Dictionary<int, int>>("MenuItemIds") != null)
|
||||
{
|
||||
menuitemIds = localStorage.GetItem<Dictionary<int, int>>("MenuItemIds");
|
||||
}
|
||||
|
||||
allergien = await Http.GetFromJsonAsync<List<Allergie>>("https://localhost:7076/api/allergien");
|
||||
bestellungspositions = await Http.GetFromJsonAsync<List<Bestellungsposition>>("https://localhost:7076/api/bestellungspositionen");
|
||||
kunden = await Http.GetFromJsonAsync<List<Kunde>>("https://localhost:7076/api/kunden");
|
||||
@ -96,6 +127,7 @@
|
||||
menuitemkategories = await Http.GetFromJsonAsync<List<Menuitemkategorie>>("https://localhost:7076/api/Menuitemkategories");
|
||||
menuitemueberkategories = await Http.GetFromJsonAsync<List<Menuitemueberkategorie>>("https://localhost:7076/api/Menuitemueberkategories");
|
||||
rabatte = await Http.GetFromJsonAsync<List<Rabatt>>("https://localhost:7076/api/Rabatte");
|
||||
|
||||
}
|
||||
|
||||
public class Allergie
|
||||
|
@ -1,6 +1,7 @@
|
||||
@page "/SpeisekarteGetraenke"
|
||||
|
||||
@inject HttpClient Http
|
||||
@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage
|
||||
|
||||
<h1>Speisekarte Getränke</h1>
|
||||
@* create an container bootstrap 5*@
|
||||
@ -27,7 +28,7 @@
|
||||
if (item2.IdmenuItemKategorie == item3.MenuItemKategorieIdmenuItemKategorie)
|
||||
{
|
||||
|
||||
<div class="card mt-3 ">
|
||||
<div class="card mt-3 " @onclick="@(() => SetMenuItemId(item3.IdmenuItem))">
|
||||
<div class="card-body">
|
||||
@*create two divs columns*@
|
||||
<div class="row">
|
||||
@ -45,12 +46,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="col-4">
|
||||
@* warenkorb anzeige als bootstrap card*@
|
||||
@ -58,24 +56,35 @@
|
||||
<div class="card-header">
|
||||
Warenkorb
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Nudeln mit Hühnerfleisch</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">9.10€</span></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Coca Cola</h5>
|
||||
@*<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>*@
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">3.10€</span></p>
|
||||
</div>
|
||||
@if (menuitemIds.Count == 0)
|
||||
{
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">Warenkorb ist leer</h5>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var item in menuitemIds)
|
||||
{
|
||||
@foreach (var item2 in menuitems)
|
||||
{
|
||||
@if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
<div class="card-body">
|
||||
<p>@item.Value</p>
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">@item2.Bezeichnung</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">@item2.Zusatzinformation</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">@item2.Preis</span></p>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<a href="#" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="#" class="btn btn-primary mx-2 mt-1">Weiter</a>
|
||||
<div class="d-flex flex-column mb-5">
|
||||
<a href="/speisekarte" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="/shopping_cart" class="btn btn-primary mx-2 mt-1 mb-5">Weiter</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -84,6 +93,23 @@
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
public Dictionary<int, int> menuitemIds = new Dictionary<int, int>();
|
||||
|
||||
private void SetMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
menuitemIds[id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Add(id, 1);
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
}
|
||||
|
||||
|
||||
// allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt
|
||||
|
||||
private List<Allergie> allergien = new List<Allergie>();
|
||||
@ -96,6 +122,11 @@
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (localStorage.GetItem<Dictionary<int, int>>("MenuItemIds") != null)
|
||||
{
|
||||
menuitemIds = localStorage.GetItem<Dictionary<int, int>>("MenuItemIds");
|
||||
}
|
||||
|
||||
allergien = await Http.GetFromJsonAsync<List<Allergie>>("https://localhost:7076/api/allergien");
|
||||
bestellungspositions = await Http.GetFromJsonAsync<List<Bestellungsposition>>("https://localhost:7076/api/bestellungspositionen");
|
||||
kunden = await Http.GetFromJsonAsync<List<Kunde>>("https://localhost:7076/api/kunden");
|
||||
|
@ -1,6 +1,7 @@
|
||||
@page "/SpeisekarteSonstiges"
|
||||
|
||||
@inject HttpClient Http
|
||||
@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage
|
||||
|
||||
<h1>Speisekarte Sonstiges</h1>
|
||||
@* create an container bootstrap 5*@
|
||||
@ -18,7 +19,7 @@
|
||||
|
||||
@foreach (var item in menuitemueberkategories)
|
||||
{
|
||||
@if (item.Bezeichnung == "Japanisch")
|
||||
@if (item.Bezeichnung == "Sonstiges")
|
||||
{
|
||||
@foreach (var item2 in menuitemkategories)
|
||||
{
|
||||
@ -29,7 +30,7 @@
|
||||
if (item2.IdmenuItemKategorie == item3.MenuItemKategorieIdmenuItemKategorie)
|
||||
{
|
||||
|
||||
<div class="card mt-3 ">
|
||||
<div class="card mt-3 " @onclick="@(() => SetMenuItemId(item3.IdmenuItem))">
|
||||
<div class="card-body">
|
||||
@*create two divs columns*@
|
||||
<div class="row">
|
||||
@ -58,24 +59,35 @@
|
||||
<div class="card-header">
|
||||
Warenkorb
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Nudeln mit Hühnerfleisch</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">9.10€</span></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Coca Cola</h5>
|
||||
@*<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>*@
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">3.10€</span></p>
|
||||
</div>
|
||||
@if (menuitemIds.Count == 0)
|
||||
{
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">Warenkorb ist leer</h5>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var item in menuitemIds)
|
||||
{
|
||||
@foreach (var item2 in menuitems)
|
||||
{
|
||||
@if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
<div class="card-body">
|
||||
<p>@item.Value</p>
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">@item2.Bezeichnung</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">@item2.Zusatzinformation</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">@item2.Preis</span></p>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<a href="#" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="#" class="btn btn-primary mx-2 mt-1">Weiter</a>
|
||||
<div class="d-flex flex-column mb-5">
|
||||
<a href="/speisekarte" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="/shopping_cart" class="btn btn-primary mx-2 mt-1 mb-5">Weiter</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -86,6 +98,21 @@
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
public Dictionary<int, int> menuitemIds = new Dictionary<int, int>();
|
||||
|
||||
private void SetMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
menuitemIds[id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Add(id, 1);
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
}
|
||||
// allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt
|
||||
|
||||
private List<Allergie> allergien = new List<Allergie>();
|
||||
@ -98,6 +125,10 @@
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (localStorage.GetItem<Dictionary<int, int>>("MenuItemIds") != null)
|
||||
{
|
||||
menuitemIds = localStorage.GetItem<Dictionary<int, int>>("MenuItemIds");
|
||||
}
|
||||
allergien = await Http.GetFromJsonAsync<List<Allergie>>("https://localhost:7076/api/allergien");
|
||||
bestellungspositions = await Http.GetFromJsonAsync<List<Bestellungsposition>>("https://localhost:7076/api/bestellungspositionen");
|
||||
kunden = await Http.GetFromJsonAsync<List<Kunde>>("https://localhost:7076/api/kunden");
|
||||
|
@ -1,6 +1,7 @@
|
||||
@page "/SpeisekarteJapanisch"
|
||||
|
||||
@inject HttpClient Http
|
||||
@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage
|
||||
|
||||
<h1>Speisekarte Japanisch</h1>
|
||||
@* create an container bootstrap 5*@
|
||||
@ -14,8 +15,6 @@
|
||||
<button type="button" class="btn">Bento</button>
|
||||
<button type="button" class="btn">Nachspeise</button>
|
||||
</div>
|
||||
|
||||
|
||||
@foreach (var item in menuitemueberkategories)
|
||||
{
|
||||
@if (item.Bezeichnung == "Japanisch")
|
||||
@ -28,8 +27,7 @@
|
||||
{
|
||||
if (item2.IdmenuItemKategorie == item3.MenuItemKategorieIdmenuItemKategorie)
|
||||
{
|
||||
|
||||
<div class="card mt-3 ">
|
||||
<div class="card mt-3" @onclick="@(() => SetMenuItemId(item3.IdmenuItem))">
|
||||
<div class="card-body">
|
||||
@*create two divs columns*@
|
||||
<div class="row">
|
||||
@ -47,12 +45,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="col-4">
|
||||
@* warenkorb anzeige als bootstrap card*@
|
||||
@ -60,24 +55,35 @@
|
||||
<div class="card-header">
|
||||
Warenkorb
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Nudeln mit Hühnerfleisch</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">9.10€</span></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">1 Coca Cola</h5>
|
||||
@*<p class="card-text" style="font-size:8pt;margin-bottom:0px;">mit Knoblauchsoße</p>*@
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">3.10€</span></p>
|
||||
</div>
|
||||
@if (menuitemIds.Count == 0)
|
||||
{
|
||||
<div class="card-body">
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">Warenkorb ist leer</h5>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var item in menuitemIds)
|
||||
{
|
||||
@foreach (var item2 in menuitems)
|
||||
{
|
||||
@if (item.Key == item2.IdmenuItem)
|
||||
{
|
||||
<div class="card-body">
|
||||
<p>@item.Value</p>
|
||||
<h5 class="card-title" style="font-size:10pt; margin-bottom:0px;">@item2.Bezeichnung</h5>
|
||||
<p class="card-text" style="font-size:8pt;margin-bottom:0px;">@item2.Zusatzinformation</p>
|
||||
<p class="card-text" id="preis" style="text-align:right; "><span style="background-color:#c7ffd5; border-radius:20px; font-size:10pt; padding:5px">@item2.Preis</span></p>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<a href="#" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="#" class="btn btn-primary mx-2 mt-1">Weiter</a>
|
||||
<div class="d-flex flex-column mb-5">
|
||||
<a href="/speisekarte" class="btn btn-primary mx-2 mt-5">Zurück</a>
|
||||
<a href="/shopping_cart" class="btn btn-primary mx-2 mt-1 mb-5">Weiter</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -86,6 +92,21 @@
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
public Dictionary<int, int> menuitemIds = new Dictionary<int, int>();
|
||||
|
||||
private void SetMenuItemId(int id)
|
||||
{
|
||||
if (menuitemIds.ContainsKey(id))
|
||||
{
|
||||
menuitemIds[id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
menuitemIds.Add(id, 1);
|
||||
}
|
||||
localStorage.SetItem<Dictionary<int, int>>("MenuItemIds", menuitemIds);
|
||||
}
|
||||
// allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt
|
||||
|
||||
private List<Allergie> allergien = new List<Allergie>();
|
||||
@ -98,6 +119,10 @@
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (localStorage.GetItem<Dictionary<int, int>>("MenuItemIds") != null)
|
||||
{
|
||||
menuitemIds = localStorage.GetItem<Dictionary<int, int>>("MenuItemIds");
|
||||
}
|
||||
allergien = await Http.GetFromJsonAsync<List<Allergie>>("https://localhost:7076/api/allergien");
|
||||
bestellungspositions = await Http.GetFromJsonAsync<List<Bestellungsposition>>("https://localhost:7076/api/bestellungspositionen");
|
||||
kunden = await Http.GetFromJsonAsync<List<Kunde>>("https://localhost:7076/api/kunden");
|
||||
|
@ -1,3 +1,4 @@
|
||||
using Blazored.LocalStorage;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
||||
using y4f;
|
||||
@ -6,7 +7,7 @@ var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
builder.RootComponents.Add<App>("#app");
|
||||
builder.RootComponents.Add<HeadOutlet>("head::after");
|
||||
|
||||
|
||||
builder.Services.AddBlazoredLocalStorage();
|
||||
|
||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
border-radius: 17px;
|
||||
overflow: hidden;
|
||||
border-color: #C7FFD5;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
.bg_lightgreen {
|
||||
@ -23,19 +24,19 @@
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
.btn_back {
|
||||
.btn_bg {
|
||||
background-color: #F9BE89;
|
||||
/*width: 60%;*/
|
||||
margin-bottom: 13px;
|
||||
border-radius: 30px;
|
||||
height: 50px;
|
||||
border: 0px;
|
||||
/*height: 50px;*/
|
||||
/*border: 0px;*/
|
||||
}
|
||||
|
||||
.btn_forward {
|
||||
background-color: #89F9A5;
|
||||
/*width: 60%;*/
|
||||
border-radius: 30px;
|
||||
height: 50px;
|
||||
border: 0px;
|
||||
/*height: 50px;*/
|
||||
/*border: 0px;*/
|
||||
}
|
||||
|
@ -26,6 +26,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Blazored.LocalStorage" Version="4.3.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.1" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
|
Loading…
Reference in New Issue
Block a user