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); } }