コード例 #1
0
        /*
         * Methode qui prend en paramètre une Action et qui ecrit en base de données, les arguments non nullables d'une nouvelle demande
         * Cette méthode renvoie un int : "1" si l'écriture a été effectuée, "0" dans le cas contraire.
         */
        public int EnregistrerNouvelleAction(Action action)
        {
            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.EnregistrerNouvelleAction", BDDPandami.Cnx);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter("@id_action", action.Id_action));
            cmd.Parameters.Add(new SqlParameter("@id_util", action.Id_util));
            cmd.Parameters.Add(new SqlParameter("@id_ville", action.Id_ville));
            cmd.Parameters.Add(new SqlParameter("@id_activite", action.Id_activite));
            cmd.Parameters.Add(new SqlParameter("@id_gamme_heure_debut", action.Id_gamme_heure_debut));
            cmd.Parameters.Add(new SqlParameter("@id_gamme_minute_debut", action.Id_gamme_minute_debut));
            cmd.Parameters.Add(new SqlParameter("@id_gamme_heure_fin", action.Id_gamme_heure_fin));
            cmd.Parameters.Add(new SqlParameter("@id_gamme_minute_fin", action.Id_gamme_minute_fin));
            cmd.Parameters.Add(new SqlParameter("@id_final", 1));
            cmd.Parameters.Add(new SqlParameter("@date_action", action.Date_action));
            cmd.Parameters.Add(new SqlParameter("@voie_action", action.Voie_action));
            cmd.Parameters.Add(new SqlParameter("@date_soumission", action.Date_soumission));

            int nbTuple = cmd.ExecuteNonQuery();

            BDDPandami.FermetureBDD();
            return(nbTuple);
        }
コード例 #2
0
        /*
         * Methode qui prend en paramètre un id utilisateur ainsi qu'un id d'action et qui ecrit en base de données, les arguments non nullables d'une nouvelle réponse à une action
         * (Avant d'écrire en base, la méthode vérifie qu'un utilisateur n'est pas déjà été selectionné à cette action)
         */
        public void EnregistrerNouvelleReponse(int?idUtilisateur, int idAction)
        {
            //Recupere l'utilisateur ayant été selectionné par un beneficiaire pour une action (sinon user = null)
            Utilisateur user = RecupererUtilisateurSelectionne(idAction);

            if (user.IdUtil == null) //Si un utilisateur non selectionné alors user.idUtil = null
            {
                try
                {
                    AccesBDD BDDPandami = new AccesBDD();
                    BDDPandami.OuvertureBDD();
                    SqlCommand cmd = new SqlCommand("dbo.EnregistrerNouvelleReponse", BDDPandami.Cnx);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add(new SqlParameter("@id_utilisateur", idUtilisateur));
                    cmd.Parameters.Add(new SqlParameter("@id_action", idAction));
                    cmd.Parameters.Add(new SqlParameter("@date_reponse", DateTime.Now));

                    cmd.ExecuteNonQuery();
                    BDDPandami.FermetureBDD();
                }
                catch (SqlException e)
                {
                    Console.WriteLine("Erreur : " + e.Message);
                }
            }
        }
コード例 #3
0
        public List <Action> RecupererListeActionsParUtil(int idUtil)
        {
            List <Action> listeSortante = new List <Action>();
            AccesBDD      accesBDD      = new AccesBDD();

            accesBDD.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecuperationActionParUtil", accesBDD.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_util", idUtil));

            SqlDataReader resultat = cmd.ExecuteReader();

            if (!resultat.HasRows)
            {
            }
            while (resultat.Read())
            {
                Action actTemp = new Action(resultat);
                listeSortante.Add(actTemp);
            }
            resultat.Close();
            accesBDD.FermetureBDD();

            return(listeSortante);
        }
コード例 #4
0
        public Activite IdToActivite(int id_activite)
        {
            Activite monActivite = new Activite();
            string   maRequete   = "SELECT * FROM Activite where id_activite = " + id_activite.ToString();
            //Faire une méthode qui à partir d'un requete renvoit une commande SQL
            SqlCommand cmd         = new SqlCommand();
            AccesBDD   monAccesBDD = new AccesBDD();

            monAccesBDD.OuvertureBDD();
            cmd.Connection  = monAccesBDD.Cnx;
            cmd.CommandText = maRequete;
            cmd.CommandType = System.Data.CommandType.Text;
            //Jusque là
            SqlDataReader dr = cmd.ExecuteReader();

            dr.Read();
            monActivite.Id_activite         = (int)dr["id_activite"];
            monActivite.Id_domaine_activite = (int)dr["id_domaine_activite"];
            monActivite.Nom_activite        = (string)dr["nom_activite"];
            if (!dr.IsDBNull(2))
            {
                monActivite.Id_materiel = (int)dr["id_materiel"];
            }

            return(monActivite);
        }
コード例 #5
0
        public List <ActionAffichage> ActionAffichagesRechercheFromBdd(int id_activite, int id_ville, DateTime dateFrom, DateTime dateTo,
                                                                       int id_util)
        {
            List <ActionAffichage> lesActionsAffichages = new List <ActionAffichage>();
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecuperationActionsRecherche", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_activite", id_activite));
            cmd.Parameters.Add(new SqlParameter("@id_ville", id_ville));
            cmd.Parameters.Add(new SqlParameter("@dateFrom", dateFrom.ToString("yyyy-MM-dd")));
            cmd.Parameters.Add(new SqlParameter("@dateTo", dateTo.ToString("yyyy-MM-dd")));
            cmd.Parameters.Add(new SqlParameter("@id_util", id_util));
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ActionAffichage actionAff = new ActionAffichage(dr);
                lesActionsAffichages.Add(actionAff);
            }
            dr.Close();
            bdd.FermetureBDD();
            return(lesActionsAffichages);
        }
コード例 #6
0
        public List <Activite> RecupererListeActivites()
        {
            List <Activite> listeSortante = new List <Activite>();
            string          maRequete     = "SELECT * FROM activite";
            SqlCommand      cmd           = new SqlCommand();
            AccesBDD        accesBDD      = new AccesBDD();

            accesBDD.OuvertureBDD();
            cmd.Connection  = accesBDD.Cnx;
            cmd.CommandText = maRequete;
            SqlDataReader resultat = cmd.ExecuteReader();

            if (!resultat.HasRows)
            {
            }
            while (resultat.Read())
            {
                Activite actTemp = new Activite(resultat);
                listeSortante.Add(actTemp);
            }
            resultat.Close();
            accesBDD.FermetureBDD();

            return(listeSortante);
        }
コード例 #7
0
        public string GetPremierString()
        {
            string     voie;
            string     requeteSQL = "SELECT TOP (1) voie_action FROM Action";
            SqlCommand cmd        = new SqlCommand();
            AccesBDD   accesBDD   = new AccesBDD();

            accesBDD.OuvertureBDD();
            cmd.Connection  = accesBDD.Cnx;
            cmd.CommandText = requeteSQL;
            cmd.CommandType = System.Data.CommandType.Text;
            voie            = cmd.ExecuteScalar().ToString();
            accesBDD.FermetureBDD();
            return(voie);
        }
コード例 #8
0
        public string ObtenirNomActivite()
        {
            string     nomActivite;
            string     maRequete   = "SELECT TOP (1) nom_activite FROM Activite";
            SqlCommand cmd         = new SqlCommand();
            AccesBDD   monAccesBDD = new AccesBDD();

            monAccesBDD.OuvertureBDD();
            cmd.Connection  = monAccesBDD.Cnx;
            cmd.CommandText = maRequete;
            cmd.CommandType = System.Data.CommandType.Text;
            nomActivite     = cmd.ExecuteScalar().ToString();
            monAccesBDD.FermetureBDD();
            return(nomActivite);
        }
コード例 #9
0
        //Methodes pour mettre à jour les dates une fois le bénévole sélectionné
        public void ajouterDateSelection(int id_volontaire, int id_action)
        {
            //DateTime date = DateTime;
            string maRequete = "UPDATE Reponse " +
                               "SET date_selection = GetDate()" +
                               " WHERE id_utilisateur = " + id_volontaire +
                               " AND id_action = " + id_action;
            SqlCommand cmd = new SqlCommand();
            AccesBDD   bdd = new AccesBDD();

            bdd.OuvertureBDD();
            cmd.Connection  = bdd.Cnx;
            cmd.CommandText = maRequete;
            cmd.ExecuteNonQuery();
        }
コード例 #10
0
        public int RecupererGammeActivite(int idAction)
        {
            int gamme = 0;

            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererTypeActiviteParIdAction", BDDPandami.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));
            gamme = (int)cmd.ExecuteScalar();
            BDDPandami.FermetureBDD();

            return(gamme);
        }
コード例 #11
0
        public void AjoutDateRejet(int idAction, int idUtilChoisi)
        {
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand();

            string requete = String.Format("UPDATE Reponse " +
                                           "SET date_rejet = GetDate()" +
                                           " WHERE id_utilisateur != " + idUtilChoisi +
                                           " AND id_action = " + idAction);

            cmd.Connection  = bdd.Cnx;
            cmd.CommandText = requete;
            cmd.ExecuteNonQuery();
        }
コード例 #12
0
        public UtilisateurAffichage UtilisateurVilleFromBdd(int idUtil)
        {
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererUtilisateurVilleViaId", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("id_util", idUtil));
            SqlDataReader dr = cmd.ExecuteReader();

            dr.Read();
            UtilisateurAffichage util = new UtilisateurAffichage(dr);

            bdd.FermetureBDD();
            return(util);
        }
コード例 #13
0
        //recuperer un utilisateur depuis son email :
        // méthode qui hydrate un objet utilisateur avec les données de la BDD, prend en paramètre l'email utilisateur
        public Utilisateur UtilisateurFromBdd(string email)
        {
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererUtilisateurViaEmail", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@email_util", email));
            SqlDataReader dr = cmd.ExecuteReader();

            dr.Read();
            Utilisateur utilisateur = new Utilisateur(dr);

            bdd.FermetureBDD();
            return(utilisateur);
        }
コード例 #14
0
        //Méthode pour afficher les détail de l'action que sélectionne un volontaire
        public ActionBenefChoisie GetActionBenefChoisie(int idAction)
        {
            AccesBDD   accesBDD = new AccesBDD();
            SqlCommand cmd      = new SqlCommand("dbo.recupererActionBenefChoisie", accesBDD.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));

            accesBDD.OuvertureBDD();
            SqlDataReader reader = cmd.ExecuteReader();

            reader.Read();
            ActionBenefChoisie a = new ActionBenefChoisie(reader);

            reader.Close();
            accesBDD.FermetureBDD();
            return(a);
        }
コード例 #15
0
        public List <Utilisateur> UtilisateursFromBdd()
        {
            List <Utilisateur> utilisateurs = new List <Utilisateur>();
            AccesBDD           bdd          = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererTousLesUtilisateurs", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                Utilisateur utilisateur = new Utilisateur(dr);
                utilisateurs.Add(utilisateur);
            }
            bdd.FermetureBDD();
            return(utilisateurs);
        }
コード例 #16
0
        public List <ReponseAffichage> RecupererReponsesAffichage(int idAction)
        {
            List <ReponseAffichage> reponsesAffichages = new List <ReponseAffichage>();
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.afficherListeReponse", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ReponseAffichage reponse = new ReponseAffichage(dr);
                reponsesAffichages.Add(reponse);
            }
            dr.Close();
            bdd.FermetureBDD();
            return(reponsesAffichages);
        }
コード例 #17
0
        public Action LireAction(int idAction)
        {
            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();

            SqlCommand cmd = new SqlCommand("dbo.RecuperationAction", BDDPandami.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));

            SqlDataReader resultat = cmd.ExecuteReader();

            resultat.Read();
            Action actReq = new Action(resultat);

            resultat.Close();
            BDDPandami.FermetureBDD();

            return(actReq);
        }
コード例 #18
0
        //methodes pour hydrater les objets ActionAffichage :

        public List <ActionAffichage> ActionAffichagesFromBdd(int idUtilisateur)
        {
            List <ActionAffichage> lesActionsAffichages = new List <ActionAffichage>();
            AccesBDD bdd = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.recupererToutesActionsPourRecherche", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_utilisateur", idUtilisateur));
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ActionAffichage actionAff = new ActionAffichage(dr);
                lesActionsAffichages.Add(actionAff);
            }
            dr.Close();
            bdd.FermetureBDD();
            return(lesActionsAffichages);
        }
コード例 #19
0
        /*
         * Methode qui renvoie la prochaine valeur (id_action), n'étant pas encore attribuée à une demande d'action en Base
         */
        public int ObtenirProchainIdAction()
        {
            int prochainID = 0;

            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();

            SqlCommand cmdIDAction = new SqlCommand("dbo.DernierIDAction", BDDPandami.Cnx);

            cmdIDAction.CommandType = CommandType.StoredProcedure;

            SqlDataReader dr = cmdIDAction.ExecuteReader();

            dr.Read();

            prochainID = (int)dr["id_action"] + 1;

            dr.Close();
            BDDPandami.FermetureBDD();
            return(prochainID);
        }
コード例 #20
0
        //Méthode pour la liste des dates et activités d'un utilisateur (pour l'afficher sur son profil)
        public List <ActionsBenef> RecupererListeActivitesEtDatesParUtil(int idUtil)
        {
            List <ActionsBenef> listeSortante = new List <ActionsBenef>();
            AccesBDD            accesBDD      = new AccesBDD();

            accesBDD.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.recupererDateActivitePourProfil", accesBDD.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_util", idUtil));

            SqlDataReader resultat = cmd.ExecuteReader();

            while (resultat.Read())
            {
                ActionsBenef actTemp = new ActionsBenef(resultat);
                listeSortante.Add(actTemp);
            }
            resultat.Close();
            accesBDD.FermetureBDD();
            return(listeSortante);
        }
コード例 #21
0
        /*
         * Methode qui prend en paramètre un id d'action et qui renvoie la liste de toutes les réponses émises
         */
        public List <Reponse> RecupererReponses(int idAction)
        {
            List <Reponse> listeSortante = new List <Reponse>();
            AccesBDD       accesBDD      = new AccesBDD();

            accesBDD.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererReponsesParIdAction", accesBDD.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));

            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                listeSortante.Add(new Reponse(dr));
            }

            dr.Close();
            accesBDD.FermetureBDD();

            return(listeSortante);
        }
コード例 #22
0
        /*
         * Méthode permettant d'instancier un utilisateur qui a été selectionné pour une action
         * Cette méthode renvoie un utilisateur si attribué à une action, null dans le cas contraire
         */
        public Utilisateur RecupererUtilisateurSelectionne(int idAction)
        {
            int?        idUtil;
            Utilisateur user;

            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.RecupererVolontaireSelectionne", BDDPandami.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));
            SqlDataReader reader = cmd.ExecuteReader();

            reader.Read();
            try
            {
                idUtil = reader.GetInt32(reader.GetOrdinal("id_utilisateur"));
            }
            catch (InvalidOperationException) {
                idUtil = null;
            }

            if (idUtil != null)
            {
                UtilisateurDAO utilDao = new UtilisateurDAO();
                user = utilDao.UtilisateurFromBdd(idUtil);
            }
            else
            {
                user = new Utilisateur();
            }

            BDDPandami.FermetureBDD();

            return(user);
        }
コード例 #23
0
        public Tuple <DateTime, string> DernierService(int id_benef, int id_util)
        {
            string   nomActivite = "";
            DateTime dateAction  = new DateTime();
            AccesBDD bdd         = new AccesBDD();

            bdd.OuvertureBDD();
            SqlCommand cmd = new SqlCommand("dbo.DernierServiceEffectue", bdd.Cnx);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_utilBenef", id_benef));
            cmd.Parameters.Add(new SqlParameter("@id_utilVol", id_util));
            SqlDataReader reader = cmd.ExecuteReader();

            reader.Read();
            if (reader.HasRows)
            {
                nomActivite = (string)reader["nom_activite"];
                dateAction  = (DateTime)reader["date_action"];
            }

            reader.Close();
            return(Tuple.Create(dateAction, nomActivite));
        }
コード例 #24
0
        /*
         * Methode qui renvoie le statut d'une action selon l'utilisateur connecté (Non attribuée, Attribuée ou en cours d'attribution)
         */
        public string RecupererStatutAction(int idAction, int idUtilisateur = 3) // Par défaut util 3
        {
            string         statut   = "";
            List <Reponse> reponses = new List <Reponse>();

            AccesBDD BDDPandami = new AccesBDD();

            BDDPandami.OuvertureBDD();

            SqlCommand cmd = new SqlCommand("dbo.RecuperDatesPourDefinitionStatut", BDDPandami.Cnx);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@id_action", idAction));
            SqlDataReader reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    reponses.Add(new Reponse(reader));
                }
            }
            else
            {
                statut = "En recherche d'un Volontaire";
            }


            foreach (Reponse rep in reponses)
            {
                if (rep.IdUtil != idUtilisateur)
                {
                    if ((rep.DateSelection != null) && (rep.DateDesistement == null) && (rep.DateRejet == null))
                    {
                        statut = "Attribuée à un autre Volontaire";
                        break;
                    }
                    else
                    {
                        statut = "En recherche d'un Volontaire";
                    }
                }
                if (rep.IdUtil == idUtilisateur)
                {
                    if ((rep.DateSelection != null) && (rep.DateDesistement == null) && (rep.DateRejet == null))
                    {
                        statut = "Vous a été attribuée";
                        break;
                    }
                    else if ((rep.DateSelection == null) && (rep.DateDesistement == null) && (rep.DateRejet != null))
                    {
                        statut = "Attribuée à un autre Volontaire";
                        break;
                    }
                    else if ((rep.DateSelection == null) && (rep.DateDesistement == null) && (rep.DateRejet == null))
                    {
                        statut = "Demande envoyée - En attente de validation";
                        break;
                    }
                }
            }
            reader.Close();
            BDDPandami.FermetureBDD();
            return(statut);
        }