예제 #1
0
        public static void documentoPerProtocolla(XmlDocument doc, XmlNode documentoNode, DocumentoXml formDatiXml)
        {
            XmlNode riservatoNode = doc.CreateElement("Riservato");

            riservatoNode.AppendChild(doc.CreateTextNode(formDatiXml.riservato));
            documentoNode.AppendChild(riservatoNode);

            XmlNode flagProtoNode = doc.CreateElement("FlagProtocollo");

            flagProtoNode.AppendChild(doc.CreateTextNode(formDatiXml.flagProtocollo));
            documentoNode.AppendChild(flagProtoNode);

            XmlNode classificaNode = doc.CreateElement("Classifica");

            classificaNode.AppendChild(doc.CreateTextNode(formDatiXml.classifica));
            documentoNode.AppendChild(classificaNode);

            XmlNode oggettoNode = doc.CreateElement("Oggetto");

            oggettoNode.AppendChild(doc.CreateTextNode(formDatiXml.oggetto));
            documentoNode.AppendChild(oggettoNode);

            XmlNode      protoMittNode = doc.CreateElement("ProtocolloMittente");
            XmlAttribute dataAttr      = doc.CreateAttribute("Data");
            XmlAttribute protoAttr     = doc.CreateAttribute("Protocollo");

            documentoNode.AppendChild(protoMittNode);

            XmlNode      protoInizNode = doc.CreateElement("ProtocolloIniziale");
            XmlAttribute codAmmAttr    = doc.CreateAttribute("CodAmm");
            XmlAttribute codAOOAttr    = doc.CreateAttribute("codAOO");
            XmlAttribute progrAttr     = doc.CreateAttribute("Progr");
            XmlAttribute dataPrAttr    = doc.CreateAttribute("Data");

            documentoNode.AppendChild(protoInizNode);

            XmlNode dataArrivoNode = doc.CreateElement("DataArrivo");

            documentoNode.AppendChild(dataArrivoNode);
        }
예제 #2
0
        public static string CreaXmlProtocolla(FormDatiXmlProtocolla formDatiXml)
        {
            XmlDocument doc     = new XmlDocument();
            XmlNode     docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);

            doc.AppendChild(docNode);

            XmlNode datiInvioNode = doc.CreateElement("DatiInvio");

            doc.AppendChild(datiInvioNode);
            //---

            XmlNode categioriaProtoNode = doc.CreateElement("CategoriaProtocollo");

            categioriaProtoNode.AppendChild(doc.CreateTextNode(formDatiXml.categoriaProtocollo));
            datiInvioNode.AppendChild(categioriaProtoNode);

            XmlNode mittenteNode = doc.CreateElement("Mittente");

            datiInvioNode.AppendChild(mittenteNode);
            //---

            mittente(doc, mittenteNode, formDatiXml);

            //+++

            XmlNode listaDestNode = doc.CreateElement("ListaDestinatari");

            datiInvioNode.AppendChild(listaDestNode);
            //---

            //verifico se la lista di destinatari è vuota
            if (formDatiXml.listaDestinatari.Count == 0)
            {
                XmlNode destNode = doc.CreateElement("Destinatario");
                listaDestNode.AppendChild(destNode);
                //---
                //...
                DestinatarioXml dest = new DestinatarioXml();
                destinatario(doc, destNode, dest);
            }



            //altrimenti, se la lista dei destinatari non è vuota, stampo il contenuto nell'xml
            else
            {
                foreach (DestinatarioXml dest in formDatiXml.listaDestinatari)
                {
                    XmlNode destNode = doc.CreateElement("Destinatario");
                    listaDestNode.AppendChild(destNode);
                    //---
                    //...

                    destinatario(doc, destNode, dest);
                    //+++
                }
            }

            if (formDatiXml.listaDestinatariCC.Count > 0)
            {
                foreach (DestinatarioXml dest in formDatiXml.listaDestinatariCC)
                {
                    XmlNode      destNode = doc.CreateElement("Destinatario");
                    XmlAttribute ccAttr   = doc.CreateAttribute("TipoInvio");
                    ccAttr.Value = "CC";
                    destNode.Attributes.Append(ccAttr);
                    listaDestNode.AppendChild(destNode);
                    //---
                    //...

                    destinatario(doc, destNode, dest);
                    //+++
                }
            }

            XmlNode listaDocNode = doc.CreateElement("ListaDocumenti");

            datiInvioNode.AppendChild(listaDocNode);
            //---


            //verifico se la lista di documenti è vuota
            if (formDatiXml.listaDocumenti.Count == 0)
            {
                XmlNode documentoNode = doc.CreateElement("Documento");
                listaDocNode.AppendChild(documentoNode);
                //---
                //...
                DocumentoXml docXml = new DocumentoXml();
                documentoPerProtocolla(doc, documentoNode, docXml);
            }

            //altrimenti, se la lista dei documenti non è vuota, stampo il contenuto nell'xml
            else
            {
                foreach (DocumentoXml docXml in formDatiXml.listaDocumenti)
                {
                    XmlNode documentoNode = doc.CreateElement("Documento");
                    listaDocNode.AppendChild(documentoNode);
                    //---

                    documentoPerProtocolla(doc, documentoNode, docXml);
                }
            }

            /*
             * XmlNode listaSoggAffNode = doc.CreateElement("ListaSoggettiAfferenti");
             * documentoNode.AppendChild(listaSoggAffNode);
             * //...
             *
             * XmlNode soggAfferenteNode = doc.CreateElement("SoggettoAfferente");
             * listaSoggAffNode.AppendChild(soggAfferenteNode);
             * //---
             *
             * soggettoAfferente(doc, soggAfferenteNode, formDatiXml);
             */

            return(doc.OuterXml);
        }