private void buttonUpdateDisponibilite_Click(object sender, EventArgs e) { if (periodeRow != null) { if (periodeRow.debut_periode <= periodeRow.fin_periode) { int value; Int32.TryParse(dataGridViewPeriode.SelectedCells[0].Value.ToString(), out value); var Result = MessageBox.Show("Etes-vous sûr de vouloir modifier la période n°" + value.ToString() + "?", "Veuillez confirmer:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { EtudiantManager.SavePeriode(periodeRow); PopulateAndBind(); } } else { MessageBox.Show("La date de début de période doit se situer avant la date de fin de période", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { var Result = MessageBox.Show("Veuillez sélectionner une ligne", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void Valider() { etudiantRow.sexe_etudiant = EtudiantManager.GetGenre(comboBoxSexeEtudiant.Text); if (id == -1) { EtudiantManager.AddEtudiant(etudiantRow); } else { if (!etudiantRow.statut_etudiant) { var Result = MessageBox.Show("Etes-vous sûr de vouloir inactiver l'étudiant n°" + etudiantRow.etudiant_id + "? S'il a communiqué des périodes de disponibilité à venir, elles vont être supprimées", "Veuillez confirmer", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>(); periodeList = EtudiantManager.GetPeriodeList(etudiantRow.etudiant_id); if (periodeList != null) { foreach (var periode in periodeList) { if (periode.debut_periode >= DateTime.Now) { EtudiantManager.DeletePeriode(periode.periode_id); } } } } } EtudiantManager.SaveEtudiant(etudiantRow); } }
/// <summary> /// Permet la suppression d'un profil étudiant et de ses périodes de disponibilité /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDeleteEtudiant_Click(object sender, EventArgs e) { int value; Int32.TryParse(comboBoxListEtudiant.SelectedValue.ToString(), out value); // Protection de l'id de l'étudiant par défaut if (value == 1) { MessageBox.Show("Ligne protégée pour la stabilité de l'application", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { var Result = MessageBox.Show("Etes-vous sûr de vouloir supprimer l'étudiant n°" + value.ToString() + "?", "Veuillez confirmer:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { // la variable checkJob va permettre de conserver l'information booléenne quant aux attributions de job de l'étudiant en dehors de la boucle foreach bool checkJob = false; Connectds.jobDataTable jobDT = EntrepriseManager.GetJobDT(); foreach (Connectds.jobRow jobRow in jobDT) { if (value == jobRow.etudiant_id) { var Result2 = MessageBox.Show("L'étudiant n°" + value.ToString() + " a des attributions de jobs actives. Vous ne pouvez le supprimer. Souhaitez-vous rendre son profil inactif?", "Veuillez préciser:", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (Result2 == DialogResult.Yes) { etudiantSelectionne = EtudiantManager.GetEtudiant(value); etudiantSelectionne.statut_etudiant = false; // le statut devient inactif EtudiantManager.SaveEtudiant(etudiantSelectionne); PopulateAndBind(); } checkJob = true; break; } } if (!checkJob) { List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>(); periodeList = EtudiantManager.GetPeriodeList(value); if (periodeList != null) { foreach (var periode in periodeList) { EtudiantManager.DeletePeriode(periode.periode_id); } } EtudiantManager.DeleteEtudiant(value); PopulateAndBind(); } } } }
/// <summary> /// Rafraichit le binding entre le dataGridViewPeriode et les date pickers, ce qui permet d'utiliser ces derniers pour modifier une période /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridViewPeriode_CellClick(object sender, DataGridViewCellEventArgs e) { int value; if (dataGridViewPeriode.SelectedRows.Count == 1) { datePickerDebutPeriode.DataBindings.Clear(); datePickerFinPeriode.DataBindings.Clear(); Int32.TryParse(dataGridViewPeriode.SelectedCells[0].Value.ToString(), out value); periodeRow = EtudiantManager.GetPeriode(value); datePickerDebutPeriode.DataBindings.Add("Value", periodeRow, "debut_periode"); datePickerFinPeriode.DataBindings.Add("Value", periodeRow, "fin_periode"); } }
private void buttonSupprimerDisponibilite_Click(object sender, EventArgs e) { if (dataGridViewPeriode.SelectedRows.Count == 1) { int value; Int32.TryParse(dataGridViewPeriode.SelectedCells[0].Value.ToString(), out value); var Result = MessageBox.Show("Etes-vous sûr de vouloir supprimer la période n°" + value.ToString() + "?", "Veuillez confirmer:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { EtudiantManager.DeletePeriode(value); dataGridViewPeriode.Refresh(); PopulateAndBind(); } } }
private void PopulateAndBind() { //Si l'étudiant est nouvellement créé, cette condition permet de récupérer son id. //Sinon, l'id passée en paramètre avec le constructeur est à -1 if (etudiantId == -1) { Connectds.etudiantDataTable dt = new Connectds.etudiantDataTable(); dt = EtudiantManager.GetEtudiantDT(); etudiantRow = dt.Last <Connectds.etudiantRow>(); etudiantId = etudiantRow.etudiant_id; } dataGridViewPeriode.DataSource = EtudiantManager.GetPeriodeList(etudiantId); textBoxIdEtudiant.Text = etudiantId.ToString(); etudiantRow = EtudiantManager.GetEtudiant(etudiantId); textBoxNom.Text = etudiantRow.prenom_etudiant + " " + etudiantRow.nom_etudiant; }
private void buttonValiderDisponibilite_Click(object sender, EventArgs e) { Connectds.periodeDataTable periodeDT = new Connectds.periodeDataTable(); periodeRow = periodeDT.NewperiodeRow(); periodeRow.etudiant_id = etudiantId; periodeRow.debut_periode = datePickerDebutPeriode.Value; periodeRow.fin_periode = datePickerFinPeriode.Value; if (periodeRow.debut_periode <= periodeRow.fin_periode) { EtudiantManager.AddPeriode(periodeRow); PopulateAndBind(); } else { MessageBox.Show("La date de début de période doit se situer avant la date de fin de période", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void buttonListEtudiantAfficher_Click(object sender, EventArgs e) { int value; Int32.TryParse(comboBoxListEtudiant.SelectedValue.ToString(), out value); etudiantSelectionne = EtudiantManager.GetEtudiant(value); if (value != -1 && value != 1) { FormEtudiant formEtudiant = new FormEtudiant(etudiantSelectionne); formEtudiant.MdiParent = this.MdiParent; formEtudiant.Show(); this.Close(); } // Protection de l'id de l'étudiant par défaut if (value == 1) { MessageBox.Show("Ligne protégée pour la stabilité de l'application", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void PopulateAndBind(int jobID) { ds = EntrepriseManager.GetDS(); comboBoxEntreprise.DataSource = ds; comboBoxEntreprise.ValueMember = "entreprise.entreprise_id"; comboBoxEntreprise.DisplayMember = "entreprise.nom_entreprise"; if (id != -1) { jobRow = EntrepriseManager.GetJob(id); comboBoxEntreprise.SelectedValue = jobRow.entreprise_id; comboBoxEntreprise.Enabled = false; if (!jobRow.Isetudiant_idNull()) { etudiantRow = EtudiantManager.GetEtudiant(jobRow.etudiant_id); textBoxEtudiantJob.Text = etudiantRow.etudiant_id + " - " + etudiantRow.nom_etudiant + " " + etudiantRow.prenom_etudiant; } textBoxJobID.Text = jobID.ToString(); buttonValiderJob.Text = "Modifier"; } else { if (entrepriseID != -1) { comboBoxEntreprise.SelectedValue = entrepriseID; } Connectds.jobDataTable jobDT = new Connectds.jobDataTable(); jobRow = (Connectds.jobRow)jobDT.NewjobRow(); //Tentative de contourner les contraintes de FK not null du DataSet: //jobRow.Setetudiant_idNull(); jobRow.etudiant_id = 1; comboBoxEntreprise.DropDownStyle = ComboBoxStyle.DropDownList; jobRow.titre_job = string.Empty; jobRow.descriptif_job = string.Empty; jobRow.profil_job = string.Empty; jobRow.date_debut_job = DateTime.Now; jobRow.date_fin_job = DateTime.Now; jobRow.horaire_job = string.Empty; jobRow.remuneration_job = 0; jobRow.permis_voiture_job = false; jobRow.remarque_job = string.Empty; jobRow.date_publication_job = DateTime.Now; jobRow.statut_job = false; labelJob.Visible = false; textBoxJobID.Visible = false; } textBoxIntituleJob.DataBindings.Add("Text", jobRow, "titre_job"); textBoxDescriptif.DataBindings.Add("Text", jobRow, "descriptif_job"); textBoxProfilJob.DataBindings.Add("Text", jobRow, "profil_job"); datePickerDebutJob.DataBindings.Add("Value", jobRow, "date_debut_job"); datePickerFinJob.DataBindings.Add("Value", jobRow, "date_fin_job"); textBoxHoraireJob.DataBindings.Add("Text", jobRow, "horaire_job"); numericUpDownSalaireJob.DataBindings.Add("Value", jobRow, "remuneration_job"); textBoxRmqJob.DataBindings.Add("Text", jobRow, "remarque_job"); datePickerPublicationJob.DataBindings.Add("Value", jobRow, "date_publication_job"); // création du binding pour le radiobutton "Oui" (permis) var permisJobBinding = new Binding("Checked", jobRow, "permis_voiture_job"); // Format = lecture à partir du datasource, retourne "true" s'il lit la valeur true permisJobBinding.Format += (s, args) => args.Value = ((bool)args.Value) == true; // Parse = écriture dans le datasource, retourne la valeur true s'il lit true, sinon il retourne false permisJobBinding.Parse += (s, args) => args.Value = (bool)args.Value ? true : false; // Binding: radioButtonPermisOuiJob.DataBindings.Add(permisJobBinding); // création du binding pour le radiobutton "Non" (permis) var permisJobNonBinding = new Binding("Checked", jobRow, "permis_voiture_job"); // Format = lecture à partir du datasource, retourne "true" s'il lit la valeur false permisJobNonBinding.Format += (s, args) => args.Value = ((bool)args.Value) == false; // Parse = écriture dans le datasource, retourne la valeur false s'il lit true, sinon il retourne true permisJobNonBinding.Parse += (s, args) => args.Value = (bool)args.Value ? false : true; // Binding: radioButtonPermisNonJob.DataBindings.Add(permisJobNonBinding); }
private void PopulateAndBind(int id) { comboBoxSexeEtudiant.Items.Add(Enums.Genre.Féminin.ToString()); comboBoxSexeEtudiant.Items.Add(Enums.Genre.Masculin.ToString()); comboBoxSexeEtudiant.Items.Add(Enums.Genre.Indéterminé.ToString()); dateTimePickerDdNEtudiant.MinDate = DateTime.Now.AddYears(-31); dateTimePickerDdNEtudiant.MaxDate = DateTime.Now.AddYears(-12); dateTimePickerCreaProfilEtudiant.MinDate = DateTime.Now.AddYears(-5); dateTimePickerCreaProfilEtudiant.MaxDate = DateTime.Now.AddDays(1); if (id != -1) { etudiantRow = EtudiantManager.GetEtudiant(id); switch (etudiantRow.sexe_etudiant) { case "F": comboBoxSexeEtudiant.Text = Enums.Genre.Féminin.ToString(); break; case "M": comboBoxSexeEtudiant.Text = Enums.Genre.Masculin.ToString(); break; case "X": comboBoxSexeEtudiant.Text = Enums.Genre.Indéterminé.ToString(); break; default: break; } } else { Connectds.etudiantDataTable etudiantDT = new Connectds.etudiantDataTable(); etudiantRow = etudiantDT.NewetudiantRow(); etudiantRow.nom_etudiant = string.Empty; etudiantRow.prenom_etudiant = string.Empty; etudiantRow.date_naissance_etudiant = DateTime.Now.AddYears(-20); dateTimePickerDdNEtudiant.Value = DateTime.Now.AddYears(-20); etudiantRow.adresse_etudiant = string.Empty; etudiantRow.telephone_etudiant = string.Empty; etudiantRow.email_etudiant = string.Empty; etudiantRow.statut_etudiant = true; etudiantRow.ecole_etudiant = string.Empty; etudiantRow.annee_scolaire_etudiant = string.Empty; etudiantRow.type_etudes_etudiant = string.Empty; etudiantRow.permis_voiture_etudiant = true; etudiantRow.sexe_etudiant = string.Empty; etudiantRow.hobbies_etudiant = string.Empty; etudiantRow.experience_etudiant = string.Empty; etudiantRow.domaine_recherche_etudiant = string.Empty; etudiantRow.langues_etudiant = string.Empty; etudiantRow.remarque_etudiant = string.Empty; etudiantRow.date_creation_etudiant = DateTime.Now; dateTimePickerCreaProfilEtudiant.Value = DateTime.Now; labelIdEtudiant.Visible = false; textBoxIdEtudiant.Visible = false; } textBoxIdEtudiant.DataBindings.Add("Text", etudiantRow, "etudiant_id"); textBoxNomEtudiant.DataBindings.Add("Text", etudiantRow, "nom_etudiant"); textBoxPrenomEtudiant.DataBindings.Add("Text", etudiantRow, "prenom_etudiant"); dateTimePickerDdNEtudiant.DataBindings.Add("Value", etudiantRow, "date_naissance_etudiant"); textBoxAdresseEtudiant.DataBindings.Add("Text", etudiantRow, "adresse_etudiant"); textBoxTelEtudiant.DataBindings.Add("Text", etudiantRow, "telephone_etudiant"); textBoxEmailEtudiant.DataBindings.Add("Text", etudiantRow, "email_etudiant"); textBoxEcoleEtudiant.DataBindings.Add("Text", etudiantRow, "ecole_etudiant"); textBoxAnneeEtudiant.DataBindings.Add("Text", etudiantRow, "annee_scolaire_etudiant"); textBoxTypeEtudiant.DataBindings.Add("Text", etudiantRow, "type_etudes_etudiant"); textBoxLangueEtudiant.DataBindings.Add("Text", etudiantRow, "langues_etudiant"); textBoxExperience.DataBindings.Add("Text", etudiantRow, "experience_etudiant"); textBoxDomaineEtudiant.DataBindings.Add("Text", etudiantRow, "domaine_recherche_etudiant"); textBoxHobbiesEtudiant.DataBindings.Add("Text", etudiantRow, "hobbies_etudiant"); textBoxRmqEtudiant.DataBindings.Add("Text", etudiantRow, "remarque_etudiant"); dateTimePickerCreaProfilEtudiant.DataBindings.Add("Value", etudiantRow, "date_creation_etudiant"); // création du binding pour le radiobutton "Oui" (permis) var permisBinding = new Binding("Checked", etudiantRow, "permis_voiture_etudiant"); // Format = lecture à partir du datasource, retourne "true" s'il lit la valeur true permisBinding.Format += (s, args) => args.Value = ((bool)args.Value) == true; // Parse = écriture dans le datasource, retourne la valeur true s'il lit true, sinon il retourne false permisBinding.Parse += (s, args) => args.Value = (bool)args.Value ? true : false; // Binding: radioButtonPermisOuiEtudiant.DataBindings.Add(permisBinding); // création du binding pour le radiobutton "Non" (permis) var permisNonBinding = new Binding("Checked", etudiantRow, "permis_voiture_etudiant"); // Format = lecture à partir du datasource, retourne "true" s'il lit la valeur false permisNonBinding.Format += (s, args) => args.Value = ((bool)args.Value) == false; // Parse = écriture dans le datasource, retourne la valeur false s'il lit true, sinon il retourne true permisNonBinding.Parse += (s, args) => args.Value = (bool)args.Value ? false : true; // Binding: radioButtonPermisNonEtudiant.DataBindings.Add(permisNonBinding); // création du binding pour le checkbox Actif var actifBinding = new Binding("Checked", etudiantRow, "statut_etudiant"); // Format = lecture à partir du datasource, retourne "true" s'il lit la valeur 1 actifBinding.Format += (s, args) => args.Value = ((bool)args.Value) == true; // Parse = écriture dans le datasource, retourne la valeur false s'il lit la valeur 2 actifBinding.Parse += (s, args) => args.Value = (bool)args.Value ? true : false; // Binding: checkBoxActif.DataBindings.Add(actifBinding); }
private void PopulateAndBind(DateTime debut, DateTime fin) { dataGridViewRechercheEtudiant.DataSource = EtudiantManager.GetPeriodeList(debut, fin); }