Files
TaskHybrid/salesbook.Maui/Core/Services/SyncDbService.cs
2025-09-09 11:43:07 +02:00

45 lines
1.6 KiB
C#

using salesbook.Shared.Core.Helpers;
using salesbook.Shared.Core.Interface;
using salesbook.Shared.Core.Interface.IntegryApi;
namespace salesbook.Maui.Core.Services;
public class SyncDbService(IIntegryApiService integryApiService, LocalDbService localDb) : ISyncDbService
{
public async Task GetAndSaveCommesse(string? dateFilter)
{
var allCommesse = await integryApiService.RetrieveAllCommesse(dateFilter);
if (!allCommesse.IsNullOrEmpty())
if (dateFilter is null)
await localDb.InsertAll(allCommesse!);
else
await localDb.InsertOrUpdate(allCommesse!);
}
public async Task GetAndSaveSettings(string? dateFilter)
{
if (dateFilter is not null)
await localDb.ResetSettingsDb();
var settingsResponse = await integryApiService.RetrieveSettings();
if (!settingsResponse.ActivityResults.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.ActivityResults!);
if (!settingsResponse.ActivityTypes.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.ActivityTypes!);
if (!settingsResponse.ActivityTypeUsers.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.ActivityTypeUsers!);
if (!settingsResponse.StbUsers.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.StbUsers!);
if (!settingsResponse.VtbTipi.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.VtbTipi!);
if (!settingsResponse.Nazioni.IsNullOrEmpty())
await localDb.InsertAll(settingsResponse.Nazioni!);
}
}