using System;
using System.Windows.Forms;
using System.Collections.Generic;

using projet.modele;

namespace projet.dal
{
    /// <summary>
    /// Méthodes d'accès aux données pour les motifs d'absence.
    /// </summary>
    public class ResponsableAccess
    {
        private readonly Access access;

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

        /// <summary>
        /// Méthode pour connecter un responsable à la base de données.
        /// </summary>
        /// <param name="responsable">Responsable à connecter</param>
        /// <returns></returns>
        public bool ConnecterResponsable(Responsable responsable)
        {
            if(access.Manager != null)
            {
                string req = "SELECT * FROM responsable WHERE login = @login AND pwd = SHA2(@pwd, 256);";
                var parameters = new Dictionary<string, object>
                {
                    { "@login", responsable.Login },
                    { "@pwd", responsable.Pwd }
                };
                try
                {
                    List<Object[]> result = access.Manager.ReqSelect(req, parameters);
                    if(result != null)
                    {
                        return (result.Count > 0);
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Erreur lors de la connexion à la base de données.");
                    Environment.Exit(0);
                }
                return false;
            }
            return false;
        }
    }
}
