Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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;
        }
Пример #6
0
 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);
     }
 }
Пример #7
0
        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();
        }
Пример #8
0
 public void supprimerAbsence(Absence a)
 {
     DAL.AbsencesDAL.supprimerAbsence(a);
 }
Пример #9
0
 // 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);
 }