57 lines
1.5 KiB
Plaintext
57 lines
1.5 KiB
Plaintext
@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();
|
|
}
|
|
|
|
} |