private void grdListe_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { if (MessageBox.Show("Voulez vous supprimer?", "School : Confirmation", System.Windows.MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (grdListe.SelectedIndex != -1) { SanctionnerBE sanction = new SanctionnerBE(); sanction = sanctionners.ElementAt(grdListe.SelectedIndex); sanctionEleveBL.supprimerSanctionner(sanction); sanctionners.Remove(sanction); grdListe.ItemsSource = sanctionners; grdListe.Items.Refresh(); cmbSanction.Text = ""; cmbSequence.Text = ""; typeValidation = TYPE_ENREGISTRER; cmbEtat.SelectedIndex = cmbEtat.Items.IndexOf("NON JUSTIFIEE"); } else { MessageBox.Show("Aucune ligne sélectionnée", "School brain:Alerte"); } } } }
internal void enregistrerSanctionner(SanctionnerBE sanctionner) { if (sanctionnerDA.ajouter(sanctionner)) { journalDA.journaliser("Enregistrement d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule); } }
internal void supprimerSanctionner(SanctionnerBE sanction) { if (sanctionnerDA.supprimer(sanction)) { journalDA.journaliser("Suppression d'une sanction - " + sanction.codesanction + " - " + sanction.matricule); } }
private void grdListe_PreviewKeyDown(object sender, KeyEventArgs e) { int COLUMN_NOMBRE = 3; int MAX_ROW = lignes.Count; var grid = sender as DataGrid; DataGridRow row = new DataGridRow(); if (e.Key == Key.Return) { e.Handled = true; string classe = cmbClasse.SelectedValue.ToString(); string sequence = cmbSequence.SelectedValue.ToString(); string sanction = cmbSanction.Text.Split('-')[0].Trim(); LigneSanction ligne = new LigneSanction(); int row_index = grdListe.Items.IndexOf(grdListe.CurrentItem); int col_index = grdListe.CurrentColumn.DisplayIndex; row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(row_index); SanctionnerBE sanctionner = new SanctionnerBE(); sanctionner.annee = annee; sanctionner.codesanction = sanction; sanctionner.datesanction = DateTime.Today; sanctionner.sequence = sequence; sanctionner.etat = NON_JUSTIFIEE; if (col_index == COLUMN_NOMBRE) { DataGridCellInfo cell = grid.SelectedCells[0]; TextBox textBox; try { textBox = (TextBox)cell.Column.GetCellContent(cell.Item); ligne = lignes.ElementAt(row_index); sanctionner.matricule = ligne.matricule; try { sanctionner.quantité = Convert.ToInt32(textBox.Text); sanctionClasseBL.enregistrerSanctionner(sanctionner); row_index = (row_index + 1) % MAX_ROW; SelectCellByIndex(grdListe, row_index, COLUMN_NOMBRE); } catch (FormatException) { MessageBox.Show("Le nombre doit être un entier"); textBox.Text = ""; } } catch { row_index = (row_index + 1) % MAX_ROW; SelectCellByIndex(grdListe, row_index, COLUMN_NOMBRE); } } else { MessageBox.Show("cellule non modifiable"); } } }
private void cmdEnregistrer_Click(object sender, RoutedEventArgs e) { if (validerFormulaire()) { string matricule = txtMatricule.Text; string sanction = cmbSanction.Text.Split('-')[0].Trim(); string sequence = cmbSequence.SelectedValue.ToString(); int quantite = Convert.ToInt32(txtQuantite.Text); try { etat = cmbEtat.SelectedValue.ToString(); } catch (Exception) { etat = "NON JUSTIFIEE"; } DateTime date = DateTime.Today; SanctionnerBE sanctionner = new SanctionnerBE(sanction, matricule, annee, quantite, date, sequence, etat); if (typeValidation == TYPE_ENREGISTRER) { if (sanctionEleveBL.enregistrerSanctionner(sanctionner)) { MessageBox.Show("Enregistrement réussi", "School brain:Alerte"); sanctionners.Add(sanctionner); } else { MessageBox.Show("Enregistrement échoué", "School brain:Alerte"); } } else { if (sanctionEleveBL.modifierSanctionner(ancien_sanction, sanctionner)) { MessageBox.Show("Mise à jour effectuée", "School brain : Alerte"); sanctionners.Add(sanctionner); sanctionners.Remove(ancien_sanction); } else { MessageBox.Show("Mise à jour échouée", "School brain : Alerte"); } } grdListe.Items.Refresh(); txtQuantite.Text = ""; cmbEleve.Text = ""; txtMatricule.Text = ""; cmbSanction.IsEnabled = true; cmbSequence.IsEnabled = true; cmbEtat.IsEnabled = true; typeValidation = TYPE_ENREGISTRER; } else { MessageBox.Show("il y'a des champs vides, remplir tous les champs du formulaire", "School brain : alerte"); } }
internal bool modifierSanctionner(SanctionnerBE ancien_sanction, SanctionnerBE sanctionner) { if (sanctionnerDA.modifier(ancien_sanction, sanctionner)) { journalDA.journaliser("Modification d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule); return(true); } else { return(false); } }
internal bool enregistrerSanctionner(SanctionnerBE sanctionner) { if (sanctionnerDA.ajouter(sanctionner)) { journalDA.journaliser("Enregistrement d'une sanction - " + sanctionner.codesanction + " - " + sanctionner.matricule); return(true); } else { return(false); } }
//fonction qui teste si une blame ou un avertissement à déja été défini pour un élève public bool testSiDejaDefiniBlameOuAvertissement(SanctionnerBE sanction) { SanctionnerDA sanctionDA = new SanctionnerDA(); SanctionnerBE s = sanctionDA.rechercherSuivantTousLesChampsSaufLaDate(sanction); if (s != null) { return(true); } else { return(false); } }
public SaisirSanctionEleveUI() { CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name); ci.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"; Thread.CurrentThread.CurrentCulture = ci; InitializeComponent(); sanctionEleveBL = new GestionSanctionEleveBL(); sanctionners = new List <SanctionnerBE>(); ancien_sanction = new SanctionnerBE(); sanctions = new List <string>(); sequences = new List <string>(); disciplines = new List <DisciplineBE>(); eleves = new List <string>(); classes = new List <string>(); eleve = new EleveBE(); List <string> etats = new List <string>() { "NON JUSTIFIEE", "JUSTIFIEE" }; cmbEtat.ItemsSource = etats; disciplines = sanctionEleveBL.listerToutDiscipline(); if (disciplines != null) { foreach (DisciplineBE d in disciplines) { sanctions.Add(d.codeSanction + " - " + d.nomSanction); } } sequences = sanctionEleveBL.listerValeurColonneSequence("codeseq"); cmbSanction.ItemsSource = sanctions; cmbSanction.SelectedIndex = 0; cmbSequence.ItemsSource = sequences; cmbEtat.SelectedIndex = 1; annee = sanctionEleveBL.anneeEnCours(); txtAnnee.Text = " / " + annee; txtAnneeScolaire.Text = (annee - 1).ToString(); typeValidation = TYPE_ENREGISTRER; classes = sanctionEleveBL.listerValeurColonneClasse("codeclasse"); cmbClasse.ItemsSource = classes; }
private void grdListe_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (grdListe.SelectedIndex >= 0) { DisciplineBE d = new DisciplineBE(); ancien_sanction = sanctionners.ElementAt(grdListe.SelectedIndex); d.codeSanction = ancien_sanction.codesanction; d = sanctionEleveBL.rechercherDiscipline(d); cmbSanction.SelectedIndex = cmbSanction.Items.IndexOf(d.codeSanction + " - " + d.nomSanction); cmbSequence.SelectedIndex = cmbSequence.Items.IndexOf(ancien_sanction.sequence); cmbEtat.SelectedIndex = cmbEtat.Items.IndexOf(ancien_sanction.etat); Console.WriteLine(cmbSequence.Items.IndexOf(ancien_sanction.etat) + " " + ancien_sanction.etat); etat = ancien_sanction.etat; txtQuantite.Text = ancien_sanction.quantité.ToString(); cmbSanction.IsEnabled = false; cmbSequence.IsEnabled = false; cmbEtat.IsEnabled = false; typeValidation = TYPE_MODIFIER; } }
//fonction qui défini les avertissements et les blâmes d'un élève en fontion de son nbre d'heure d'absence /* * avec un nbre d'absence injustifiées dans l'intervalle [7h, 15h[, l'élève à un avertissement * avec un nbre d'absence injustifiées dans l'intervalle [15h, 30h[, l'élève à une blâme */ public void DefinirLesAvertissementsEtBlamesDunEleve(String matricule, String codeSequence, int annee) { //on liste les sanctions de l'élève List <SanctionnerBE> ListSanction = sanctionnerDA.getListSanctionSequentielleEleve(matricule, annee, codeSequence); int nbAbsenceNonJustifiees = 0; // le nombre d"absence non justifiées de l'élève int nbAbsenceJustifiees = 0; // le nombre d"absence non justifiées de l'élève for (int i = 0; i < ListSanction.Count; i++) { DisciplineBE discipline = new DisciplineBE(); discipline.codeSanction = ListSanction.ElementAt(i).codesanction; discipline = disciplineDA.rechercher(discipline); if (discipline.nomSanction.ToLower().Contains("absence") && ListSanction.ElementAt(i).etat.Equals("NON JUSTIFIEE")) { nbAbsenceNonJustifiees = nbAbsenceNonJustifiees + ListSanction.ElementAt(i).quantité; } else if (discipline.nomSanction.ToLower().Contains("absence") && ListSanction.ElementAt(i).etat.Equals("JUSTIFIEE")) { nbAbsenceJustifiees = nbAbsenceJustifiees + ListSanction.ElementAt(i).quantité; } } nbAbsenceNonJustifiees = nbAbsenceNonJustifiees - nbAbsenceJustifiees; //********************************** Si on lui avait deja defini des avertissement / blâmes / blame, on les supprimes dabord SanctionnerBE s2 = new SanctionnerBE(); DisciplineBE discipline2 = disciplineDA.rechercherByNom("avertissement"); if (discipline2 != null) { s2.codesanction = discipline2.codeSanction; s2.matricule = matricule; s2.annee = annee; s2.quantité = 1; s2.datesanction = System.DateTime.Today.Date; s2.sequence = codeSequence; s2.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s2)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2); } } s2 = new SanctionnerBE(); discipline2 = disciplineDA.rechercherByNom("blame"); if (discipline2 != null) { s2.codesanction = discipline2.codeSanction; s2.matricule = matricule; s2.annee = annee; s2.quantité = 1; s2.datesanction = System.DateTime.Today.Date; s2.sequence = codeSequence; s2.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s2)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2); } } discipline2 = disciplineDA.rechercherByNom("blâme"); if (discipline2 != null) { s2.codesanction = discipline2.codeSanction; s2.matricule = matricule; s2.annee = annee; s2.quantité = 1; s2.datesanction = System.DateTime.Today.Date; s2.sequence = codeSequence; s2.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s2)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s2); } } //********************FIN suppression des avertissement / blâmes / blame précédemment enregistrées if (nbAbsenceNonJustifiees >= 7 && nbAbsenceNonJustifiees < 15) { //on ajoute un avertissement à l'élève SanctionnerBE s = new SanctionnerBE(); DisciplineBE discipline = disciplineDA.rechercherByNom("avertissement"); if (discipline != null) { s.codesanction = discipline.codeSanction; s.matricule = matricule; s.annee = annee; s.quantité = 1; s.datesanction = System.DateTime.Today.Date; s.sequence = codeSequence; s.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s); } sanctionnerDA.ajouter(s); } } else if (nbAbsenceNonJustifiees >= 15 && nbAbsenceNonJustifiees < 30) { //on ajoute une blâme à l'élève SanctionnerBE s = new SanctionnerBE(); DisciplineBE discipline = disciplineDA.rechercherByNom("blame"); if (discipline != null) { s.codesanction = discipline.codeSanction; s.matricule = matricule; s.annee = annee; s.quantité = 1; s.datesanction = System.DateTime.Today.Date; s.sequence = codeSequence; s.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s); } sanctionnerDA.ajouter(s); } else { discipline = disciplineDA.rechercherByNom("blâme"); if (discipline != null) { s.codesanction = discipline.codeSanction; s.matricule = matricule; s.annee = annee; s.quantité = 1; s.datesanction = System.DateTime.Today.Date; s.sequence = codeSequence; s.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s); } sanctionnerDA.ajouter(s); } } //on ajoute un avertissement à l'élève s = new SanctionnerBE(); discipline = disciplineDA.rechercherByNom("avertissement"); if (discipline != null) { s.codesanction = discipline.codeSanction; s.matricule = matricule; s.annee = annee; s.quantité = 1; s.datesanction = System.DateTime.Today.Date; s.sequence = codeSequence; s.etat = "NON JUSTIFIEE"; if (testSiDejaDefiniBlameOuAvertissement(s)) { sanctionnerDA.supprimerSuivantTouslesCriteresSaufLaDate(s); } sanctionnerDA.ajouter(s); } } }