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:
1 parent
b77ec39c5b
commit
4a3f0a4cf8
1 file changed
+4
-1
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user