//Bouttons et DataGridView #region /// <summary> /// Gestion du click dans le Datagridview. /// 3 possibilités: Détails,Modifier et supprimer. /// </summary> /// <param name="sender"> Contrôle de l'événement.</param> /// <param name="e">Arguments.</param> private void dataGridViewExperiences_CellClick(object sender, DataGridViewCellEventArgs e) { // empêche le click en dehors des cellules if (e.ColumnIndex > 1 && e.RowIndex != -1) { // récupération de la cellule DataGridViewCell cell = dataGridViewExperiences.Rows[e.RowIndex].Cells[e.ColumnIndex]; exp = (Metier.Experience)dataGridViewExperiences.CurrentRow.DataBoundItem; if (cell.Value.ToString() == "Modifier") { isModifier = true; exp.IdExperience = ((Metier.Experience)dataGridViewExperiences.CurrentRow.DataBoundItem).IdExperience; Affichage("MA"); } if (cell.Value.ToString() == "Détails") { Affichage("D"); } if (cell.Value.ToString() == "Supprimer") { DialogResult dr = MessageBox.Show("Etes vous sûr de vouloir supprimer cette expérience?", "Suppression expérience", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr == DialogResult.Yes) { Delexp(exp); experienceBindingSource.ResetBindings(false); } } } }
/// <summary> /// Ajout d'une expérience dans la base de données. /// </summary> /// <param name="exp">expérience ajoutée.</param> /// <returns>booléen indiquant si l'ajout c'est fait.</returns> public static bool AddExperience(Metier.Experience exp) { SqlConnection sqlConnect = DaoConnection.GetConnection(); SqlCommand sqlCde = new SqlCommand(); sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = "AddExperience"; sqlCde.Connection = sqlConnect; sqlCde.Parameters.AddWithValue("@idQualification", exp.LaQualif.IdQualification); sqlCde.Parameters.AddWithValue("@idCandidat", exp.IdCandidat); sqlCde.Parameters.AddWithNullableValue("@idEntreprise", exp.Lentreprise.IdEntreprise); sqlCde.Parameters.AddWithValue("@DateDebut", exp.DateDebut); sqlCde.Parameters.AddWithNullableValue("@DateFin", exp.DateFin); sqlCde.Parameters.AddWithNullableValue("@Commentaire", exp.Commentaire); SqlParameter p = new SqlParameter("@idExperience", SqlDbType.Int); p.Direction = ParameterDirection.Output; sqlCde.Parameters.Add(p); int l = sqlCde.ExecuteNonQuery(); int expcode = (int)sqlCde.Parameters[6].Value; exp.IdExperience = expcode; sqlConnect.Close(); if (l == 1) { return(true); } else { return(false); } }
/// <summary> /// Modification d'une expérience dans la base de données. /// </summary> /// <param name="exp">expérience modifiée.</param> /// <returns>booléen indiquant si la modification c'est faite.</returns> public static bool UpdExperience(Metier.Experience exp) { SqlConnection sqlConnect = DaoConnection.GetConnection(); SqlCommand sqlCde = new SqlCommand(); sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = "UpdExperience"; sqlCde.Connection = sqlConnect; sqlCde.Parameters.AddWithValue("@IdExperience", exp.IdExperience); sqlCde.Parameters.AddWithValue("@idQualification", exp.LaQualif.IdQualification); sqlCde.Parameters.AddWithNullableValue("@idEntreprise", exp.Lentreprise.IdEntreprise); sqlCde.Parameters.AddWithValue("@DateDebut", exp.DateDebut); sqlCde.Parameters.AddWithNullableValue("@DateFin", exp.DateFin); sqlCde.Parameters.AddWithNullableValue("@Commentaire", exp.Commentaire); int l = sqlCde.ExecuteNonQuery(); sqlConnect.Close(); if (l == 1) { return(true); } else { return(false); } }
/// <summary> /// Méthode de récupération des expériences d'un candidat. /// </summary> /// <param name="Candidat">Le Candidat à qui ont récupère les expériences.</param> /// <returns>Est retourné la liste des expériences du candidat.</returns> public static List <Metier.Experience> GetAllExperiences(Metier.Candidat Candidat) { List <Metier.Experience> Experiences = new List <Metier.Experience>(); using (SqlConnection sqlCo = DaoConnection.GetConnection()) { using (SqlCommand sqlCde = new SqlCommand()) { sqlCde.Connection = sqlCo; String strCo = "GetAllExperiences"; sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = strCo; sqlCde.Parameters.Add(new SqlParameter("@IdCandidat", SqlDbType.Int)).Value = Candidat.IdCandidat; try { SqlDataReader sqlRdr = sqlCde.ExecuteReader(); while (sqlRdr.Read()) { //Experiences.Add(new Metier.Experience(sqlRdr.GetInt32(0), sqlRdr.GetInt32(2), sqlRdr.GetDateTime(4), sqlRdr.GetDateTime(5), sqlRdr.GetString(6), new Metier.Qualification(sqlRdr.GetInt32(1)), new Metier.Entreprise(sqlRdr.GetInt32(3)))); Metier.Experience Exp = new Metier.Experience(); Exp.IdExperience = sqlRdr.GetInt32(0); Exp.IdCandidat = sqlRdr.GetInt32(2); Exp.LaQualif = new Metier.Qualification(sqlRdr.GetInt32(1)); if (!sqlRdr.IsDBNull(3)) { Exp.Lentreprise = new Metier.Entreprise(sqlRdr.GetInt32(3)); } Exp.DateDebut = sqlRdr.GetDateTime(4); if (!sqlRdr.IsDBNull(5)) { Exp.DateFin = sqlRdr.GetDateTime(5); } if (!sqlRdr.IsDBNull(6)) { Exp.Commentaire = sqlRdr.GetString(6); } Experiences.Add(Exp); } sqlRdr.Close(); } catch (SqlException se) { throw new Exceptions.DaoException.DAOExceptionFinApplication("Lecture des candidats impossible: \n" + se.Message, se); } } } return(Experiences); }
/// <summary> /// Méthode de Validation de l'expérience (modifiée ou ajoutée). /// </summary> /// <param name="expe">Expérience Testée.</param> /// <returns></returns> public static int Validation(Metier.Experience expe) { // La date de début de peux être valide que si elle a moins de 60ans if (expe.DateDebut < DateTime.Today.AddYears(-60)) { return(1); } if (!ValidationDate(expe.DateDebut, expe.DateFin)) { return(2); } if (expe.Lentreprise.IdEntreprise == 0 && expe.Commentaire == null) { return(3); } return(0); }
/// <summary> /// Suppression d'une expérience dans la base de données. /// </summary> /// <param name="exp">expérience supprimée.</param> /// <returns>booléen indiquant si la suppression c'est faite.</returns> public static bool DelExperience(Metier.Experience exp) { SqlConnection sqlConnect = DaoConnection.GetConnection(); SqlCommand sqlCde = new SqlCommand(); sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = "DelExperience"; sqlCde.Connection = sqlConnect; sqlCde.Parameters.AddWithValue("@idExperience", exp.IdExperience); int l = sqlCde.ExecuteNonQuery(); sqlConnect.Close(); if (l == 1) { return(true); } else { return(false); } }
/// <summary> /// Gestion du click dans le Datagridview. /// 3 possibilités: Détails,Modifier et supprimer. /// </summary> /// <param name="sender"> Contrôle de l'événement.</param> /// <param name="e">Arguments.</param> private void dataGridViewExperiences_CellClick(object sender, DataGridViewCellEventArgs e) { // empêche le click en dehors des cellules if (e.ColumnIndex > 1 && e.RowIndex != -1) { // récupération de la cellule DataGridViewCell cell = dataGridViewExperiences.Rows[e.RowIndex].Cells[e.ColumnIndex]; exp = (Metier.Experience)dataGridViewExperiences.CurrentRow.DataBoundItem; if (cell.Value.ToString() == "Modifier") { isModifier = true; exp.IdExperience = ((Metier.Experience)dataGridViewExperiences.CurrentRow.DataBoundItem).IdExperience; Affichage("MA"); } if (cell.Value.ToString() == "Détails") { Affichage("D"); } if (cell.Value.ToString() == "Supprimer") { DialogResult dr = MessageBox.Show("Etes vous sûr de vouloir supprimer cette expérience?", "Suppression expérience", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr == DialogResult.Yes) { Delexp(exp); experienceBindingSource.ResetBindings(false); } } } }
/// <summary> /// Evénement du bouton "Ajouter", permet ce créer une expérience. /// </summary> /// <param name="sender"> Contrôle de l'événement.</param> /// <param name="e">Arguments.</param> private void buttonAjouter_Click(object sender, EventArgs e) { isCreer = true; exp = new Metier.Experience(LeCandidat.IdCandidat); Affichage("MA"); }
/// <summary> /// Méthode de modification d'une expérience. /// </summary> /// <param name="xp">Expérience modifiée.</param> private void Updexp(Metier.Experience xp) { Delexp(xp); Dao.DaoExperiences.UpdExperience(xp); Addexp(xp); }
/// <summary> /// Méthode de suppression d'une expérience. /// </summary> /// <param name="xp">Expérience supprimée.</param> private void Delexp(Metier.Experience xp) { Dao.DaoExperiences.DelExperience(xp); experienceBindingSource.Remove(xp); LeCandidat.Experiences.Remove(xp); }
/// <summary> /// Méthode d'ajout d'une expérience. /// </summary> /// <param name="xp">Expérience ajoutée.</param> private void Addexp(Metier.Experience xp) { Dao.DaoExperiences.AddExperience(exp); experienceBindingSource.Add(exp); LeCandidat.Experiences.Add(exp); }