예제 #1
0
        /// <summary>
        /// construit, à partir d'un noeud XML un objet de la classe Dossier.
        /// Avec, ses prestations et les intervenants des prestations
        /// </summary>
        /// <param name="unDossierXML">Elément XML du dossier à créer</param>
        /// <returns>Un objet de la classe Dossier</returns>
        public static Dossier XmlToDossier(XmlElement unDossierXML)
        {
            string nom    = unDossierXML.ChildNodes[0].InnerText;
            string prenom = unDossierXML.ChildNodes[1].InnerText;

            DateTime dateNaissance = TraitementXML.XmlToDateTime((XmlElement)unDossierXML.ChildNodes[2]);

            if (unDossierXML.GetElementsByTagName("dossierprestations").Count == 0)
            {
                // pas de prestations
                return(new Dossier(nom, prenom, dateNaissance));
            }
            else
            {
                // au moins une prestation
                XmlNodeList       lesPrestations          = (unDossierXML.GetElementsByTagName("dossierprestations")[0]).ChildNodes;
                List <Prestation> lesPrestationsDuDossier = new List <Prestation>();
                foreach (XmlElement unePrestationXml in lesPrestations)
                {
                    Prestation unePrestation = XmlToPrestation(unePrestationXml);
                    lesPrestationsDuDossier.Add(unePrestation);
                }
                return(new Dossier(nom, prenom, dateNaissance, lesPrestationsDuDossier));
            }
        }
예제 #2
0
        /// <summary>
        /// construit, à partir d'un noeud XML un objet de la classe Prestation.
        /// Avec son Intervenant
        /// </summary>
        /// <param name="unePrestationXML">Elément XML de la prestation à créer</param>
        /// <returns>Un objet de la classe Prestation</returns>
        private static Prestation XmlToPrestation(XmlElement unePrestationXML)
        {
            string      libellePrestation = unePrestationXML.ChildNodes[0].InnerText;
            DateTime    datePrestation    = TraitementXML.XmlToDateTime((XmlElement)unePrestationXML.ChildNodes[1]);
            int         idIntervenant     = Convert.ToInt16(unePrestationXML.GetAttribute("idintervenant"));
            XmlElement  unIntervenantXML  = ChercheIntervenant(idIntervenant);
            Intervenant unIntervenant     = XmlToIntervenant(unIntervenantXML);

            return(new Prestation(libellePrestation, datePrestation, unIntervenant));
        }