public void RemoveCreneau(Creneau cr) { if (ListCreneauChoosed.Contains(cr)) { ListCreneauChoosed.Remove(cr); } }
public bool AddCreneau(Creneau cr, out int countConflictCreneau, out List <Creneau> conflitCreneau) { if (!IsCreneauAlreadyTaken(cr, out countConflictCreneau, out conflitCreneau)) { ListCreneauChoosed.Add(cr); return(true); } else { return(false); } }
public bool IsCreneauAlreadyTaken(Creneau cr, out int countConflictCreneau, out List <Creneau> conflitCreneau) { countConflictCreneau = 0; bool alreadyTaken = false; conflitCreneau = new List <Creneau>(); foreach (Creneau creneau in ListCreneauChoosed) { //Si la même activite ou bien la même classe if ((creneau.Classe == null || cr.Classe == null) || creneau.Classe.Equal(cr.Classe) || creneau.Activite.Equal(cr.Activite)) { //Si le même jour if (creneau.Jour == cr.Jour) { //Si empiète sur l'heure d'un autre creneau if ((cr.StartHour >= creneau.StartHour && cr.StartHour < creneau.EndHour) || (cr.EndHour > creneau.StartHour && cr.EndHour < creneau.EndHour) || (cr.StartHour < creneau.StartHour && cr.EndHour >= creneau.EndHour)) { alreadyTaken = true; conflitCreneau.Add(creneau); countConflictCreneau += 1; /*if (creneau.ConflitCreneauId == 0) * { * canBeSplit = true; * }*/ } } } } return(alreadyTaken); }