コード例 #1
0
        /// <summary>
        /// Ritorna la rappresentazione Xml.
        /// </summary>
        /// <param name="function"></param>
        /// <returns></returns>
        public string ToXml()
        {
            using (XmlWrite xw = new XmlWrite())
            {
                if (XmlFunction == null)
                {
                    //Crea Xml Standard
                    xw.WriteStartElement("MESSAGELIST");
                    try
                    {
                        for (int i = 0; i < this.Count; i++)
                        {
                            xw.WriteRaw(this[i].ToXml());
                        }
                    }
                    finally
                    {
                        xw.WriteEndElement();
                    }
                }
                else
                {
                    //Utilizza la funzione specificata
                    XmlFunction(this, xw);
                }

                return(xw.ToString());
            }
        }
コード例 #2
0
ファイル: DataList.cs プロジェクト: simonep77/bdo
        /// <summary>
        /// Ritorna Xml con dati oggetti. E' possibile specificare un delegato per poter manipolare
        /// l'xml di ogni oggetto con altri dati. Utilizzando rewriteAll viene soppresso l'output Xml standard
        /// dell'oggetto
        /// </summary>
        /// <param name="function">
        /// Delegato ad una funzione (e.s. AggiornaXmlUtente(Utente ut, Xmlwrite xw)) per la manipolazione dell'xml
        /// </param>
        /// <param name="rewriteAll">
        /// Impostato a true disabilita l'output xml standard dell'oggetto
        /// </param>
        /// <param name="args">
        /// Dati esterni da inviare alla funzione di scrittura xml
        /// </param>
        /// <returns></returns>
        public string ToXml(XmlFunction function, bool rewriteAll, params object[] args)
        {
            DataObjectBase o;

            using (XmlWrite xw = new XmlWrite())
            {
                for (int i = 0; i < this.Count; i++)
                {
                    o = this[i];

                    xw.WriteStartElement(o.mClassSchema.ClassName);
                    try
                    {
                        if (!rewriteAll)
                        {
                            xw.WriteRaw(o.ToXml());
                        }

                        //Se fornita funzione allora la richiama
                        if (function != null)
                        {
                            function((T)o, xw, args);
                        }
                    }
                    finally
                    {
                        xw.WriteEndElement();
                    }
                }

                return(xw.ToString());
            }
        }
コード例 #3
0
ファイル: PropertyDataList.cs プロジェクト: simonep77/bdo
        /// <summary>
        ///  Crea rappresentazione Xml
        /// </summary>
        /// <param name="xw"></param>
        /// <param name="obj"></param>
        /// <param name="depth"></param>
        public override void WriteXml(XmlWrite xw, DataObjectBase obj, int depth)
        {
            var oTemp = (DataListBase)this.GetValue(obj);

            xw.WriteStartElement(this.Name);
            try
            {
                xw.WriteRaw((oTemp == null) ? string.Empty : oTemp.ToXml(depth));
            }
            finally
            {
                xw.WriteEndElement();
            }
        }
コード例 #4
0
        /// <summary>
        /// Scrive Xml con possibilita' di integrazione dati attraverso la specifica di una funzione
        /// di manipolazione
        /// </summary>
        /// <param name="function"></param>
        /// <param name="rewriteAll">
        /// Se true allora non emette l'Xml standard dell'oggetto
        /// </param>
        /// <param name="args"></param>
        /// <returns></returns>
        public string ToXml(XmlFunction function, bool rewriteAll, params object[] args)
        {
            using (XmlWrite xw = new XmlWrite())
            {
                //Se deve riscrivere
                if (!rewriteAll)
                {
                    xw.WriteRaw(this.ToXml(1));
                }

                //Se fornita funzione allora la richiama
                if (function != null)
                {
                    function((T)this, xw, args);
                }

                return(xw.ToString());
            }
        }
コード例 #5
0
        /// <summary>
        /// Scrive xml lista
        /// </summary>
        /// <param name="depht"></param>
        /// <returns></returns>
        public string ToXml(int depht)
        {
            using (XmlWrite xw = new XmlWrite())
            {
                for (int i = 0; i < this.mInnerList.Count; i++)
                {
                    xw.WriteStartElement(this.mObjSchema.ClassName);
                    try
                    {
                        xw.WriteRaw(this.getItem(i).ToXml(depht));
                    }
                    finally
                    {
                        xw.WriteEndElement();
                    }
                }

                return(xw.ToString());
            }
        }
コード例 #6
0
ファイル: PropertyObject.cs プロジェクト: simonep77/bdo
        /// <summary>
        ///  Crea rappresentazione Xml
        /// </summary>
        /// <param name="xw"></param>
        /// <param name="obj"></param>
        /// <param name="depth"></param>
        public override void WriteXml(XmlWrite xw, DataObjectBase obj, int depth)
        {
            //Scrive proprietà base
            object oValue = this.GetValueForDb(obj);

            if (!this.IsMapped)
            {
                if (oValue != null)
                {
                    xw.WriteElementString(this.Column.Name, oValue.ToString());
                }
                else
                {
                    xw.WriteElementString(this.Column.Name, string.Empty);
                }
            }

            //Include oggetto mappato se profondita' prevista e campio non null
            if (depth > 0 && (this.IsMapped || oValue != null))
            {
                var oTemp = this.GetValue(obj);
                if (oTemp != null)
                {
                    //Include oggetto
                    xw.WriteStartElement(this.Name);
                    try
                    {
                        xw.WriteRaw(((DataObjectBase)oTemp).ToXml(depth - 1));
                    }
                    finally
                    {
                        xw.WriteEndElement();
                    }
                }
            }
        }