From 4a3f0a4cf8fe0315ce71d3292720b51bead3fdd2 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Thu, 17 Sep 2026 09:13:38 +0200 Subject: [PATCH] Cache DB verification result and reuse it when creating the raw folder Avoids re-running the same lookup against cad_index.db twice when the user already clicked "Verifica presenza nel DB" before "Crea cartella raw". Co-Authored-By: Claude Sonnet 5 --- CadSearchGui/Form1.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CadSearchGui/Form1.cs b/CadSearchGui/Form1.cs index 89011b3..969b6d3 100644 --- a/CadSearchGui/Form1.cs +++ b/CadSearchGui/Form1.cs @@ -44,6 +44,7 @@ public partial class Form1 : Form private string? _dbPath; private string? _percorsoInputCorrente; private List<(string Componente, string Descrizione)>? _righeCorrenti; + private Dictionary>? _ultimaVerifica; private string? _ultimaCartellaRaw; public Form1() @@ -473,6 +474,7 @@ public partial class Form1 : Form } _gridRaw.Rows.Clear(); _ultimaCartellaRaw = null; + _ultimaVerifica = null; ImpostaStatoImport($"CSV generato ({righe.Count} righe): {csv}", Color.DarkGreen); } @@ -501,6 +503,7 @@ public partial class Form1 : Form return; var trovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); + _ultimaVerifica = trovati; foreach (DataGridViewRow riga in _gridImport.Rows) { string componente = (string)riga.Cells["componente"].Value!; @@ -518,7 +521,7 @@ public partial class Form1 : Form // L'assieme generale è già una riga di _righeCorrenti (aggiunta da // DistintaBaseImporter.ConvertiInCsv leggendo il nome del file distinta), quindi viene // trovato e copiato in raw come qualsiasi altro componente, senza bisogno di un caso speciale. - var percorsiTrovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); + var percorsiTrovati = _ultimaVerifica ?? TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente)); _gridRaw.Rows.Clear(); foreach (var (componente, _) in _righeCorrenti)