public void modifierAbsence(Absence pA, String pDateDebut, String pDateFin, int pHeureDeb, int pMinuteDeb, int pHeureFin, int pMinuteFin, String pRaison, String pCommentaire, bool pValide, bool pAbsence) { DateTime dateDebut = conversionStringEnDate(pDateDebut, pHeureDeb, pMinuteDeb); DateTime dateFin = conversionStringEnDate(pDateFin, pHeureFin, pMinuteFin); TimeSpan duree = dateFin - dateDebut; // on détermine si c'est une absence ou un retard. bool isAbsence; if (pAbsence == true) { isAbsence = true; } else{ isAbsence = false; } pA._commentaire = pCommentaire; pA._dateDebut = dateDebut; pA._dateFin = dateFin; pA._duree = duree; pA._isAbsence = isAbsence; pA._raison = pRaison; pA._valide = pValide; DAL.AbsencesDAL.modifierAbsence(pA); }
public static bool ajouterAbsence(Absence pA) { try { SqlConnection connexion = ConnexionSQL.CreationConnexion(); SqlCommand cmd = new SqlCommand(INSERT_ABSENCES, connexion); cmd.Parameters.AddWithValue("@id", 1); cmd.Parameters.AddWithValue("@dateDebut", pA._dateDebut); cmd.Parameters.AddWithValue("@dateFin", pA._dateFin); cmd.Parameters.AddWithValue("@commentaire", pA._commentaire); cmd.Parameters.AddWithValue("@raison", pA._raison); cmd.Parameters.AddWithValue("@justifiee", pA._valide); cmd.Parameters.AddWithValue("@num_stagiaire", pA._stagiaire._id); cmd.Parameters.AddWithValue("@isAbsence", pA._isAbsence); cmd.ExecuteNonQuery(); // maintenant il faut mettre à jour l'objet Absence en lui assignant son numéro SqlCommand cmd2 = new SqlCommand(GET_NUM_ABSENCE, connexion); int idDernierAbsence = Convert.ToInt32(cmd2.ExecuteScalar()); pA._id = Convert.ToInt32(idDernierAbsence); connexion.Close(); return true; } catch (Exception) { System.Windows.MessageBox.Show("Cette absence a déjà été ajoutée. Pour la modifier, veuillez consulter l'historique des absences.", "Ajout Absence impossible", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Stop); return false; } }
public bool AjouterAbsence(String pDateDebut, String pDateFin, int pHeureDeb, int pMinuteDeb, int pHeureFin, int pMinuteFin, String pRaison, String pCommentaire, bool pValide, bool pAbsence, bool pRetard) { DateTime dateDebut = conversionStringEnDate(pDateDebut, pHeureDeb, pMinuteDeb); DateTime dateFin = conversionStringEnDate(pDateFin, pHeureFin, pMinuteFin); TimeSpan duree = dateFin - dateDebut; // on détermine si c'est une absence ou un retard. bool isAbsence; if (pAbsence == true) { isAbsence = true; } else{ isAbsence = false; } Absence a = new Absence(pRaison, pCommentaire, dateDebut, dateFin, duree, pValide, Parametres.Instance.stagiaire, isAbsence); return DAL.AbsencesDAL.ajouterAbsence(a); }
public static bool ajouterAbsenceTemporaire(Absence pA, Stagiaire pStagiaire) { try { SqlConnection connexion = ConnexionSQL.CreationConnexion(); SqlCommand cmd = new SqlCommand(INSERT_ABSENCE_TEMPORAIRE, connexion); cmd.Parameters.AddWithValue("@dateDebut", pA._dateDebut); cmd.Parameters.AddWithValue("@num_stagiaire", pStagiaire._id); cmd.ExecuteNonQuery(); // maintenant il faut mettre à jour l'objet Absence en lui assignant son numéro SqlCommand cmd2 = new SqlCommand(GET_NUM_ABSENCE, connexion); int idDernierAbsence = Convert.ToInt32(cmd2.ExecuteScalar()); pA._id = Convert.ToInt32(idDernierAbsence); connexion.Close(); return true; } catch (Exception) { System.Windows.MessageBox.Show("Cette absence ne peut être ajoutée.", "Ajout Absence impossible", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Stop); return false; } }
public static List<Absence> getListeAbsences(Stagiaire pS) { SqlConnection connexion = ConnexionSQL.CreationConnexion(); SqlCommand cmd = new SqlCommand(SELECT_INFOS_ABSENCES, connexion); cmd.Parameters.AddWithValue("@num_stagiaire", pS._id); List<Absence> listeAbsences = new List<Absence>(); try { SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Absence absTemp = new Absence(); absTemp._id = reader.GetInt32(reader.GetOrdinal("id_absence")); if (!reader.GetSqlDateTime(3).IsNull) { absTemp._dateDebut = reader.GetDateTime(3); } if (!reader.GetSqlDateTime(4).IsNull) { absTemp._dateFin = reader.GetDateTime(4); } else { absTemp._dateFin = DateTime.Now; } absTemp._raison = reader.GetSqlString(1).IsNull ? String.Empty : reader.GetString(1); absTemp._commentaire = reader.GetSqlString(2).IsNull ? String.Empty : reader.GetString(2); if (!reader.GetSqlBoolean(5).IsNull) { absTemp._valide = reader.GetBoolean(5); } if (!reader.GetSqlBoolean(6).IsNull) { absTemp._isAbsence = reader.GetBoolean(6); } try{absTemp._duree = absTemp._dateFin - absTemp._dateDebut;}catch (Exception){absTemp._duree = new TimeSpan(0);} absTemp._stagiaire = pS; listeAbsences.Add(absTemp); } } catch (Exception e) { System.Windows.MessageBox.Show("Impossible d'éxécuter la requête : " + e.Message, "Echec de la requête", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); return null; } connexion.Close(); return listeAbsences; }
public static void supprimerAbsence(Absence pA) { try { SqlConnection connexion = ConnexionSQL.CreationConnexion(); SqlCommand cmd = new SqlCommand(DELETE_ABSENCES, connexion); cmd.Parameters.AddWithValue("@id_absence", pA._id); cmd.ExecuteReader(); connexion.Close(); } catch (Exception e) { System.Windows.MessageBox.Show("Impossible d'éxécuter la requête : " + e.Message, "Echec de la requête", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } }
public static void modifierAbsence(Absence pA) { SqlConnection connexion = ConnexionSQL.CreationConnexion(); SqlCommand cmd = new SqlCommand(UPDATE_ABSENCES, connexion); cmd.Parameters.AddWithValue("@dateDebut", pA._dateDebut); cmd.Parameters.AddWithValue("@dateFin", pA._dateFin); cmd.Parameters.AddWithValue("@commentaire", pA._commentaire); cmd.Parameters.AddWithValue("@raison", pA._raison); cmd.Parameters.AddWithValue("@justifiee", pA._valide); cmd.Parameters.AddWithValue("@id_absence", pA._id); cmd.ExecuteReader(); connexion.Close(); }
public void supprimerAbsence(Absence a) { DAL.AbsencesDAL.supprimerAbsence(a); }
// Cette méthode permet d'ajouter des absences à la volée afin de répondre au besoin de rapidité le matin. Les absences sont ensuite retouchées et les champs manquants sont précisés. public bool AjouterAbsenceTemporaire(Stagiaire pStagiaire) { DateTime dateDebut = DateTime.Now; Absence a = new Absence(dateDebut, pStagiaire); return DAL.AbsencesDAL.ajouterAbsenceTemporaire(a, pStagiaire); }