diff --git a/src/y4f/Shared/Bestellbestätigung.razor b/src/y4f/Shared/Bestellbestätigung.razor index 0f6354c..760eedf 100644 --- a/src/y4f/Shared/Bestellbestätigung.razor +++ b/src/y4f/Shared/Bestellbestätigung.razor @@ -14,6 +14,7 @@ + diff --git a/src/y4f/Shared/Yummy-Punkte.razor b/src/y4f/Shared/Yummy-Punkte.razor index 2bae366..b8930fc 100644 --- a/src/y4f/Shared/Yummy-Punkte.razor +++ b/src/y4f/Shared/Yummy-Punkte.razor @@ -1,29 +1,105 @@ @page "/Yummy-Punkte" +@inject HttpClient Http +@inject Blazored.LocalStorage.ISyncLocalStorageService localStorage -
-

Ihre Yummy-Punkte

- -
- @for(int i = 0; i < 10; i++) - { - - } -
-
- -

Bei einem Mindestbestellwert von 8€ erhalten Sie ein Yummy-Punkt. Ab der 10ten Bestellung gibt es einen Rabatt zu Ihrer nächsten Bestellung.

- -
-
- - -
+
+

Ihre Yummy-Punkte

-
+
+ @for (int i = 0; i < 10; i++) + { + @*if kunde hat treuepunkte*@ + @if (kunde.Treuepunkte > i) + { + + } + else + { + + } + } +
+
+

Bei einem Mindestbestellwert von 8€ erhalten Sie ein Yummy-Punkt. Ab der 10ten Bestellung gibt es einen Rabatt zu Ihrer nächsten Bestellung.

+

Aktueller Rabatt: @rabatt.Prozent %

+ +
+
+ + + @*reset button to set the treuepunkte to null*@ + +
+ +
+ @code { - + // allergien, bestellungsposition, kunde, menuitem, menuitemkategorie, menuitemueberkategorie, rabatt + + private List kunden = new List(); + private Kunde kunde = new Kunde(); + + private List rabatte = new List(); + private Rabatt rabatt = new Rabatt(); + + + public void resetTreuepunkte() + { + if (kunde.Treuepunkte == 10) + { + kunde.Treuepunkte = 0; + // API change treupunkte to 0 if kunde has 10 treuepunkte + Http.PutAsJsonAsync("https://localhost:7076/api/kunden/" + kunde.Idkunde, kunde); + } + } + + protected override async Task OnInitializedAsync() + { + kunden = await Http.GetFromJsonAsync>("https://localhost:7076/api/kunden"); + rabatte = await Http.GetFromJsonAsync>("https://localhost:7076/api/Rabatte"); + + kunde = kunden[0]; + + // get the most recent rabatt, that are still valid (GueltigkeitBis) + // if there is no rabatt, set the rabatt to null + if (rabatte.Count == 0) + { + rabatt = null; + } + else + { + for (int i = 0; i < rabatte.Count; i++) + { + if (rabatte[i].GueltigkeitBis > DateTime.Now) + { + rabatt = rabatte[i]; + } + } + } + //rabatt = rabatte[rabatte.Count - 1]; + + + } + + public class Kunde + { + public int Idkunde { get; set; } + public string Code { get; set; } + public int Treuepunkte { get; set; } + } + public class Rabatt + { + public int Idrabatt { get; set; } + + public decimal Prozent { get; set; } + + public DateTime GueltigkeitVon { get; set; } + + public DateTime GueltigkeitBis { get; set; } + + } } diff --git a/src/y4f/wwwroot/assets/Point-Circle.png b/src/y4f/wwwroot/assets/Point-Circle.png new file mode 100644 index 0000000..6d661a3 Binary files /dev/null and b/src/y4f/wwwroot/assets/Point-Circle.png differ
Bestellung eingegangen Bestellung wird zubereitet