mediatek86/projet/dal/PersonnelAccess.cs

142 lines
5.3 KiB
C#

using projet.modele;
namespace projet.dal
{
/// <summary>
/// Méthodes d'accès aux données pour le personnel.
/// </summary>
public class PersonnelAccess
{
private readonly Access access;
/// <summary>
/// Récupère l'instance de la classe Access pour accéder à la base de données.
/// </summary>
public PersonnelAccess()
{
access = Access.GetInstance();
}
/// <summary>
/// Méthode pour récupérer tous les personnels de la base de données.
/// </summary>
/// <returns></returns>
public List<Personnel> GetAllPersonnel()
{
List<Personnel> personnelList = new List<Personnel>();
if (access.Manager != null)
{
string req = "SELECT * FROM personnel ORDER BY nom, prenom;";
try
{
List<Object[]> resultats = access.Manager.ReqSelect(req);
if (resultats != null)
{
foreach (Object[] resultat in resultats)
{
Personnel personnel = new Personnel(
Convert.ToInt32(resultat[0]), // IdPersonnel
Convert.ToString(resultat[1]), // Nom
Convert.ToString(resultat[2]), // Prenom
Convert.ToString(resultat[3]), // Tel
Convert.ToString(resultat[4]), // Mail
Convert.ToInt32(resultat[5]) // IdService
);
personnelList.Add(personnel);
}
}
}
catch (Exception)
{
Console.WriteLine("Erreur lors de la récupération des données du personnel.");
Environment.Exit(0);
}
}
return personnelList;
}
/// <summary>
/// Méthode pour ajouter un personnel à la base de données.
/// </summary>
/// <param name="personne">Personne à rajouter</param>
public void addPersonnel(Personnel personne)
{
if (access.Manager != null)
{
string req = "INSERT INTO personnel (nom, prenom, tel, mail, idService) VALUES (@nom, @prenom, @tel, @mail, @idService);";
var parameters = new Dictionary<string, object>
{
{ "@nom", personne.Nom },
{ "@prenom", personne.Prenom },
{ "@tel", personne.Tel },
{ "@mail", personne.Mail },
{ "@idService", personne.IdService }
};
try
{
access.Manager.ReqUpdate(req, parameters);
}
catch (Exception)
{
Console.WriteLine("Erreur lors de l'ajout du personnel dans la base de données.");
Environment.Exit(0);
}
}
}
/// <summary>
/// Méthode pour supprimer un personnel de la base de données.
/// </summary>
/// <param name="personnel">Personne à supprimer</param>
public void deletePersonnel(Personnel personnel)
{
if (access.Manager != null)
{
string req = "DELETE FROM personnel WHERE idPersonnel = @idPersonnel;";
var parameters = new Dictionary<string, object>
{
{ "@idPersonnel", personnel.IdPersonnel }
};
try
{
access.Manager.ReqUpdate(req, parameters);
}
catch (Exception)
{
Console.WriteLine("Erreur lors de la suppression du personnel dans la base de données.");
Environment.Exit(0);
}
}
}
/// <summary>
/// Méthode pour modifier les informations d'un personnel dans la base de données.
/// </summary>
/// <param name="personnel">Personne à modifier</param>
public void ModifierPersonnel(Personnel personnel)
{
if(access.Manager != null)
{
string req = "UPDATE personnel SET nom = @nom, prenom = @prenom, tel = @tel, mail = @mail, idService = @idService WHERE idPersonnel = @idPersonnel;";
var parameters = new Dictionary<string, object>
{
{ "@idPersonnel", personnel.IdPersonnel },
{ "@nom", personnel.Nom },
{ "@prenom", personnel.Prenom },
{ "@tel", personnel.Tel },
{ "@mail", personnel.Mail },
{ "@idService", personnel.IdService }
};
try
{
access.Manager.ReqUpdate(req, parameters);
}
catch (Exception)
{
Console.WriteLine("Erreur lors de la modification du personnel dans la base de données.");
Environment.Exit(0);
}
}
}
}
}