/// <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 unePrestation in lesPrestations) { int idPrestation = Convert.ToInt16(unePrestation.GetAttribute("idprestation")); XmlElement unePrestationXML = TraitementXML.CherchePrestation(idPrestation); lesPrestationsDuDossier.Add(TraitementXML.XmlToPrestation(unePrestationXML)); } return(new Dossier(nom, prenom, dateNaissance, lesPrestationsDuDossier)); } }
/// <summary> /// construit, à partir d'un noeud XML un objet de la classe Intervenant /// Avec ses prestations /// </summary> /// <param name="unIntervenantXml">Elément XML de l'intervenant à créer</param> /// <returns>Un objet de la classe Intervenant</returns> public static Intervenant XmlToIntervenantComplet(XmlElement unIntervenantXml) { Intervenant unIntervenant = XmlToIntervenant(unIntervenantXml); int idIntervenant = Convert.ToInt16(unIntervenantXml.GetAttribute("idintervenant")); foreach (XmlElement unePrestationXml in LesPrestations) { unIntervenant.ajoutePrestation(TraitementXML.XmlToPrestation(unePrestationXml)); } return(unIntervenant); }