completato esempio

This commit is contained in:
Samuele E. Locatelli
2015-05-25 14:25:22 +02:00
parent 54e0b65b1a
commit ed4ab042b2
10 changed files with 48 additions and 22 deletions
+48 -22
View File
@@ -35,15 +35,18 @@ namespace DataUploader
/// <returns></returns>
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;
}
/// <summary>
@@ -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;
}
/// <summary>
@@ -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)
{ }
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.