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.