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.Interface.IntegryApi; using SteUp.Shared.Core.Interface.LocalDb; using SteUp.Shared.Core.Interface.System; namespace SteUp.Shared.Core.Data; public class SteupDataService( IIntegrySteupService integrySteupService, IUserSession userSession, IDeviceService deviceService, IGenericSystemService genericSystemService, IDbInitializer dbInitializer) : ISteupDataService { public async Task Init() { await dbInitializer.InitializeAsync(); await LoadDataAsync(); RegisterAppVersion(); } public void RegisterAppVersion() { deviceService.RegisterAppVersion( genericSystemService.GetCurrentAppVersion() ); } private async Task LoadDataAsync() { if (!await userSession.IsLoggedIn()) return; PuntiVenditaList = await integrySteupService.RetrievePuntiVendita(); Reparti = await integrySteupService.RetrieveReparti(); TipiAttività = await integrySteupService.RetrieveActivityType(); } public InspectionPageState InspectionPageState { get; set; } = new(); public List PuntiVenditaList { get; private set; } = []; public List Reparti { get; private set; } = []; public List TipiAttività { get; private set; } = []; }