/// <summary> /// Fonction retournant une liste de dons acceptés ou stockés, triés selon la propriété dont on a le get en argument /// </summary> /// <example> /// <code> /// TriAccepteStocke<int>(x => x.Identifiant); /// </code> /// </example> /// <typeparam name="T">Type de l'élément à comparer</typeparam> /// <param name="fonctionObtentionPropriete">fonction donnant la propriété à comparer </param> /// <returns>liste triée de dons acceptés ou stockés</returns> public static List <Don> TriAccepteStocke <T>(FonctionObtentionProprieteDon <T> fonctionObtentionPropriete) where T : IComparable <T> { List <Don> donsAccepteStocke = Don.TrouverDon(don => don.Statut == Don.StatutDon.Accepte || don.Statut == Don.StatutDon.Stocke); donsAccepteStocke.Sort((x, y) => fonctionObtentionPropriete(x).CompareTo(fonctionObtentionPropriete(y))); return(donsAccepteStocke); }
/// <summary> /// Fonction retournant une liste de dons refusés, triés selon la propriété dont on a le get en argument /// </summary> /// <typeparam name="T">Type de l'élément à comparer</typeparam> /// <param name="fonctionObtentionPropriete">fonction donnant la propriété à comparer </param> /// <returns>liste triée de dons refusés</returns> public static List <Don> TriRefuse <T>(FonctionObtentionProprieteDon <T> fonctionObtentionPropriete) where T : IComparable <T> { List <Don> donsRefusesParDate = Don.TrouverDon(don => don.Statut == Don.StatutDon.Refuse); donsRefusesParDate.Sort((x, y) => fonctionObtentionPropriete(x).CompareTo(fonctionObtentionPropriete(y))); return(donsRefusesParDate); }
/// <summary> /// Permet de rechercher un don selon son statut et son type d'objet /// </summary> /// <typeparam name="T">type de l'objet du don</typeparam> /// <param name="statutCherche"></param> /// <returns>Liste de dons correspondants</returns> public static List <Don> RechercheDonParStatutType <T>(string statutCherche) where T : Materiel { Don.StatutDon statutDonCherche; switch (statutCherche.ToLower()) { case "accepte": case "accepté": statutDonCherche = Don.StatutDon.Accepte; break; case "refuse": case "refusé": statutDonCherche = Don.StatutDon.Refuse; break; case "stocke": case "stocké": statutDonCherche = Don.StatutDon.Stocke; break; default: statutDonCherche = Don.StatutDon.EnAttente; break; } return(Don.TrouverDon <T>(don => don.Statut == statutDonCherche)); }
/// <summary> /// Permet de rechercher un don selon son mois de réception et son type d'objet /// </summary> /// <typeparam name="T">type de l'objet du don</typeparam> /// <param name="moisDuDon"></param> /// <returns>Liste de dons correspondants</returns> public static List <Don> RechercheDonParMoisType <T>(string moisDuDon) where T : Materiel { int mois = 0; try { mois = Convert.ToInt32(moisDuDon); } catch { return(new List <Don>()); } return(Don.TrouverDon <T>(don => don.DateReception.Month == mois)); }