private string FormatOutMessage(CDatM1 m1, bool shouldAddHeading, string m1ID)
        {
            trace.Write(TraceLevel.Info, ">>FormatOutMessage");
            string fnResult = "";

            try
            {
                Dictionary <string, string> elements = ExtractM1DataToMessage(m1, m1ID);

                XmlDocument doc = new XmlDocument();
                XmlElement  raiz;

                if (shouldAddHeading)
                {
                    raiz = doc.CreateElement("ap");
                    XmlAttribute attributo = doc.CreateAttribute("id");
                    attributo.Value = m1.GetIdentifier().ToString();

                    raiz.Attributes.Append(attributo);
                    doc.AppendChild(raiz);
                }
                else
                {
                    raiz = doc.DocumentElement;
                }

                foreach (KeyValuePair <string, string> nodo in elements)
                {
                    if (!nodo.Key.Equals("Acst"))
                    {
                        raiz.AppendChild(
                            CreateElement(doc, nodo.Key, nodo.Value));
                    }
                }

                fnResult = doc.InnerXml;

                if (m1.GetOutStepsCalculationString().Length > 0)
                {
                    int nPos = fnResult.LastIndexOf("</ap>");
                    fnResult = fnResult.Insert(nPos, (m1.GetOutStepsCalculationString()));
                }

                trace.Write(TraceLevel.Info, fnResult);
            }
            catch (Exception error)
            {
                trace.Write(TraceLevel.Error, error.ToLogString());
                fnResult = "";
            }

            trace.Write(TraceLevel.Info, "<<FormatOutMessage");
            return(fnResult);
        }
        private string FormatOutMessageM50(CDatM1 m1)
        {
            trace.Write(TraceLevel.Info, ">>FormatOutMessageM50");
            string fnResult = "";

            try
            {
                Dictionary <string, string> elements = ExtractM1DataToM50Message(m1);

                XmlDocument doc = new XmlDocument();
                XmlElement  raiz;

                raiz = doc.CreateElement("ap");
                XmlAttribute attributo = doc.CreateAttribute("id");
                attributo.Value = m1.GetIdentifier().ToString();

                raiz.Attributes.Append(attributo);
                doc.AppendChild(raiz);

                foreach (KeyValuePair <string, string> nodo in elements)
                {
                    raiz.AppendChild(
                        CreateElement(doc, nodo.Key, nodo.Value)
                        );
                }

                fnResult = doc.InnerXml;
            }
            catch (Exception error)
            {
                trace.Write(TraceLevel.Error, error.ToLogString());
                fnResult = "";
            }

            trace.Write(TraceLevel.Info, "<<FormatOutMessageM50");
            return(fnResult);
        }