/// <summary>
        /// Remove employee from the table EMPLOYEE
        /// </summary>
        /// <param name="employee">Employee (object) from the data selected by user</param>
        public static void RemoveEmployeeFromEmployee(Employee employee)
        {
            string req = "delete from personnel where idpersonnel = @idpersonnelPersonnel;";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnelPersonnel", employee.IdEmployee }
            };
            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }
        /// <summary>
        /// Remove an absence from an employee
        /// </summary>
        /// <param name="absence">Absence (object) selected from an employee</param>
        /// <param name="employee">Employee (object) selected by a user</param>
        public static void RemoveAbsenceFromEmployee(Absence absence, Employee employee)
        {
            string req = "delete from absence ";

            req += "where idpersonnel = @idpersonnel ";
            req += "and datedebut = @datedebut";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnel", employee.IdEmployee },
                { "@datedebut", absence.FirstDay }
            };
            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }
        /// <summary>
        /// Add an absence to an employee
        /// </summary>
        /// <param name="employee">Employee (object) from the data selected by user</param>
        /// <param name="firstDay">first day of the absence</param>
        /// <param name="lastDay">last day of the absence</param>
        /// <param name="idReason">ID reason of the absence</param>
        public static void AddAbsence(Employee employee, DateTime firstDay, DateTime lastDay, int idReason)
        {
            string req = "insert into absence(idpersonnel, datedebut, idmotif, datefin) ";

            req += "values (@idpersonnel, @datedebut, @idmotif, @datefin) ";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnel", employee.IdEmployee },
                { "@datedebut", firstDay },
                { "@idmotif", idReason },
                { "@datefin", lastDay }
            };

            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }
        /// <summary>
        /// Update employee data in the database
        /// </summary>
        /// <param name="employee">Employee (object) from the data selected by user</param>
        public static void UpdateEmployee(Employee employee)
        {
            string req = "update personnel set nom = @nom, prenom = @prenom, tel = @tel, mail = @mail, idservice = @idservice ";

            req += "where idpersonnel = @idpersonnel;";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnel", employee.IdEmployee },
                { "@idservice", employee.IdDepartment },
                { "@nom", employee.FamilyName },
                { "@prenom", employee.FirstName },
                { "@tel", employee.Phone },
                { "@mail", employee.Mail }
            };
            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }
        /// <summary>
        /// Add an employee to the database
        /// </summary>
        /// <param name="employee">Employee (object) from the data selected by user</param>
        public static void AddEmployee(Employee employee)
        {
            string req = "insert into personnel(idpersonnel, idservice, nom, prenom, tel, mail) ";

            req += "values (@idpersonnel, @idservice, @nom, @prenom, @tel, @mail);";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnel", employee.IdEmployee },
                { "@nom", employee.FamilyName },
                { "@prenom", employee.FirstName },
                { "@tel", employee.Phone },
                { "@mail", employee.Mail },
                { "@idservice", employee.IdDepartment },
            };

            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }
        /// <summary>
        /// Update absence from an employee
        /// </summary>
        /// <param name="employee">Employee (object) from the data selected by user</param>
        /// <param name="previousDateSelected">first day, part of the composite primary key absence</param>
        /// <param name="firstDay">first day selected</param>
        /// <param name="lastDay">last day selected</param>
        /// <param name="idReason">ID reason of the absence</param>
        public static void UpdateAbsence(Employee employee,
                                         DateTime previousDateSelected,
                                         DateTime firstDay,
                                         DateTime lastDay,
                                         int idReason
                                         )
        {
            string req = "update absence set datedebut = @datedebut, datefin = @datefin, idmotif = @idmotif ";

            req += "where idpersonnel = @idpersonnel and datedebut = @datedebutAvantMAJ;";
            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                { "@idpersonnel", employee.IdEmployee },
                { "@datedebut", firstDay },
                { "@datedebutAvantMAJ", previousDateSelected },
                { "@datefin", lastDay },
                { "@idmotif", idReason }
            };

            ConnexionDataBase cursor = ConnexionDataBase.GetInstance(connexionString);

            cursor.ReqUpdate(req, parameters);
        }