/// <summary> /// Retourne aussi le nombre de jours de soins comptabilisés pour le dossier. Il ne s'agit pas ici de déterminer /// le nombre de prestations attachées à un dossier, mais le nombre de jours pour lesquels au moins une prestation a été réalisée. /// On va utiliser un delegate qui va se charger de retourner si deux dates de prestations sont égales ou non. /// </summary> /// <returns>le nombre de jours où il y a eu au moins une prestation.</returns> public int GetNbJoursSoinsV2() { List <DateTime> lesDates = new List <DateTime>(); if (this.mesPrestations.Count == 0) { // pas de prestation return(0); } else { // il faut trier les prestations par date de soin this.mesPrestations.Sort(delegate(Prestation prestation1, Prestation prestation2) { return(prestation1.DateHeureSoin.Date.CompareTo(prestation2.DateHeureSoin.Date)); }); Prestation oldPrestation = this.mesPrestations[0]; int nb = 1; for (int i = 0; i < this.mesPrestations.Count; i++) { if (this.mesPrestations[i].CompareTo(oldPrestation) != 0) { nb++; oldPrestation = this.mesPrestations[i]; } } return(nb); } }
/// <summary> /// fonction qui compare 2 dates au format DateHeure /// Attention ici, on ne compare que les dates. /// 2 dates seront égales si leur JJ/MM/AAAA sont égaux, quelle que soit l'heure. /// </summary> /// <param name="unePrestation">.</param> /// <returns> /// 0 les dates sont égales /// 1 si la date de la prestation courante est postérieure à la date de la prestation unePrestation /// -1 si la date de la prestation courante est antérieure à la date de la prestation unePrestation. /// /// </returns> public int CompareTo(Prestation unePrestation) { // if(this.DateHeureSoin.Date > unePrestation.DateHeureSoin.Date) { // return 1; // } // else // { // if (this.DateHeureSoin.Date == unePrestation.DateHeureSoin.Date) // { // return 0; // } // else // { // return -1; // } // } // bien mieux car on utilise le framework return(this.DateHeureSoin.Date.CompareTo(unePrestation.DateHeureSoin.Date)); }
/// <summary> /// fonction qui compare 2 dates au format DateHeure /// Attention ici, on ne compare que les dates. /// 2 dates seront égales si leur JJ/MM/AAAA sont égaux, quelle que soit l'heure. /// </summary> /// <param name="unePrestation">.</param> /// <returns> /// 0 les dates sont égales /// 1 si la date de la prestation courante est postérieure à la date de la prestation unePrestation /// -1 si la date de la prestation courante est antérieure à la date de la prestation unePrestation. /// </returns> public int CompareTo(Prestation unePrestation) { if (this.GetsDateHeureSoin.Date > unePrestation.GetsDateHeureSoin.Date) { return(1); } else { if (this.GetsDateHeureSoin.Date == unePrestation.GetsDateHeureSoin.Date) { return(0); } else { return(-1); } }// bien mieux car on utilise le framework // return this.GetsDateHeureSoin.Date.CompareTo(unePrestation.GetsDateHeureSoin.Date); }
/// <summary> /// Initializes a new instance of the <see cref="Dossier"/> class. /// constructeur surchargé. /// Il comprend en plus un objet de la classe Prestation à rajouter dans la collection mesPrestations. /// </summary> /// <param name="nomPatient">nom du patient.</param> /// <param name="prenomPatient">prenom du patient.</param> /// <param name="dateDeNaissance">date de naissance du patient au format JJ/MM/AAAA.</param> /// <param name="unePrestation">objet de la classe Prestation à rajouter.</param> public Dossier(string nomPatient, string prenomPatient, DateTime dateDeNaissance, Prestation unePrestation) : this(nomPatient, prenomPatient, dateDeNaissance) { this.mesPrestations.Add(unePrestation); }
/////// public void ajoutePrestation(Prestation prestation) { this._lesPrestations.Add(prestation); }
/// <summary> /// ajoute une prestation à la collection. /// </summary> /// <param name="prestation">objet Prestation.</param> public void AjoutePrestation(Prestation prestation) { this.LesPrestations.Add(prestation); }
/// <summary> /// fonction qui compare 2 dates au format DateHeure /// Attention ici, on ne compare que les dates. /// 2 dates seront égales si leur JJ/MM/AAAA sont égaux, quelle que soit l'heure /// </summary> /// <param name="unePrestation"> Prestation qui va fournir la date à comparer. </param> /// <returns> /// 0 les dates sont égales /// 1 si la date de la prestation courante est postérieure à la date de la prestation unePrestation /// -1 si la date de la prestation courante est antérieure à la date de la prestation unePrestation /// /// </returns> public int CompareTo(Prestation unePrestation) { return(this.DateHeureSoin.Date.CompareTo(unePrestation.DateHeureSoin.Date)); }
/// <summary> /// methode ajoute de prestation. /// </summary> /// <param name="prestation"></param> public void AjoutePrestation(Prestation prestation) => this._lesPrestations.Add(prestation);