diff --git a/DataUploader/GestData.cs b/DataUploader/GestData.cs index 72f895e..f31d18a 100644 --- a/DataUploader/GestData.cs +++ b/DataUploader/GestData.cs @@ -35,15 +35,18 @@ namespace DataUploader /// public string[] getNewDocsUrls(int numeroFrom) { + + // VA FATTO, è un FAKE x cui NON recupera dati, va costruito codice SQL x recuperare ogni doc NON ancora caricato, e poi caricato il doc va caricato anche il cliente, seguire esempio successivo + + + // ipotesi: si caricano maxDocsToUpload documenti alal volta (e quindi altrettanti clienti) int maxDocsToUpload = Convert.ToInt32(ConfigurationManager.AppSettings["maxDocsToUpload"]); string[] answ = new string[maxDocsToUpload * 2]; // 2 stringhe, una x doc e 1 x cliente x ogni invio... - //int i = 0; - // effettuo chiamata ODBC e recupero dati - - // per ogni record trovato compongo un record DOCS ed uno CLI - string[] rDoc = new string[19]; - string[] rCli = new string[11]; + string[] rCli = new string[12]; + + // qui va fatto ciclo x spazzare 1 ad 1 i docuemnti ed i relativi clienti + for (int i = 0; i < 19; i++) { rDoc[i] = ""; @@ -52,10 +55,13 @@ namespace DataUploader { rCli[i] = ""; } - // formatto answ... + + + // caricati i 2 record vanno costruiti gli url di risposta... accodando 2 alla volta doc / cliente answ[0] = createUrlDoc(rDoc); answ[1] = createUrlCli(rCli); + // end ciclo, resituisco tutti i records return answ; } /// @@ -69,7 +75,7 @@ namespace DataUploader string[] answ = new string[2]; // 2 stringhe, una x doc e 1 x cliente x ogni invio... // per ogni record trovato compongo un record DOCS ed uno CLI string[] rDoc = new string[19]; - string[] rCli = new string[11]; + string[] rCli = new string[12]; // effettuo chaimata ODBC e recupero dati try @@ -78,8 +84,9 @@ namespace DataUploader string tipoDoc = CodDoc.Substring(0,2); string NumDoc = CodDoc.Replace(tipoDoc,""); // questa è la vera stringa SQL - string comando = string.Format("SELECT DB2_TESDOCUM.TIPOPROTOC, DB2_TESDOCUM.NUMERO, DB2_TESDOCUM.ESERPROTOC, DB2_TESDOCUM.NUMEPROTOC, DB2_TESDOCUM.DATAPROTOC, DB2_TESDOCUM.ESERRIFERI, DB2_TESDOCUM.NUMERIFERI, DB2_TESDOCUM.TIPORIFERI, DB2_TESDOCUM.DATARIFERI, DB2_TESDOCUM.NUMEDOCRIF, DB2_TESDOCUM.DATADOCRIF, DB2_TESDOCUM.ESERCOLLEG, DB2_TESDOCUM.CLI_FOR, DB2_TESDOCUM.DESTINATAR, DB2_TESDOCUM.RGSOC_DEST, DB2_TESDOCUM.INDIR_DEST, DB2_TESDOCUM.LOCAL_DEST, DB2_TESDOCUM.CAP_DEST, DB2_TESDOCUM.ULT_AGG FROM DB2_TESDOCUM WHERE DB2_TESDOCUM.TIPOPROTOC='{0}' AND DB2_TESDOCUM.NUMEPROTOC ='{1}' AND DB2_TESDOCUM.ESERPROTOC ='{2}';", tipoDoc, NumDoc, Anno); - using (OdbcCommand com = new OdbcCommand(comando, conn)) + string comandoDoc = string.Format("SELECT DB2_TESDOCUM.TIPOPROTOC, DB2_TESDOCUM.NUMERO, DB2_TESDOCUM.ESERPROTOC, DB2_TESDOCUM.NUMEPROTOC, DB2_TESDOCUM.DATAPROTOC, DB2_TESDOCUM.ESERRIFERI, DB2_TESDOCUM.NUMERIFERI, DB2_TESDOCUM.TIPORIFERI, DB2_TESDOCUM.DATARIFERI, DB2_TESDOCUM.NUMEDOCRIF, DB2_TESDOCUM.DATADOCRIF, DB2_TESDOCUM.ESERCOLLEG, DB2_TESDOCUM.CLI_FOR, DB2_TESDOCUM.DESTINATAR, DB2_TESDOCUM.RGSOC_DEST, DB2_TESDOCUM.INDIR_DEST, DB2_TESDOCUM.LOCAL_DEST, DB2_TESDOCUM.CAP_DEST, DB2_TESDOCUM.ULT_AGG FROM DB2_TESDOCUM WHERE DB2_TESDOCUM.TIPOPROTOC='{0}' AND DB2_TESDOCUM.NUMEPROTOC ='{1}' AND DB2_TESDOCUM.ESERPROTOC ='{2}';", tipoDoc, NumDoc, Anno); + // dati documento + using (OdbcCommand com = new OdbcCommand(comandoDoc, conn)) { using (OdbcDataReader reader = com.ExecuteReader()) { @@ -89,25 +96,45 @@ namespace DataUploader { try { - rDoc[i] = reader.GetString(i); + rDoc[i] = reader.GetString(i).Trim().Replace(" ","+"); } catch { rDoc[i] = ""; } } - for (int i = 0; i < 11; i++) - { - rCli[i] = "";//readerCli.GetString(i); - } - //string word = reader.GetString(0); - //listBox1.Items.Add(word); + // il campo 12 è il cod cliente! + rCli[0] = rDoc[12]; + // formatto answ... + answ[0] = createUrlDoc(rDoc); } - // formatto answ... - answ[0] = createUrlDoc(rDoc); - answ[1] = createUrlCli(rCli); } } + + // dati cliente! ATTENZIONE NON HO TROVATO NE EMAIL NE CELL!!! messi valori "empty" al posto giusto... '' x cellulare, 1 x enable sms (dovrebbe essere SOLO SE si trova cellulare) e '' per email, '' per note (se ci fosse qualcosa...) + string comandoCli = string.Format("SELECT DB2_CLIFO.CODICE, DB2_CLIFO.RAGIONESOC, DB2_CLIFO.COFI, DB2_CLIFO.TEL, '' AS CELL, 1 AS ENABLE_SMS, '' AS EMAIL, DB2_CLIFO.INDIR1, DB2_CLIFO.CAP, DB2_CLIFO.LOCALITA, DB2_CLIFO.PROVINCIA, '' AS NoteCli FROM DB2_CLIFO WHERE DB2_CLIFO.TIPO='C' AND DB2_CLIFO.CODICE = '{0}';", rCli[0]); + using (OdbcCommand comCli = new OdbcCommand(comandoCli, conn)) + { + using (OdbcDataReader readerCli = comCli.ExecuteReader()) + { + while (readerCli.Read()) + { + for (int i = 0; i < 12; i++) + { + try + { + rCli[i] = readerCli.GetString(i).Trim().Replace(" ", "+"); + } + catch + { + rCli[i] = ""; + } + } + } + } + } + // formatto answ... + answ[1] = createUrlCli(rCli); } catch (Exception ex) { @@ -117,7 +144,6 @@ namespace DataUploader { conn.Close(); } - return answ; } /// @@ -146,7 +172,7 @@ namespace DataUploader string answ = ""; try { - answ = string.Format("{0}?CodCliente={1}&RagSoc={2}&CodFis={3}&Tel={4}&Cell={5}&EnableSMS=1&Email={6}&Indir={7}&Cap={8}&Localita={9}&Prov={10}&Note={11}", ConfigurationManager.AppSettings["remoteCliUrl"], rCli[0], rCli[1], rCli[2], rCli[3], rCli[4], rCli[5], rCli[6], rCli[7], rCli[8], rCli[9], rCli[10]); + answ = string.Format("{0}?CodCliente={1}&RagSoc={2}&CodFis={3}&Tel={4}&Cell={5}&EnableSMS={6}&Email={7}&Indir={8}&Cap={9}&Localita={10}&Prov={11}&Note={12}", ConfigurationManager.AppSettings["remoteCliUrl"], rCli[0], rCli[1], rCli[2], rCli[3], rCli[4], rCli[5], rCli[6], rCli[7], rCli[8], rCli[9], rCli[10], rCli[11]); } catch (Exception exc) { } diff --git a/DataUploader/bin/DataUploader.dll b/DataUploader/bin/DataUploader.dll index 6fe2eed..a58b7db 100644 Binary files a/DataUploader/bin/DataUploader.dll and b/DataUploader/bin/DataUploader.dll differ diff --git a/WebSCR.v11.suo b/WebSCR.v11.suo index 9b77813..e8ab2ca 100644 Binary files a/WebSCR.v11.suo and b/WebSCR.v11.suo differ diff --git a/WebSCR/bin/SteamWare.dll b/WebSCR/bin/SteamWare.dll index 0bc1a98..c59ec2b 100644 Binary files a/WebSCR/bin/SteamWare.dll and b/WebSCR/bin/SteamWare.dll differ diff --git a/WebSCR/bin/WebSCR.dll b/WebSCR/bin/WebSCR.dll index 66b3a28..a7da7b7 100644 Binary files a/WebSCR/bin/WebSCR.dll and b/WebSCR/bin/WebSCR.dll differ diff --git a/WebSCR/bin/WebSCR_data.dll b/WebSCR/bin/WebSCR_data.dll index 66f8025..042041e 100644 Binary files a/WebSCR/bin/WebSCR_data.dll and b/WebSCR/bin/WebSCR_data.dll differ diff --git a/WebSCR_data/bin/Debug/SteamWare.dll b/WebSCR_data/bin/Debug/SteamWare.dll index 0bc1a98..c59ec2b 100644 Binary files a/WebSCR_data/bin/Debug/SteamWare.dll and b/WebSCR_data/bin/Debug/SteamWare.dll differ diff --git a/WebSCR_data/bin/Debug/WebSCR_data.dll b/WebSCR_data/bin/Debug/WebSCR_data.dll index 66f8025..042041e 100644 Binary files a/WebSCR_data/bin/Debug/WebSCR_data.dll and b/WebSCR_data/bin/Debug/WebSCR_data.dll differ diff --git a/WebSCR_data/obj/Debug/WebSCR_data.csprojResolveAssemblyReference.cache b/WebSCR_data/obj/Debug/WebSCR_data.csprojResolveAssemblyReference.cache index 81a64a8..71b6615 100644 Binary files a/WebSCR_data/obj/Debug/WebSCR_data.csprojResolveAssemblyReference.cache and b/WebSCR_data/obj/Debug/WebSCR_data.csprojResolveAssemblyReference.cache differ diff --git a/WebSCR_data/obj/Debug/WebSCR_data.dll b/WebSCR_data/obj/Debug/WebSCR_data.dll index 66f8025..042041e 100644 Binary files a/WebSCR_data/obj/Debug/WebSCR_data.dll and b/WebSCR_data/obj/Debug/WebSCR_data.dll differ