Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }