mediatek86/projet/dal/MotifAccess.cs

73 lines
2.3 KiB
C#
Raw Normal View History

using projet.modele;
namespace projet.dal
{
public class MotifAccess
{
private readonly Access access;
public MotifAccess()
{
access = Access.GetInstance();
}
public List<Motif> GetAllMotifs()
{
List<Motif> motifList = new List<Motif>();
if (access.Manager != null)
{
string req = "SELECT * FROM motif ORDER BY libelle;";
try
{
List<Object[]> resultats = access.Manager.ReqSelect(req);
if (resultats != null)
{
foreach (Object[] resultat in resultats)
{
Motif motif = new Motif(
Convert.ToInt32(resultat[0]), // IdMotif
Convert.ToString(resultat[1]) // Libelle
);
motifList.Add(motif);
}
}
}
catch (Exception)
{
Console.WriteLine("Erreur lors de la récupération des données des motifs.");
Environment.Exit(0);
}
}
return motifList;
}
public int GetMotifIdByLibelle(string libelle)
{
int idMotif = -1;
if (access.Manager != null)
{
string req = "SELECT idMotif FROM motif WHERE libelle = @libelle;";
var parameters = new Dictionary<string, object>
{
{ "@libelle", libelle }
};
try
{
List<Object[]> resultats = access.Manager.ReqSelect(req, parameters);
if (resultats != null && resultats.Count > 0)
{
idMotif = Convert.ToInt32(resultats[0][0]);
}
return idMotif;
}
catch (Exception)
{
Console.WriteLine("Erreur lors de la récupération de l'ID du motif par libellé.");
Environment.Exit(0);
}
}
return idMotif;
}
}
}