using projet.modele;
using System;
using System.Collections.Generic;
namespace projet.dal
    
{
    /// <summary>
    /// Méthodes d'accès aux données pour les services du personnel.
    /// </summary>
    public class ServiceAccess
    {
        private readonly Access access;

        /// <summary>
        /// Récupère l'instance de la classe Access pour accéder à la base de données.
        /// </summary>
        public ServiceAccess()
        {
            access = Access.GetInstance();
        }

        /// <summary>
        /// Méthode pour récupérer tous les services du personnel.
        /// </summary>
        /// <returns></returns>
        public List<Service> GetAllServices()
        {
            List<Service> serviceList = new List<Service>();
            if (access.Manager != null)
            {
                string req = "SELECT * FROM service ORDER BY nom;";
                try
                {
                    List<Object[]> resultats = access.Manager.ReqSelect(req);
                    if (resultats != null)
                    {
                        foreach (Object[] resultat in resultats)
                        {
                            Service service = new Service(
                                Convert.ToInt32(resultat[0]), // IdService
                                Convert.ToString(resultat[1]) // Nom
                            );
                            serviceList.Add(service);
                        }
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Erreur lors de la récupération des données des services.");
                    Environment.Exit(0);
                }
            }
            return serviceList;
        }
    }
}
