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 <noreply@anthropic.com>
This commit is contained in:
davideandClaude Sonnet 5 committed 2026-09-17 09:13:38 +02:00
1 parent b77ec39c5b
commit 4a3f0a4cf8
1 file changed
+4 -1
+4 -1
View File
@@ -44,6 +44,7 @@ public partial class Form1 : Form
private string? _dbPath;
private string? _percorsoInputCorrente;
private List<(string Componente, string Descrizione)>? _righeCorrenti;
private Dictionary<string, List<string>>? _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)