Files
XPS/XPS_data/extSync.cs
T
Samuele Locatelli 5d99b976a3 spostamento XPS_data
2017-01-31 14:34:55 +01:00

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;
}
}
}