From d66a176b6654e0cf2ccd4d196fdf56f256ecc65c Mon Sep 17 00:00:00 2001 From: samuele Date: Thu, 11 Oct 2012 17:23:57 +0200 Subject: [PATCH] Aggiunta versione prototipo creazione/archiviazione da template file --- ETS-WS/ETS-WS/WebShipUtils.cs | 46 ++++++++++++++++++ .../WebUserControls/mod_myTempFile.ascx.cs | 42 ++-------------- .../WebUserControls/mod_pathAndDocs.ascx.cs | 14 +++++- ETS-WS/ETS-WS/bin/ETS-WS.dll | Bin 49664 -> 49664 bytes 4 files changed, 64 insertions(+), 38 deletions(-) diff --git a/ETS-WS/ETS-WS/WebShipUtils.cs b/ETS-WS/ETS-WS/WebShipUtils.cs index 2bba66e..e88a59c 100644 --- a/ETS-WS/ETS-WS/WebShipUtils.cs +++ b/ETS-WS/ETS-WS/WebShipUtils.cs @@ -193,6 +193,52 @@ namespace ETS_WS { } return answ; } + + /// + /// effettua operazione di archiviazione file + /// + /// oggetto metadati documento + /// path origine del file + /// path di destinazione del file + /// nome del file da archiviare + /// redattore + public static void archiviaFile(docMetaDataSet docsData, string pathOrig, string pathDest, string nomeFile, string redattore) + { + string autore = ""; // tolto! + string numComm = ""; + string annoComm = ""; + // ricavo num ed anno commessa... + try + { + numComm = docsData.commessa.Substring(0, docsData.commessa.IndexOf("-")); + annoComm = docsData.commessa.Substring(docsData.commessa.IndexOf("-") + 1); + } + catch + { } + // salvo su db le info del file... + int? newIdxFile = 0; + utils.obj.taDoc.insertQuery(nomeFile, pathDest, utils.obj.currUserAD, docsData.reqProto, docsData.dataRic, docsData.dataDoc, numComm, annoComm, docsData.fase, docsData.fonte, docsData.oggetto, docsData.InOut, autore, redattore, docsData.isRed, ref newIdxFile); + // salvo i tags! + if (newIdxFile > 0) + { + // se ho tags... + if (docsData.tags.Count > 0) + { + foreach (string tag in docsData.tags) + { + try + { + utils.obj.taTags2Doc.Insert((int)newIdxFile, Convert.ToInt32(tag)); + } + catch + { } + } + } + } + // sposto il file! + fileMover.obj.muoviFile(pathOrig, pathDest, nomeFile); + } + } /// diff --git a/ETS-WS/ETS-WS/WebUserControls/mod_myTempFile.ascx.cs b/ETS-WS/ETS-WS/WebUserControls/mod_myTempFile.ascx.cs index e9d7e7a..33eb6f7 100644 --- a/ETS-WS/ETS-WS/WebUserControls/mod_myTempFile.ascx.cs +++ b/ETS-WS/ETS-WS/WebUserControls/mod_myTempFile.ascx.cs @@ -200,19 +200,16 @@ namespace ETS_WS.WebUserControls // recupero metadati da sessione... docMetaDataSet docsData = WebShipUtils.mng.currMetaData; //check del path - string path = docsData.path; + string pathDest = docsData.path; // verifico path presente - if (path != "") + if (pathDest != "") { // aggiunto al path cartella archivio... - path = string.Format("{0}{1}", utils.obj.confReadString("archiveDir"), docsData.path); + pathDest = string.Format("{0}{1}", utils.obj.confReadString("archiveDir"), docsData.path); // verifico path valido o creo... - fileMover.checkDir(path); + fileMover.checkDir(pathDest); string nomeFile = ""; - string autore = ""; // tolto! string redattore = utils.obj.currUserCognomeNome; // usa utente corrente - string numComm = ""; - string annoComm = ""; // sposto i files selezionati secondo i dati in sessione foreach (GridViewRow riga in grView.Rows) { @@ -220,36 +217,7 @@ namespace ETS_WS.WebUserControls { // devo salvare file con le info relative... nomeFile = ((HyperLink)riga.FindControl("hlNome")).Text; - // ricavo num ed anno commessa... - try - { - numComm = docsData.commessa.Substring(0, docsData.commessa.IndexOf("-")); - annoComm = docsData.commessa.Substring(docsData.commessa.IndexOf("-") + 1); - } - catch - { } - // salvo su db le info del file... - int? newIdxFile = 0; - utils.obj.taDoc.insertQuery(nomeFile, path, utils.obj.currUserAD, docsData.reqProto, docsData.dataRic, docsData.dataDoc, numComm, annoComm, docsData.fase, docsData.fonte, docsData.oggetto, docsData.InOut, autore, redattore, docsData.isRed, ref newIdxFile); - // salvo i tags! - if (newIdxFile > 0) - { - // se ho tags... - if (docsData.tags.Count > 0) - { - foreach (string tag in docsData.tags) - { - try - { - utils.obj.taTags2Doc.Insert((int)newIdxFile, Convert.ToInt32(tag)); - } - catch - { } - } - } - } - // sposto il file! - fileMover.obj.muoviFile(WebShipUtils.mng.UserTempPath, path, nomeFile); + WebShipUtils.archiviaFile(docsData, WebShipUtils.mng.UserTempPath, pathDest, nomeFile, redattore); } } } diff --git a/ETS-WS/ETS-WS/WebUserControls/mod_pathAndDocs.ascx.cs b/ETS-WS/ETS-WS/WebUserControls/mod_pathAndDocs.ascx.cs index 7a01905..6132a65 100644 --- a/ETS-WS/ETS-WS/WebUserControls/mod_pathAndDocs.ascx.cs +++ b/ETS-WS/ETS-WS/WebUserControls/mod_pathAndDocs.ascx.cs @@ -69,7 +69,19 @@ namespace ETS_WS.WebUserControls /// protected void btnStaccaProto_Click(object sender, EventArgs e) { - + // effettua upload del documento "dummy" proto + string nomeFile = "Proto.txt"; + fileMover.obj.muoviFile("~/DocTemplates/", WebShipUtils.mng.UserTempPath, nomeFile, false); + // stacco un nuovo protocollo! + docMetaDataSet docsData = WebShipUtils.mng.currMetaData; + //check del path + string pathDest = docsData.path; + if (pathDest != "") + { + string redattore = utils.obj.currUserCognomeNome; // usa utente corrente + WebShipUtils.archiviaFile(docsData, WebShipUtils.mng.UserTempPath, pathDest, nomeFile, redattore); + } + Response.Redirect("~/GestioneDocumenti.aspx"); } } } \ No newline at end of file diff --git a/ETS-WS/ETS-WS/bin/ETS-WS.dll b/ETS-WS/ETS-WS/bin/ETS-WS.dll index a81bf5f5f188d0eb892aaea826486c3af120807d..083125f8f598ae28c09a34e2cbfcfbbf98351aac 100644 GIT binary patch delta 15170 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 delta 15125 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