using System; using System.Collections.Generic; using System.Web; /// /// Summary description for extSync /// public class extSync { #region area tableAdapter DS_importTableAdapters.aclTableAdapter taACL_orig; DS_applicazioneTableAdapters.AnagClientiTableAdapter taAnagCli; private void caricaTA() { taAnagCli = new DS_applicazioneTableAdapters.AnagClientiTableAdapter(); taACL_orig = new DS_importTableAdapters.aclTableAdapter(); } #endregion protected extSync() { // avvio tableAdapters caricaTA(); } public static extSync obj = new extSync(); /// /// /// /// public string caricaClienti() { // carico tab clienti access DS_import.aclDataTable tabOrig = taACL_orig.GetData(); // carico tab clienti MSSQL DS_applicazione.AnagClientiDataTable tabDest = taAnagCli.GetData(); DS_applicazione.AnagClientiRow rigaDest; string ragioneSociale; // verifico uno ad uno i clienti... string ragSoc, indirizzo, localita, cap, prov; int errori; int nonImportati = 0; string ragSocNotImp = "...sync completato!

"; foreach (DS_import.aclRow riga in tabOrig) { errori = 0; // calcolo i singoli valori... try { ragSoc = riga.clragd; } catch { ragSoc = "rag.soc. nd"; errori++; } try { indirizzo = riga.clindi; } catch { indirizzo = "indir. nd"; errori++; } try { localita = riga.clloca; } catch { localita = "local. nd"; errori++; } try { cap = riga.clcapo; } catch { cap = "cap nd"; errori++; } try { prov = riga.clprov; } catch { prov = "prov. nd"; errori++; } // compongo stringa descrittiva ragioneSociale = string.Format("{0}, {1} {2} {3} {4}", ragSoc, indirizzo, cap, localita, prov); // inserisco SOLO se non mancano + di 3 valori... if (errori < 4) { // controllo se eccedo i 50 char... if (ragioneSociale.Length > 50) { ragioneSociale = ragioneSociale.Substring(0, 47) + "..."; } try { rigaDest = tabDest.FindByCodCliente(riga.clcodcn); if (rigaDest != null) { // se c'è faccio update... rigaDest.RagioneSociale = ragioneSociale; } else { // se manca aggiungo... taAnagCli.Insert(riga.clcodcn, ragioneSociale); } } catch { SteamWare.logger.lg.scriviLog(string.Format("errore inserimento per cod cliente {0}", riga.clcodcn), SteamWare.tipoLog.EXCEPTION); } } else { // mancano + di 2 valori, NON IMPORTO!!!! nonImportati++; ragSocNotImp += string.Format("
Non ho importato la ragione sociale collegata all'id {0} poiché i dati mancanti sono troppi: {1}", riga.clcodcn, ragioneSociale); SteamWare.logger.lg.scriviLog(string.Format("errore inserimento per cod cliente {0}", riga.clcodcn), SteamWare.tipoLog.INFO); } } return ragSocNotImp; } }