Gestiti salvataggi rest
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
using IntegryApiClient.Core.Domain.Abstraction.Contracts.Account;
|
||||
using IntegryApiClient.Core.Domain.Abstraction.Contracts.Device;
|
||||
using SteUp.Shared.Core.BarcodeReader.Contracts;
|
||||
using SteUp.Shared.Core.Data.Contracts;
|
||||
using SteUp.Shared.Core.Dto;
|
||||
using SteUp.Shared.Core.Dto.PageState;
|
||||
using SteUp.Shared.Core.Helpers;
|
||||
using SteUp.Shared.Core.Interface.IntegryApi;
|
||||
using SteUp.Shared.Core.Interface.LocalDb;
|
||||
using SteUp.Shared.Core.Interface.System;
|
||||
using SteUp.Shared.Core.Interface.System.Network;
|
||||
|
||||
namespace SteUp.Shared.Core.Data;
|
||||
|
||||
@@ -15,12 +16,14 @@ public class SteupDataService(
|
||||
IUserSession userSession,
|
||||
IDeviceService deviceService,
|
||||
IGenericSystemService genericSystemService,
|
||||
IIspezioniService ispezioniService,
|
||||
IDbInitializer dbInitializer) : ISteupDataService
|
||||
{
|
||||
public async Task Init()
|
||||
{
|
||||
await dbInitializer.InitializeAsync();
|
||||
await LoadDataAsync();
|
||||
await CheckAndUpdateStatus();
|
||||
RegisterAppVersion();
|
||||
}
|
||||
|
||||
@@ -31,6 +34,48 @@ public class SteupDataService(
|
||||
);
|
||||
}
|
||||
|
||||
private async Task CheckAndUpdateStatus()
|
||||
{
|
||||
var ispezioni = await ispezioniService.GetAllIspezioniWithSchedeAsync();
|
||||
var listActivityId = ispezioni
|
||||
.Where(x => x.ActivityId != null)
|
||||
.Select(x => x.ActivityId!)
|
||||
.ToList();
|
||||
|
||||
if (!listActivityId.IsNullOrEmpty())
|
||||
{
|
||||
var stati = await integrySteupService.RetrieveStatoIspezioni(
|
||||
new RetrieveStatoIspezioniRequestDto
|
||||
{
|
||||
ActivityIdList = listActivityId
|
||||
}
|
||||
);
|
||||
|
||||
if (stati != null)
|
||||
{
|
||||
foreach (var stato in stati)
|
||||
{
|
||||
var ispezione = ispezioni.Find(x =>
|
||||
x.ActivityId != null &&
|
||||
x.ActivityId.EqualsIgnoreCase(stato.ActivityId)
|
||||
);
|
||||
|
||||
var newStatus = StatusEnumHelper.ConvertToStatusEnum(stato.ActivityResultId);
|
||||
|
||||
if (ispezione != null && ispezione.Stato != newStatus)
|
||||
{
|
||||
await ispezioniService.UpdateStatoIspezioneAsync(
|
||||
ispezione.CodMdep,
|
||||
ispezione.Data,
|
||||
ispezione.Rilevatore,
|
||||
newStatus
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task LoadDataAsync()
|
||||
{
|
||||
if (!await userSession.IsLoggedIn()) return;
|
||||
|
||||
Reference in New Issue
Block a user