/// <summary> /// Restituisce la dimensione dell'equivalente file XML che rappresenta la serializzazione dell'oggetto /// passato come parametro /// </summary> /// <param name="schDoc">è l'oggetto scheda documento che dobbiamo serializzare</param> /// <returns></returns> public string serializeSchedaDoc(DocsPaVO.documento.SchedaDocumento schDoc) { string metadati = string.Empty; string result = "-1"; MemoryStream memoryWriter = null; try { Metadati dati = new Metadati(schDoc); //Sostituisco al system_id il nome e cognome if (dati.protocollatore != null) { if (!string.IsNullOrEmpty(dati.protocollatore.Nome_Cognome)) { DocsPaConsManager cm = new DocsPaConsManager(); dati.protocollatore.Nome_Cognome = cm.getFullName(dati.protocollatore.Nome_Cognome); } } if (dati.creatoreDocumento != null) { if (!string.IsNullOrEmpty(dati.creatoreDocumento.Nome_Cognome)) { DocsPaConsManager cm = new DocsPaConsManager(); dati.creatoreDocumento.Nome_Cognome = cm.getFullName(dati.creatoreDocumento.Nome_Cognome); } } memoryWriter = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(typeof(Metadati)); serializer.Serialize(memoryWriter, dati); //Devo tornare all'inizio del MemoryStream per leggerne il contenuto!!! memoryWriter.Seek(0, SeekOrigin.Begin); result = memoryWriter.Length.ToString(); metadati = new StreamReader(memoryWriter).ReadToEnd(); } catch (Exception ex) { logger.Debug(ex.Message); } finally { if (memoryWriter != null) { memoryWriter.Flush(); memoryWriter.Close(); } } return(result); }
/// <summary> /// Restituisce la dimensione dell'equivalente file XML che rappresenta la serializzazione dell'oggetto /// passato come parametro /// </summary> /// <param name="schDoc">è l'oggetto scheda documento che dobbiamo serializzare</param> /// <param name="systemID">id di esibizione</param> /// <returns></returns> public string serializeSchedaEsib(DocsPaVO.documento.SchedaDocumento schDoc, string systemID) { string metadati = string.Empty; string result = "-1"; MemoryStream memoryWriter = null; try { Metadati dati = new Metadati(schDoc); //Sostituisco al system_id il nome e cognome if (dati.protocollatore != null) { if (!string.IsNullOrEmpty(dati.protocollatore.Nome_Cognome)) { DocsPaConsManager cm = new DocsPaConsManager(); dati.protocollatore.Nome_Cognome = cm.getFullName(dati.protocollatore.Nome_Cognome); } } if (dati.creatoreDocumento != null) { if (!string.IsNullOrEmpty(dati.creatoreDocumento.Nome_Cognome)) { DocsPaConsManager cm = new DocsPaConsManager(); dati.creatoreDocumento.Nome_Cognome = cm.getFullName(dati.creatoreDocumento.Nome_Cognome); } } memoryWriter = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(typeof(Metadati)); serializer.Serialize(memoryWriter, dati); //Devo tornare all'inizio del MemoryStream per leggerne il contenuto!!! memoryWriter.Seek(0, SeekOrigin.Begin); result = memoryWriter.Length.ToString(); metadati = new StreamReader(memoryWriter).ReadToEnd(); //Inserisco i metadati XML nel DB nel campo CLOB using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { DBProvider dbProvider = new DBProvider(); if (!dbProvider.SetLargeText("DPA_ITEMS_ESIBIZIONE", systemID, "VAR_XML_METADATI", metadati)) { throw new Exception("Errore nell'inserimento dei metadati per esibizione nel DB"); } transactionContext.Complete(); } } catch (Exception ex) { logger.Debug(ex.Message); } finally { if (memoryWriter != null) { memoryWriter.Flush(); memoryWriter.Close(); } } return(result); }