Cambiata visualizzazione calendario e aggiunto formAttività

This commit is contained in:
2025-06-11 10:11:20 +02:00
parent d462e9faca
commit d8f2588e0e
52 changed files with 1308 additions and 4734 deletions

View File

@@ -3,6 +3,7 @@
@using Template.Shared.Components.Layout.Spinner
@using Template.Shared.Core.Interface
@inject ISyncDbService syncDb
@inject IManageDataService manageData
<SyncSpinner Elements="@Elements"/>
@@ -11,27 +12,55 @@
private Dictionary<string, bool> Elements { get; set; } = new();
protected override async Task OnInitializedAsync()
private bool _hasStarted = false;
private int _completedCount = 0;
protected override void OnInitialized()
{
Elements.Add("Attività", false);
Elements.Add("Clienti", false);
Elements.Add("Commesse", false);
StateHasChanged();
Elements["Attività"] = false;
Elements["Commesse"] = false;
Elements["Clienti"] = false;
Elements["Prospect"] = false;
}
await Task.WhenAll(SetActivity(), SetClienti(), SetCommesse());
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender && !_hasStarted)
{
_hasStarted = true;
LocalStorage.Set("last-sync", DateTime.Now);
if (DateFilter is null)
{
await manageData.ClearDb();
}
var pathQuery = System.Web.HttpUtility.ParseQueryString(new UriBuilder(NavigationManager.Uri).Query);
var originalPath = pathQuery["path"] ?? null;
var path = originalPath ?? "/Calendar";
NavigationManager.NavigateTo(path);
await Task.WhenAll(RunAndTrack(SetActivity), RunAndTrack(SetClienti), RunAndTrack(SetProspect), RunAndTrack(SetCommesse));
}
}
private async Task RunAndTrack(Func<Task> func)
{
await func();
_completedCount++;
if (_completedCount == Elements.Count)
{
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, replace: true);
}
}
private async Task SetActivity()
{
await syncDb.GetAndSaveActivity(DateFilter);
await Task.Run(async () =>
{
await syncDb.GetAndSaveActivity(DateFilter);
});
Elements["Attività"] = true;
StateHasChanged();
@@ -39,16 +68,32 @@
private async Task SetClienti()
{
await syncDb.GetAndSaveClienti(DateFilter);
await syncDb.GetAndSaveProspect(DateFilter);
await Task.Run(async () =>
{
await syncDb.GetAndSaveClienti(DateFilter);
});
Elements["Clienti"] = true;
StateHasChanged();
}
private async Task SetProspect()
{
await Task.Run(async () =>
{
await syncDb.GetAndSaveProspect(DateFilter);
});
Elements["Prospect"] = true;
StateHasChanged();
}
private async Task SetCommesse()
{
await syncDb.GetAndSaveCommesse(DateFilter);
await Task.Run(async () =>
{
await syncDb.GetAndSaveCommesse(DateFilter);
});
Elements["Commesse"] = true;
StateHasChanged();