@page "/" @using Blazor.IndexedDB @using DBTest.DB @using Microsoft.Data.SqlClient @inject IIndexedDbFactory DbFactory Home

Artikelliste

@if (artikelliste == null) {

Loading...

} else {
@foreach (var quote in artikelliste) {

"@quote.Barcode"

@quote.Bezeichnung
}
} @code { private List artikelliste; protected override async Task OnInitializedAsync() { await LoadQuotesAsync(); } private async Task LoadQuotesAsync() { using (var db = await DbFactory.Create()) { // Load quotes from IndexedDB artikelliste = db.ArtikelListe.ToList(); // If no quotes exist in IndexedDB, fetch from API if (artikelliste == null || artikelliste.Count == 0) { await FetchAndStoreQuotesFromDBAsync(); } } } private async Task FetchAndStoreQuotesFromDBAsync() { try { using (var db = await DbFactory.Create()) { //Läuft nicht auf dem Client !!!! // using (SqlConnection con = new SqlConnection("Data Source=APP03AC;Initial Catalog=KassenSystem;User Id=KassenManager;Password=ks;Max Pool Size=600;Connection Timeout=3000;encrypt=true;")) // { // con.Open(); // 0 1 2 3 4 5 // string sql = "SELECT [ArtikelMA].[ArtikelId], [ArtikelNummer], [ArtikelMA].[Barcode], [Bontext], [Mengeneinheit], isnull([Farbe], '') FROM [Kassensystem].[KS].[ArtikelMA] left join [Kassensystem].[KS].[ArtikelVariantenMA] on [ArtikelMA].[ArtikelId] = [ArtikelVariantenMA].[ArtikelId] where [ArtikelMA].GeloeschtAm is null and istAusgeblendet = 0 and [ArtikelVariantenMA].GeloeschtAm is null order by ArtikelId, Farbe"; // using (SqlCommand cmd = new SqlCommand(sql, con)) // { // using (SqlDataReader reader = cmd.ExecuteReader()) // { // while (reader.Read()) // { // Artikel a1 = new Artikel(); // a1.Key = reader.GetString(0); // a1.ArtikelNummer = reader.GetString(1); // a1.Variante = reader.GetString(5); // a1.Bezeichnung = reader.GetString(3); // db.ArtikelListe.Add(a1); // } // } // } // } Artikel a1 = new Artikel(); a1.Key = "1"; a1.ArtikelNummer = "0815"; a1.Variante = ""; a1.Bezeichnung = "Testartikel"; db.ArtikelListe.Add(a1); await db.SaveChanges(); // Save changes } } catch (Exception ex) { Console.WriteLine(ex.Message); } } private async Task ForceRefresh() { using (var db = await DbFactory.Create()) { db.ArtikelListe.Clear(); // Clear existing data from IndexedDB await db.SaveChanges(); } await FetchAndStoreQuotesFromDBAsync(); // Fetch fresh data from API } }