diff --git a/XPS/App_Code/extSync.cs b/XPS/App_Code/extSync.cs index a2fe272..704b06d 100644 --- a/XPS/App_Code/extSync.cs +++ b/XPS/App_Code/extSync.cs @@ -32,46 +32,106 @@ public class extSync /// /// /// - public bool caricaClienti() + public string caricaClienti() { - bool answ = 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 ragSoc; + 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 { - rigaDest = tabDest.FindByCodCliente(riga.clcodcn); - if (rigaDest != null) - { - // se c'è faccio update... - ragSoc = string.Format("{0}, {1} {2} {3} {4}", riga.clragd, riga.clindi, riga.clcapo, riga.clloca, riga.clprov); - // controllo se eccedo i 50 char...) - if (ragSoc.Length > 50) - { - rigaDest.RagioneSociale = ragSoc.Substring(0, 50); - } - else - { - rigaDest.RagioneSociale = ragSoc; - } - } - else - { - // se manca aggiungo... - taAnagCli.Insert(riga.clcodcn, string.Format("{0}, {1} {2} {3} {4}", riga.clragd, riga.clindi, riga.clcapo, riga.clloca, riga.clprov).Substring(0, 50)); - } + ragSoc = riga.clragd; } catch { - SteamWare.logger.lg.scriviLog(string.Format("errore inserimento per cod cliente {0}", riga.clcodcn), SteamWare.tipoLog.EXCEPTION); + 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 answ; + return ragSocNotImp; } } diff --git a/XPS/Bin/SteamWare.dll b/XPS/Bin/SteamWare.dll index 2a9ed1e..c7cadf7 100644 Binary files a/XPS/Bin/SteamWare.dll and b/XPS/Bin/SteamWare.dll differ diff --git a/XPS/Web.config b/XPS/Web.config index 6199c1d..c55b22b 100644 --- a/XPS/Web.config +++ b/XPS/Web.config @@ -118,8 +118,10 @@ providerName="System.Data.SqlClient" /> - + + diff --git a/XPS/mod_update.ascx b/XPS/mod_update.ascx index c55b83a..c053a4a 100644 --- a/XPS/mod_update.ascx +++ b/XPS/mod_update.ascx @@ -13,13 +13,16 @@

per ora sarà solo visibile SOLO la funzione di sync dati del cliente (x caricare i dati dell'anagrafica...)

--%>

-Aggiorna anagrafica clienti + Aggiorna anagrafica clienti

-con questa funzione verranno ricaricate le anagrafiche dei clienti: questo significa che i nuovi clienti saranno importati ed aggiunti, mentr per i vecchi clienti di cui si sia cambiata la descrizione e/o la parte di indirizzo (ma mantenuto il codice cliente) si provvederà all'aggiornamento di questi dati a pari codice.

- -
  • -
  • -
  • - + con questa funzione verranno ricaricate le anagrafiche dei clienti: questo significa + che i nuovi clienti saranno importati ed aggiunti, mentr per i vecchi clienti di + cui si sia cambiata la descrizione e/o la parte di indirizzo (ma mantenuto il codice + cliente) si provvederà all'aggiornamento di questi dati a pari codice.

    + +
    + +
    + diff --git a/XPS/mod_update.ascx.cs b/XPS/mod_update.ascx.cs index 54a681a..a792faf 100644 --- a/XPS/mod_update.ascx.cs +++ b/XPS/mod_update.ascx.cs @@ -13,7 +13,6 @@ public partial class mod_update : System.Web.UI.UserControl protected void Button1_Click(object sender, EventArgs e) { lblStart.Text = "inizio sync..."; - extSync.obj.caricaClienti(); - lblEnd.Text = "...sync completato!"; + lblEnd.Text = extSync.obj.caricaClienti(); } } diff --git a/project/XPS_deploy/Release/bin/SteamWare.dll b/project/XPS_deploy/Release/bin/SteamWare.dll index 6317f55..c7cadf7 100644 Binary files a/project/XPS_deploy/Release/bin/SteamWare.dll and b/project/XPS_deploy/Release/bin/SteamWare.dll differ diff --git a/project/XPS_deploy/Release/bin/XPS.dll b/project/XPS_deploy/Release/bin/XPS.dll index d576c6d..b005bf7 100644 Binary files a/project/XPS_deploy/Release/bin/XPS.dll and b/project/XPS_deploy/Release/bin/XPS.dll differ diff --git a/project/XPS_deploy/Release/mod_update.ascx b/project/XPS_deploy/Release/mod_update.ascx new file mode 100644 index 0000000..fe011f4 --- /dev/null +++ b/project/XPS_deploy/Release/mod_update.ascx @@ -0,0 +1,28 @@ +<%@ control language="C#" autoeventwireup="true" inherits="mod_update, XPS" %> +<%--

    + Modulo di update...

    +

    +  

    +

    + faremo tante cose

    +

    +  

    +

    + 1) wizard install
    + 2) wizard di upgrade db

    +

    + per ora sarà solo visibile SOLO la funzione di sync dati del cliente (x caricare i dati dell'anagrafica...)

    --%> +

    + Aggiorna anagrafica clienti +

    +

    + con questa funzione verranno ricaricate le anagrafiche dei clienti: questo significa + che i nuovi clienti saranno importati ed aggiunti, mentr per i vecchi clienti di + cui si sia cambiata la descrizione e/o la parte di indirizzo (ma mantenuto il codice + cliente) si provvederà all'aggiornamento di questi dati a pari codice.

    + +
    + +
    + diff --git a/project/XPS_deploy/Release/update.aspx b/project/XPS_deploy/Release/update.aspx new file mode 100644 index 0000000..855acba --- /dev/null +++ b/project/XPS_deploy/Release/update.aspx @@ -0,0 +1,8 @@ +<%@ page title="" language="C#" masterpagefile="~/AjaxTitle.master" autoeventwireup="true" inherits="update, XPS" %> + +<%@ Register src="mod_update.ascx" tagname="mod_update" tagprefix="uc1" %> + + + + + diff --git a/project/XPS_deploy/Release/web.config b/project/XPS_deploy/Release/web.config index badebb2..1671c9d 100644 --- a/project/XPS_deploy/Release/web.config +++ b/project/XPS_deploy/Release/web.config @@ -79,7 +79,7 @@ - + @@ -118,8 +118,10 @@ providerName="System.Data.SqlClient" /> - + + diff --git a/project/XPS_deploy/ResolveAssemblyReference.cache b/project/XPS_deploy/ResolveAssemblyReference.cache index c46b352..2575a45 100644 Binary files a/project/XPS_deploy/ResolveAssemblyReference.cache and b/project/XPS_deploy/ResolveAssemblyReference.cache differ diff --git a/project/XPS_deploy/Source/App_Code/extSync.cs b/project/XPS_deploy/Source/App_Code/extSync.cs index 2ee5b3f..704b06d 100644 --- a/project/XPS_deploy/Source/App_Code/extSync.cs +++ b/project/XPS_deploy/Source/App_Code/extSync.cs @@ -20,43 +20,118 @@ public class extSync #endregion - public extSync() + protected extSync() { - // avvio tableAdapters + // avvio tableAdapters caricaTA(); } - + public static extSync obj = new extSync(); + /// /// /// /// - public bool caricaClienti() + public string caricaClienti() { - bool answ = 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; + int errori; + int nonImportati = 0; + string ragSocNotImp = "...sync completato!

    "; foreach (DS_import.aclRow riga in tabOrig) { + errori = 0; + // calcolo i singoli valori... try { - rigaDest = tabDest.FindByCodCliente(riga.clcodcn); - if (rigaDest != null) - { - // se c'è faccio update... - } - rigaDest.RagioneSociale = string.Format("{0}, {1} {2} {3} {4}", riga.clragd, riga.clindi, riga.clcapo, riga.clloca, riga.clprov).Substring(0, 50); + ragSoc = riga.clragd; } catch { - // se manca aggiungo... - taAnagCli.Insert(riga.clcodcn, string.Format("{0}, {1} {2} {3} {4}", riga.clragd, riga.clindi, riga.clcapo, riga.clloca, riga.clprov).Substring(0, 50)); + 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 answ; + return ragSocNotImp; } } diff --git a/project/XPS_deploy/Source/App_Data/SP_DB_init.sql b/project/XPS_deploy/Source/App_Data/SP_DB_init.sql new file mode 100644 index 0000000..ef15a1a Binary files /dev/null and b/project/XPS_deploy/Source/App_Data/SP_DB_init.sql differ diff --git a/project/XPS_deploy/Source/Bin/SteamWare.dll b/project/XPS_deploy/Source/Bin/SteamWare.dll index 6317f55..c7cadf7 100644 Binary files a/project/XPS_deploy/Source/Bin/SteamWare.dll and b/project/XPS_deploy/Source/Bin/SteamWare.dll differ diff --git a/project/XPS_deploy/Source/Web.config b/project/XPS_deploy/Source/Web.config index f10171a..c55b22b 100644 --- a/project/XPS_deploy/Source/Web.config +++ b/project/XPS_deploy/Source/Web.config @@ -79,7 +79,7 @@ - + @@ -118,8 +118,10 @@ providerName="System.Data.SqlClient" /> - + + diff --git a/project/XPS_deploy/Source/mod_update.ascx b/project/XPS_deploy/Source/mod_update.ascx new file mode 100644 index 0000000..c053a4a --- /dev/null +++ b/project/XPS_deploy/Source/mod_update.ascx @@ -0,0 +1,28 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_update.ascx.cs" Inherits="mod_update" %> +<%--

    + Modulo di update...

    +

    +  

    +

    + faremo tante cose

    +

    +  

    +

    + 1) wizard install
    + 2) wizard di upgrade db

    +

    + per ora sarà solo visibile SOLO la funzione di sync dati del cliente (x caricare i dati dell'anagrafica...)

    --%> +

    + Aggiorna anagrafica clienti +

    +

    + con questa funzione verranno ricaricate le anagrafiche dei clienti: questo significa + che i nuovi clienti saranno importati ed aggiunti, mentr per i vecchi clienti di + cui si sia cambiata la descrizione e/o la parte di indirizzo (ma mantenuto il codice + cliente) si provvederà all'aggiornamento di questi dati a pari codice.

    + +
    + +
    + diff --git a/project/XPS_deploy/Source/mod_update.ascx.cs b/project/XPS_deploy/Source/mod_update.ascx.cs new file mode 100644 index 0000000..a792faf --- /dev/null +++ b/project/XPS_deploy/Source/mod_update.ascx.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class mod_update : System.Web.UI.UserControl +{ + protected void Page_Load(object sender, EventArgs e) + { + + } + protected void Button1_Click(object sender, EventArgs e) + { + lblStart.Text = "inizio sync..."; + lblEnd.Text = extSync.obj.caricaClienti(); + } +} diff --git a/project/XPS_deploy/Source/update.aspx b/project/XPS_deploy/Source/update.aspx new file mode 100644 index 0000000..2854d4c --- /dev/null +++ b/project/XPS_deploy/Source/update.aspx @@ -0,0 +1,8 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxTitle.master" AutoEventWireup="true" CodeFile="update.aspx.cs" Inherits="update" %> + +<%@ Register src="mod_update.ascx" tagname="mod_update" tagprefix="uc1" %> + + + + + diff --git a/project/XPS_deploy/Source/update.aspx.cs b/project/XPS_deploy/Source/update.aspx.cs new file mode 100644 index 0000000..43bd159 --- /dev/null +++ b/project/XPS_deploy/Source/update.aspx.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class update : System.Web.UI.Page +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} diff --git a/project/XPS_installer/Release/XPS_installer.msi b/project/XPS_installer/Release/XPS_installer.msi index fa957e5..3aea6e2 100644 Binary files a/project/XPS_installer/Release/XPS_installer.msi and b/project/XPS_installer/Release/XPS_installer.msi differ diff --git a/project/XPS_installer/XPS_installer.vdproj b/project/XPS_installer/XPS_installer.vdproj index 474d689..0c7bd8b 100644 --- a/project/XPS_installer/XPS_installer.vdproj +++ b/project/XPS_installer/XPS_installer.vdproj @@ -378,7 +378,7 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:XPS" "ProductCode" = "8:{50DB8641-2B0C-42FA-9D32-A1195B154A3A}" - "PackageCode" = "8:{B615D9D1-48EA-4666-B01C-8FAC5EABEC5C}" + "PackageCode" = "8:{52A4366C-5DDE-45A2-A6B6-58BED6F1B5AE}" "UpgradeCode" = "8:{71B65361-FEA5-44CA-9B9A-45597433DB20}" "RestartWWWService" = "11:TRUE" "RemovePreviousVersions" = "11:TRUE"