180 lines
6.2 KiB
C#
180 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
|
|
|
|
namespace XPS_data
|
|
{
|
|
/// <summary>
|
|
/// Summary description for extSync
|
|
/// </summary>
|
|
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();
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string caricaClienti()
|
|
{
|
|
// inizializzo stringa output
|
|
string ragSocNotImp = "<b>...sync completato!</b><br /><br>";
|
|
// 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("<br/> 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;
|
|
}
|
|
}
|
|
} |