From bd2eca3fb475acf93e1c74deec7c2d99f5d84ec7 Mon Sep 17 00:00:00 2001 From: Davide Sandrelli Date: Thu, 8 Jan 2026 11:16:41 +0100 Subject: [PATCH] - ComuniImport + ClientiImport mapping di comuni e province --- .../Components/Pages/Management/Clienti_Import.razor | 10 ++++++++++ .../Components/Pages/Management/Comuni_Import.razor | 1 + 2 files changed, 11 insertions(+) diff --git a/StandManager/Components/Pages/Management/Clienti_Import.razor b/StandManager/Components/Pages/Management/Clienti_Import.razor index c405816..e1d1bb7 100644 --- a/StandManager/Components/Pages/Management/Clienti_Import.razor +++ b/StandManager/Components/Pages/Management/Clienti_Import.razor @@ -18,6 +18,8 @@ private int clientiTotali { get; set; } = 0; private int counter { get; set; } = 0; private string counterLabel { get; set; } = string.Empty; + private Dictionary _comuniCache { get; set; } + private Dictionary _provinceCache { get; set; } protected override async Task OnInitializedAsync() { @@ -60,6 +62,12 @@ await _managerService.UtenteService.Salva(agente, idClaim); } + var provinceList = await _managerService.ProvinciaIstatService.RicercaQueryable(); + var comuniList = await _managerService.ComuneIstatService.RicercaQueryable(); + + _provinceCache = provinceList.GroupBy(x => x.Sigla.Trim().ToUpper()).ToDictionary(k => k.Key, v => v.First().Id); + _comuniCache = comuniList.GroupBy(x => x.Comune.Trim().ToLower()).ToDictionary(k => k.Key, v => v.First().Id); + var ragioniSociali = rows.Select(r => new { Rid = r.CodCli, RagioneSociale = r.RagSocCliente }).Distinct().ToList(); clientiTotali = ragioniSociali.Count; counterLabel = " di " + clientiTotali; @@ -117,6 +125,8 @@ model.Cap = row.Cap; model.Citta = row.Comune; model.Provincia = row.Provincia; + if (_provinceCache.TryGetValue(row.Provincia.Trim().ToUpper(), out var idProvincia)) model.ProvinciaIstatId = idProvincia; + if (_comuniCache.TryGetValue(row.Comune.Trim().ToUpper(), out var idComune)) model.ComuneIstatId = idComune; model.Email = row.MailFatturazione; model.EmailInvito = row.MailFatturazione; model.NumeroTelefono = row.Telefono; diff --git a/StandManager/Components/Pages/Management/Comuni_Import.razor b/StandManager/Components/Pages/Management/Comuni_Import.razor index d854c39..8d12358 100644 --- a/StandManager/Components/Pages/Management/Comuni_Import.razor +++ b/StandManager/Components/Pages/Management/Comuni_Import.razor @@ -67,6 +67,7 @@ model.Provincia = row.Provincia; model.Prefisso = row.Prefisso; model.CodFisco = row.CodFisco; + model.ProvinciaIstatId = (await _managerService.ProvinciaIstatService.RicercaPer(filtro: x => x.Sigla == row.Provincia))?.Id; return model; }