Files
TaskHybrid/Template.Maui/Core/Services/SyncDbService.cs

69 lines
2.4 KiB
C#

using Template.Shared.Core.Interface;
namespace Template.Maui.Core.Services;
public class SyncDbService(IIntegryApiService integryApiService, LocalDbService localDb) : ISyncDbService
{
public async Task GetAndSaveActivity(string? dateFilter)
{
var allActivity = await integryApiService.GetActivity(dateFilter);
if (allActivity is not null)
if (dateFilter is null)
await localDb.Insert(allActivity);
else
await localDb.InsertOrUpdate(allActivity);
}
public async Task GetAndSaveCommesse(string? dateFilter)
{
var allCommesse = await integryApiService.GetAllCommesse(dateFilter);
if (allCommesse is not null)
if (dateFilter is null)
await localDb.Insert(allCommesse);
else
await localDb.InsertOrUpdate(allCommesse);
}
public async Task GetAndSaveProspect(string? dateFilter)
{
var taskSyncResponseDto = await integryApiService.GetProspect(dateFilter);
if (taskSyncResponseDto.PtbPros is not null)
if (dateFilter is null)
await localDb.Insert(taskSyncResponseDto.PtbPros);
else
await localDb.InsertOrUpdate(taskSyncResponseDto.PtbPros);
if (taskSyncResponseDto.PtbProsRif is not null)
if (dateFilter is null)
await localDb.Insert(taskSyncResponseDto.PtbProsRif);
else
await localDb.InsertOrUpdate(taskSyncResponseDto.PtbProsRif);
}
public async Task GetAndSaveClienti(string? dateFilter)
{
var taskSyncResponseDto = await integryApiService.GetAnagClie(dateFilter);
if (taskSyncResponseDto.AnagClie is not null)
if (dateFilter is null)
await localDb.Insert(taskSyncResponseDto.AnagClie);
else
await localDb.InsertOrUpdate(taskSyncResponseDto.AnagClie);
if (taskSyncResponseDto.VtbDest is not null)
if (dateFilter is null)
await localDb.Insert(taskSyncResponseDto.VtbDest);
else
await localDb.InsertOrUpdate(taskSyncResponseDto.VtbDest);
if (taskSyncResponseDto.VtbCliePersRif is not null)
if (dateFilter is null)
await localDb.Insert(taskSyncResponseDto.VtbCliePersRif);
else
await localDb.InsertOrUpdate(taskSyncResponseDto.VtbCliePersRif);
}
}