Fix get ispezioni

This commit is contained in:
2026-04-23 10:57:10 +02:00
parent f9e4957ae3
commit c2da0e150d
2 changed files with 22 additions and 10 deletions

View File

@@ -20,13 +20,13 @@ public class IspezioniService(AppDbContext db) : IIspezioniService
public Task<List<Ispezione>> GetAllIspezioni(string rilevatore) =>
db.Ispezioni
.Where(x => x.Rilevatore.Equals(rilevatore, StringComparison.InvariantCultureIgnoreCase))
.Where(x => x.Rilevatore.ToLower() == rilevatore.ToLower())
.AsNoTracking()
.ToListAsync();
public Task<List<Ispezione>> GetAllIspezioniWithSchedeAsync(string rilevatore) =>
db.Ispezioni
.Where(x => x.Rilevatore.Equals(rilevatore, StringComparison.InvariantCultureIgnoreCase))
.Where(x => x.Rilevatore.ToLower() == rilevatore.ToLower())
.Include(x => x.Schede)
.ThenInclude(s => s.Articoli)
.AsNoTracking()

View File

@@ -3,6 +3,7 @@ using IntegryApiClient.Core.Domain.Abstraction.Contracts.Device;
using SteUp.Shared.Core.Data.Contracts;
using SteUp.Shared.Core.Dto;
using SteUp.Shared.Core.Dto.PageState;
using SteUp.Shared.Core.Entities;
using SteUp.Shared.Core.Enum;
using SteUp.Shared.Core.Helpers;
using SteUp.Shared.Core.Interface.IntegryApi;
@@ -24,8 +25,15 @@ public class SteupDataService(
{
await dbInitializer.InitializeAsync();
await LoadDataAsync();
await CheckAndUpdateStatus();
await CleanOldClosedInspection();
var ispezioni = await ispezioniService.GetAllIspezioniWithSchedeAsync(userSession.User.Username);
if (!ispezioni.IsNullOrEmpty())
{
await CheckAndUpdateStatus(ispezioni);
await CleanOldClosedInspection(ispezioni);
}
RegisterAppVersion();
}
@@ -36,10 +44,9 @@ public class SteupDataService(
);
}
private async Task CleanOldClosedInspection()
private async Task CleanOldClosedInspection(List<Ispezione> ispezioni)
{
var ispezioni = (await ispezioniService.GetAllIspezioniWithSchedeAsync(userSession.User.Username))
.Where(x =>
ispezioni = ispezioni.Where(x =>
x.Stato == StatusEnum.Completata &&
x.Data < DateTime.Now.AddDays(-60)
).ToList();
@@ -54,6 +61,11 @@ public class SteupDataService(
public async Task CheckAndUpdateStatus()
{
var ispezioni = await ispezioniService.GetAllIspezioniWithSchedeAsync(userSession.User.Username);
await CheckAndUpdateStatus(ispezioni);
}
private async Task CheckAndUpdateStatus(List<Ispezione> ispezioni)
{
var listActivityId = ispezioni
.Where(x => x.ActivityId != null)
.Select(x => x.ActivityId!)