/// <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)); } }
/// <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)); }