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? _dbPath;
|
||||||
private string? _percorsoInputCorrente;
|
private string? _percorsoInputCorrente;
|
||||||
private List<(string Componente, string Descrizione)>? _righeCorrenti;
|
private List<(string Componente, string Descrizione)>? _righeCorrenti;
|
||||||
|
private Dictionary<string, List<string>>? _ultimaVerifica;
|
||||||
private string? _ultimaCartellaRaw;
|
private string? _ultimaCartellaRaw;
|
||||||
|
|
||||||
public Form1()
|
public Form1()
|
||||||
@@ -473,6 +474,7 @@ public partial class Form1 : Form
|
|||||||
}
|
}
|
||||||
_gridRaw.Rows.Clear();
|
_gridRaw.Rows.Clear();
|
||||||
_ultimaCartellaRaw = null;
|
_ultimaCartellaRaw = null;
|
||||||
|
_ultimaVerifica = null;
|
||||||
|
|
||||||
ImpostaStatoImport($"CSV generato ({righe.Count} righe): {csv}", Color.DarkGreen);
|
ImpostaStatoImport($"CSV generato ({righe.Count} righe): {csv}", Color.DarkGreen);
|
||||||
}
|
}
|
||||||
@@ -501,6 +503,7 @@ public partial class Form1 : Form
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var trovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente));
|
var trovati = TrovaPercorsiCad(_righeCorrenti.Select(r => r.Componente));
|
||||||
|
_ultimaVerifica = trovati;
|
||||||
foreach (DataGridViewRow riga in _gridImport.Rows)
|
foreach (DataGridViewRow riga in _gridImport.Rows)
|
||||||
{
|
{
|
||||||
string componente = (string)riga.Cells["componente"].Value!;
|
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
|
// L'assieme generale è già una riga di _righeCorrenti (aggiunta da
|
||||||
// DistintaBaseImporter.ConvertiInCsv leggendo il nome del file distinta), quindi viene
|
// 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.
|
// 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();
|
_gridRaw.Rows.Clear();
|
||||||
foreach (var (componente, _) in _righeCorrenti)
|
foreach (var (componente, _) in _righeCorrenti)
|
||||||
|
|||||||
Reference in new issue
Block a user