Primo sviluppo sincronizzazione e migliorie ui

This commit is contained in:
2025-05-19 16:47:21 +02:00
parent 6f08ba87be
commit 626408412b
66 changed files with 1824 additions and 91 deletions

View File

@@ -0,0 +1,57 @@
@page "/sync"
@page "/sync/{DateFilter}"
@using Template.Shared.Components.Layout.Spinner
@using Template.Shared.Core.Interface
@inject ISyncDbService syncDb
<SyncSpinner Elements="@Elements"/>
@code {
[Parameter] public string? DateFilter { get; set; }
private Dictionary<string, bool> Elements { get; set; } = new();
protected override async Task OnInitializedAsync()
{
Elements.Add("Attività", false);
Elements.Add("Clienti", false);
Elements.Add("Commesse", false);
StateHasChanged();
await Task.WhenAll(SetActivity(), SetClienti(), SetCommesse());
LocalStorage.Set("last-sync", DateTime.Now);
var pathQuery = System.Web.HttpUtility.ParseQueryString(new UriBuilder(NavigationManager.Uri).Query);
var originalPath = pathQuery["path"] ?? null;
var path = originalPath ?? "/Calendar";
NavigationManager.NavigateTo(path);
}
private async Task SetActivity()
{
await syncDb.GetAndSaveActivity(DateFilter);
Elements["Attività"] = true;
StateHasChanged();
}
private async Task SetClienti()
{
await syncDb.GetAndSaveClienti(DateFilter);
await syncDb.GetAndSaveProspect(DateFilter);
Elements["Clienti"] = true;
StateHasChanged();
}
private async Task SetCommesse()
{
await syncDb.GetAndSaveCommesse(DateFilter);
Elements["Commesse"] = true;
StateHasChanged();
}
}