// Gestion du boutton supprimer private void buttonSupprimer_Click(object sender, EventArgs e) { if (comboBoxNomProjet.SelectedIndex >= 0) { string message = "Etes-vous sûr de vouloir supprimer"; string caption = "Suppression d'un projet"; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { ProjetForfait projet = new ProjetForfait(); projet.CodeProjet = ((ProjetForfait)comboBoxNomProjet.SelectedItem).CodeProjet; if (DaoProjet.DelProjet(projet) == true) { projetForfaitBindingSource.Remove(comboBoxNomProjet.SelectedItem); projetForfaitBindingSource.ResetBindings(true); } else MessageBox.Show("Le projet n'a pas pu etre supprimé"); } } comboBoxNomProjet.SelectedItem = null; groupBoxProjet.Visible = false; groupBoxForfait.Visible = false; }
// On gère l'evenement du click sur valider private void buttonValider_Click(object sender, EventArgs e) { int CodeProjet = 0; if (comboBoxResponsable.SelectedItem != null && comboBoxClient != null && nomIsOk == true && dateIsOk == true && montantIsOk == true) { ProjetForfait projet = new ProjetForfait(CodeProjet, textBoxNomProjet.Text, dateDebut, dateFin, (Client)comboBoxClient.SelectedItem, textBoxContact.Text, textBoxMailContact.Text, Convert.ToDecimal(textBoxMontantContrat.Text), radioButtonOui.Checked, (Collaborateur)comboBoxResponsable.SelectedItem); if (clickCreer == true) { if (DaoProjet.AddProjet(projet, out CodeProjet) == true) { projet.CodeProjet = CodeProjet; projetForfaitBindingSource.Add(projet); } else MessageBox.Show("Le projet n'a pas été ajouté"); projetForfaitBindingSource.ResumeBinding(); const string caption = "Projet enregistré"; string message = "Projet" + projet.ToString() + "\n" + "Client" + comboBoxClient.SelectedItem.ToString() + "\n" + textBoxContact.Text + "," + textBoxMailContact.Text + "\n" + "[" + textBoxMontantContrat.Text + "," + "Collaborateur" + comboBoxResponsable.SelectedItem.ToString(); MessageBox.Show(message, caption, MessageBoxButtons.OK); comboBoxNomProjet.Enabled = true; comboBoxNomProjet.SelectedItem = null; ChangerEnabledTrueOrFalse(false); groupBoxForfait.Visible = false; groupBoxProjet.Visible = false; } if (clickModif == true) { Verif(); string message = "Veuillez confirmer la modification"; string caption = "Validation de la modification"; var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { projet.CodeProjet = ((ProjetForfait)comboBoxNomProjet.SelectedItem).CodeProjet; if (DaoProjet.UpdProjet(projet) == true) { projetForfaitBindingSource.ResumeBinding(); } else MessageBox.Show("La mise a jour n'a pas été effectuée"); const string caption2 = "Projet modifié"; string message2 = "Projet" + projet.ToString() + "\n" + "Client" + comboBoxClient.SelectedItem.ToString() + "\n" + textBoxContact.Text + "," + textBoxMailContact.Text + "\n" + "[" + textBoxMontantContrat.Text + "," + "Collaborateur" + comboBoxResponsable.SelectedItem.ToString(); MessageBox.Show(message2, caption2, MessageBoxButtons.OK); comboBoxNomProjet.Enabled = true; projetForfaitBindingSource.ResumeBinding(); comboBoxNomProjet.SelectedItem = null; ChangerEnabledTrueOrFalse(false); groupBoxForfait.Visible = false; groupBoxProjet.Visible = false; } } } else { if (nomIsOk == false) { errorProviderNomProjet.SetError(textBoxNomProjet, "Le nom est obligatoire pour créer un projet"); } else if (dateIsOk == false) { errorProviderDateDebut.SetError(maskedTextBoxDateDebut, "La saisie des dates est obligatoire"); errorProviderDateFin.SetError(maskedTextBoxDateFin, "La saisie des dates est obligatoire"); } else if (montantIsOk == false) { errorProviderMontant.SetError(textBoxMontantContrat, "Le montant du contrat est obligatoire pour créer un projet"); } else if (comboBoxClient.SelectedItem == null) { MessageBox.Show("Veuillez selectionner un client"); } else if(comboBoxResponsable.SelectedItem == null) { MessageBox.Show("Veuillez selectionneur un collaborateur"); } } }
//Modifier un projet dans la BB public static bool UpdProjet(ProjetForfait pr) { using (SqlConnection sqlConnect = GetConnection()) { using (SqlCommand sqlCde = new SqlCommand()) { sqlCde.Connection = sqlConnect; string strsql = "updProjet"; try { sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = strsql; sqlCde.Parameters.Add(new SqlParameter("@idp", SqlDbType.Int)).Value = pr.CodeProjet; sqlCde.Parameters.Add(new SqlParameter("@vColl", SqlDbType.Int)).Value = pr.ChefDeProjet.CodeColl; sqlCde.Parameters.Add(new SqlParameter("@vClient", SqlDbType.Int)).Value = pr.LeClient.CodeClient; sqlCde.Parameters.Add(new SqlParameter("@vQualif", SqlDbType.TinyInt)).Value = null; sqlCde.Parameters.Add(new SqlParameter("@vtypep", SqlDbType.TinyInt)).Value = 1; sqlCde.Parameters.Add(new SqlParameter("@vnomprojet", SqlDbType.VarChar)).Value = pr.NomProjet; sqlCde.Parameters.Add(new SqlParameter("@vdatedebut", SqlDbType.Date)).Value = pr.DDebut; sqlCde.Parameters.Add(new SqlParameter("@vdatefin", SqlDbType.Date)).Value = pr.DFin; sqlCde.Parameters.Add(new SqlParameter("@vcontactclient", SqlDbType.VarChar)).Value = pr.Contact; sqlCde.Parameters.Add(new SqlParameter("@vmailcontact", SqlDbType.VarChar)).Value = pr.MailContact; sqlCde.Parameters.Add(new SqlParameter("@vtarifjournalier", SqlDbType.Money)).Value = null; sqlCde.Parameters.Add(new SqlParameter("@vmtcontrat", SqlDbType.Money)).Value = pr.MontantContrat; sqlCde.Parameters.Add(new SqlParameter("@vpenaliteOuiNon", SqlDbType.Bit)).Value = pr.PenaliteOuiNon; //Execution de la commande int n = sqlCde.ExecuteNonQuery(); if (n == 1) MessageBox.Show("Mise a jour éffectuée"); return true; } catch (Exception ex) { throw new DAOException(ex.Message); } } } }
// Parametrage BDD avec la methode GetallProject public static List<ProjetForfait> GetAllProject() { using (SqlConnection sqlConnect = GetConnection()) { using (SqlCommand sqlCde = new SqlCommand()) { sqlCde.Connection = sqlConnect; string strsql = "GetAllProjetForfaits"; try { sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = strsql; SqlDataReader sqlRdr = sqlCde.ExecuteReader(); Projets = new List<ProjetForfait>(); while (sqlRdr.Read()) { ProjetForfait projet = new ProjetForfait() { CodeProjet = sqlRdr.GetInt32(0), NomProjet = sqlRdr.GetString(1), DDebut = sqlRdr.GetDateTime(2), DFin = sqlRdr.GetDateTime(3), Contact = sqlRdr[4].ToString(), MailContact = sqlRdr[5].ToString(), LeClient = new Client() { CodeClient = sqlRdr.GetInt32(6) }, MontantContrat = sqlRdr.GetDecimal(7), ChefDeProjet = new Collaborateur() { CodeColl = sqlRdr.GetInt32(9) }, PenaliteOuiNon = sqlRdr.GetSqlBoolean(8) == true ? Penalite.Oui : Penalite.Non }; Projets.Add(projet); } sqlRdr.Close(); return Projets; } catch (Exception ex) { throw new DAOException(ex.Message); } } } }
//Ajouter un projet dans la BDD public static bool AddProjet(ProjetForfait pr, out int idProjet) { using (SqlConnection sqlConnect = GetConnection()) { using (SqlCommand sqlCde = new SqlCommand()) { sqlCde.Connection = sqlConnect; string strsql = "AddProjet"; try { sqlCde.CommandType = CommandType.StoredProcedure; sqlCde.CommandText = strsql; // Ajout des paramètres sqlCde.Parameters.Add(new SqlParameter("@idColl", SqlDbType.Int)).Value = pr.ChefDeProjet.CodeColl; sqlCde.Parameters.Add(new SqlParameter("@IdClient", SqlDbType.Int)).Value = pr.LeClient.CodeClient; sqlCde.Parameters.Add(new SqlParameter("@IdQualif", SqlDbType.TinyInt)).Value = null; sqlCde.Parameters.Add(new SqlParameter("@idtypep", SqlDbType.TinyInt)).Value = 1; sqlCde.Parameters.Add(new SqlParameter("@nomprojet", SqlDbType.VarChar)).Value = pr.NomProjet; sqlCde.Parameters.Add(new SqlParameter("@ddebut", SqlDbType.Date)).Value = pr.DDebut; sqlCde.Parameters.Add(new SqlParameter("@dfin", SqlDbType.Date)).Value = pr.DFin; sqlCde.Parameters.Add(new SqlParameter("@contactclient", SqlDbType.VarChar)).Value = pr.Contact; sqlCde.Parameters.Add(new SqlParameter("@mailcontact", SqlDbType.VarChar)).Value = pr.MailContact; sqlCde.Parameters.Add(new SqlParameter("@tarifjournalier", SqlDbType.Money)).Value = null; sqlCde.Parameters.Add(new SqlParameter("@mtcontrat", SqlDbType.Money)).Value = pr.MontantContrat; sqlCde.Parameters.Add(new SqlParameter("@penaliteOuiNon", SqlDbType.Bit)).Value = pr.PenaliteOuiNon; sqlCde.Parameters.Add(new SqlParameter("@idProjet", SqlDbType.Int)).Direction = ParameterDirection.Output; // Execution de la commande et recup parametre de sortie int n = sqlCde.ExecuteNonQuery(); if (n == 1) MessageBox.Show("Mise a jour éffectuée"); idProjet = (int)sqlCde.Parameters["@idProjet"].Value; return true; } catch (Exception ex) { throw new DAOException(ex.Message); } } } }