using System; using System.Collections.Generic; using System.Web; namespace XPS_data { /// /// 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() { // inizializzo stringa output string ragSocNotImp = "...sync completato!

"; // procedura vecchia in c# #if false // 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, piva, email; int errori; int nonImportati = 0; 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++; } try { piva = riga.clcdpiva; } catch { piva = ""; errori++; } try { email = riga.clemail; } catch { email = ""; errori++; } // compongo stringa descrittiva //ragioneSociale = string.Format("{0}, {1} {2} {3} {4}", ragSoc, indirizzo, cap, localita, prov); ragioneSociale = string.Format("{0}", ragSoc); // 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... taAnagCli.updateQuery(rigaDest.CodCliente, ragioneSociale, piva, email, indirizzo, cap, localita, prov); } else { // se manca aggiungo... taAnagCli.Insert(riga.clcodcn, ragioneSociale, piva, email, indirizzo, cap, localita, prov); } } 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); } } #endif string esito = ""; // chiamo stored x caricare anag clienti + email //DS_importTableAdapters.caricaSwingData taSwing = new DS_importTableAdapters.caricaSwingData(); //taSwing.stp_CaricaAnagCliSwing(ref esito); SteamWare.logger.lg.scriviLog("Richiesto refresh dati anagrafiche", SteamWare.tipoLog.INFO); try { XPS_data.DS_XPSTableAdapters.SP taSP = new XPS_data.DS_XPSTableAdapters.SP(); taSP.stp_CaricaAnagCliSwing(ref esito); SteamWare.logger.lg.scriviLog(string.Format("Effettuato caricamento dati anagrafiche, esito: {0}{1}", Environment.NewLine, esito), SteamWare.tipoLog.INFO); } catch (Exception exc) { SteamWare.logger.lg.scriviLog(string.Format("Errore in caricamento dati anagrafiche: {0}{1}", Environment.NewLine, exc), SteamWare.tipoLog.INFO); } ragSocNotImp += esito; // return messaggio return ragSocNotImp; } } }