/// <summary> /// Retourne true si le membre est disponible pour l'evenement (ne participe pas déja à un evenement sur la meme période ) /// </summary> public static bool EstDisponible(ClubModel club, MembreModel m, EvenementsModel e) { bool Dispo = true; List <EvenementsModel> events = EvenementsAuquelIlParticipe(club, m); foreach (EvenementsModel evenement in events) { Dispo = Dispo && (!EvenementsService.Chevauchement(evenement, e)); } return(Dispo); }
/// <summary> /// Renvoie true si l'évenement e2 est en conflit avec l'évenement e1 /// </summary> public static bool Chevauchement(EvenementsModel e1, EvenementsModel e2) { DateTime dd1 = e1.DateDeDebut; DateTime dd2 = e2.DateDeDebut; DateTime df1 = e1.DateDeFin; DateTime df2 = e2.DateDeFin; if (dd1 < dd2 && dd2 < df1) { return(true); } if (dd1 < df2 && df2 < df1) { return(true); } else { return(false); } }