/// <summary>
        /// Fonction qui retourne un utilisateur.
        /// </summary>
        /// <param name="query">Requête à effectuer sur la BD</param>
        /// <returns>Un utilisateur avec ses decks et ses cartes.</returns>
        private static Utilisateur Retrieve(string query)
        {
            Utilisateur resultat = null;
            DataSet     dsResultat;
            DataTable   dtResultat;
            DataRow     drResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];
            if (dtResultat.Rows.Count > 0)
            {
                drResultat = dtResultat.Rows[0];

                resultat = new Utilisateur((int)drResultat["idUtilisateur"]
                                           , (string)drResultat["nom"]
                                           , (string)drResultat["courriel"]
                                           , (int)drResultat["idNiveau"]
                                           , (string)drResultat["motDePasse"]
                                           , (string)drResultat["salt"]
                                           );

                // On va chercher les cartes
                resultat.ExemplairesUtilisateurs = MySqlCarteService.RetrieveExemplairesUser((int)drResultat["idUtilisateur"]);
                // On va chercher les decks
                resultat.DecksUtilisateurs = MySqlDeckService.RetrieveAllUserDeck((int)drResultat["idUtilisateur"]);
            }
            return(resultat);
        }
Esempio n. 2
0
        /// <summary>
        /// Fonction qui retourne tous les effets.
        /// </summary>
        /// <returns>Liste de tous les effets</returns>
        public static List <Effet> RetrieveAll()
        {
            List <Effet> lstResultat = new List <Effet>();
            DataSet      dsResultat;
            DataTable    dtResultat;


            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query("SELECT * FROM Effets");
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                if ((int)dr["champEffetF"] != 99)
                {
                    lstResultat.Add(new Gain((string)dr["typeEffet"]
                                             , (int)dr["champEffetA"]
                                             , (int)dr["champEffetB"]
                                             , (int)dr["champEffetC"]
                                             , (int)dr["champEffetD"]
                                             , (int)dr["champEffetE"]
                                             , (int)dr["champEffetF"]
                                             )
                                    );
                }
                else if ((int)dr["champEffetC"] != 99)
                {
                    lstResultat.Add(new Impact((string)dr["typeEffet"]
                                               , (int)dr["champEffetA"]
                                               , (int)dr["champEffetB"]
                                               , (int)dr["champEffetC"]
                                               )
                                    );
                }
                else if ((int)dr["champEffetB"] != 99)
                {
                    lstResultat.Add(new Recyclage((string)dr["typeEffet"]
                                                  , (int)dr["champEffetA"]
                                                  , (int)dr["champEffetB"]
                                                  )
                                    );
                }
                else if ((int)dr["champEffetA"] != 99)
                {
                    lstResultat.Add(new Radiation((string)dr["typeEffet"]
                                                  , (int)dr["champEffetA"]
                                                  )
                                    );
                }
                else
                {
                    lstResultat.Add(new Effet((string)dr["typeEffet"]));
                }
            }
            return(lstResultat);
        }
Esempio n. 3
0
        public static void DeleteExemplaireDeck(int pIdDeck, int pIdExemplaire)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("DELETE FROM DecksExemplaires WHERE idDeck = ").Append(pIdDeck).Append(" AND idExemplaire = ").Append(pIdExemplaire);
            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 4
0
        public static void DeleteAllExemplairesDeck(int pIdDeck)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            // Delete le deck de la table DecksExemplaires
            nonquery.Append("DELETE FROM DecksExemplaires WHERE idDeck = ").Append(pIdDeck);
            ConnectionBD.NonQuery(nonquery.ToString());
        }
        public static void UpdateNoteAmi(int pIdUtilisateurProprietaire, int pIdUtilisateurAmi, string note)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE Amis SET note = '").Append(note).Append("' WHERE idUtilisateurProprietaire = ")
            .Append(pIdUtilisateurProprietaire).Append(" AND idUtilisateurAmi = ").Append(pIdUtilisateurAmi);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
        public static void DeleteAmi(int pIdUtilisateurProprietaire, int pIdUtilisateurAmi)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("DELETE FROM Amis WHERE idUtilisateurProprietaire = ").Append(pIdUtilisateurProprietaire)
            .Append(" AND idUtilisateurAmi = ").Append(pIdUtilisateurAmi);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 7
0
        public static void UpdateChoixDeck(int pIdUtilisateur, Deck deckUtilisateur)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE Decks ").Append("SET estChoisi = ").Append(deckUtilisateur.EstChoisi).Append(" WHERE idDeck = ")
            .Append(deckUtilisateur.IdDeck).Append(" AND idUtilisateur = ").Append(pIdUtilisateur);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 8
0
        public static void UpdateQteExemplaireDeck(Deck deck, Exemplaire exemplaire, int qte)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE DecksExemplaires ").Append("SET quantite = ").Append(qte).Append(" WHERE idDeck = ")
            .Append(deck.IdDeck).Append(" AND idExemplaire = ").Append(exemplaire.IdExemplaire);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 9
0
        public static void UpdateNomDeck(int pIdUtilisateur, string ancienNomDeck, string nouveauNomDeck)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE Decks SET nom = '").Append(nouveauNomDeck).Append("' WHERE idUtilisateur = ")
            .Append(pIdUtilisateur).Append(" AND nom = '").Append(ancienNomDeck).Append("'");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 10
0
        public static void InsertExemplaireDeck(Deck deck, Exemplaire exemplaireAAjouter, int quantite)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO DecksExemplaires (idDeck, idExemplaire, quantite) VALUES (")
            .Append(deck.IdDeck)
            .Append(", ").Append(exemplaireAAjouter.IdExemplaire).Append(", ").Append(quantite).Append(")");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 11
0
        public static void Insert(string nomDeck, int pIdUtilisateur, bool estChoisi)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO Decks (idUtilisateur, nom, estChoisi) VALUES (")
            .Append(pIdUtilisateur)
            .Append(", '").Append(nomDeck).Append("', ").Append(estChoisi).Append(")");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 12
0
        public static void UpdateExemplaire(Carte carte, Utilisateur utilisateur)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE Exemplaires SET quantite = quantite + 1")
            .Append(" WHERE idCarte = ").Append(carte.IdCarte)
            .Append(" AND idUtilisateur = ").Append(utilisateur.IdUtilisateur);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
        public static void InsertAmi(int pIdUtilisateurProprietaire, int pIdUtilisateurAmi)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO Amis (idUtilisateurProprietaire, idUtilisateurAmi) VALUES (")
            .Append(pIdUtilisateurProprietaire)
            .Append(",").Append(pIdUtilisateurAmi).Append(")");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 14
0
        /// <summary>
        /// Fonction qui retourne un Effet.
        /// </summary>
        /// <param name="query">Requête à effectuer sur la BD</param>
        /// <returns>Un Effet</returns>
        private static Effet Retrieve(string query)
        {
            Effet     resultat;
            DataSet   dsResultat;
            DataTable dtResultat;
            DataRow   drResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];
            drResultat = dtResultat.Rows[0];


            if ((int)drResultat["champEffetF"] != 99)
            {
                resultat = new Gain((string)drResultat["typeEffet"]
                                    , (int)drResultat["champEffetA"]
                                    , (int)drResultat["champEffetB"]
                                    , (int)drResultat["champEffetC"]
                                    , (int)drResultat["champEffetD"]
                                    , (int)drResultat["champEffetE"]
                                    , (int)drResultat["champEffetF"]
                                    );
            }
            else if ((int)drResultat["champEffetC"] != 99)
            {
                resultat = new Impact((string)drResultat["typeEffet"]
                                      , (int)drResultat["champEffetA"]
                                      , (int)drResultat["champEffetB"]
                                      , (int)drResultat["champEffetC"]
                                      );
            }
            else if ((int)drResultat["champEffetB"] != 99)
            {
                resultat = new Recyclage((string)drResultat["typeEffet"]
                                         , (int)drResultat["champEffetA"]
                                         , (int)drResultat["champEffetB"]
                                         );
            }
            else if ((int)drResultat["champEffetA"] != 99)
            {
                resultat = new Radiation((string)drResultat["typeEffet"]
                                         , (int)drResultat["champEffetA"]
                                         );
            }
            else
            {
                resultat = new Effet((string)drResultat["typeEffet"]);
            }

            return(resultat);
        }
Esempio n. 15
0
        public static void InsertExemplaire(Carte carte, Utilisateur utilisateur)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO Exemplaires (idCarte, idUtilisateur, quantite) VALUES ('")
            .Append(carte.IdCarte).Append("',")
            .Append("'").Append(utilisateur.IdUtilisateur).Append("',")
            .Append(" 1 )");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 16
0
        /// <summary>
        /// Fonction qui retourne toutes les cartes.
        /// </summary>
        /// <returns>Liste de toutes les cartes avec leurs effets.</returns>
        private static List <Carte> RetrieveAll(string query)
        {
            List <Carte> lstResultat = new List <Carte>();
            DataSet      dsResultat;
            DataTable    dtResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                Effet effetCarte = null;
                if (dr["idEffet"] != DBNull.Value)
                {
                    effetCarte = MySqlEffetService.RetrieveById((int)dr["idEffet"]);
                }
                if (dr["typeUnite"] != DBNull.Value) // TODO: vérifié si le if fonctionne sinon changé pour "null"
                {
                    lstResultat.Add(new Unite((int)dr["idCarte"]
                                              , (string)dr["nom"]
                                              , effetCarte
                                              , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                              , (int)dr["pointsAttaque"]
                                              , (int)dr["pointsDefense"]
                                              )
                                    );
                }
                else if (dr["pointsDefense"] != DBNull.Value) // TODO: vérifié si le if fonctionne sinon changé pour "null"
                {
                    lstResultat.Add(new Batiment((int)dr["idCarte"]
                                                 , (string)dr["nom"]
                                                 , effetCarte
                                                 , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                                 , (int)dr["pointsDefense"]
                                                 )
                                    );
                }
                else
                {
                    lstResultat.Add(new Gadget((int)dr["idCarte"]
                                               , (string)dr["nom"]
                                               , effetCarte
                                               , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                               )
                                    );
                }
            }
            return(lstResultat);
        }
        /// <summary>
        /// Fonction qui insert un utilisateur dans la base de données. L'utilisateur reçu en paramètre est valide.
        /// </summary>
        /// <param name="utilisateur">Utilisateur qui vient d'être créer</param>
        public static void Insert(Utilisateur utilisateur)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO Utilisateurs (nom, motDePasse, salt, courriel) VALUES ('")
            .Append(utilisateur.Nom).Append("',")
            .Append("'").Append(utilisateur.MotDePasse).Append("',")
            .Append("'").Append(utilisateur.Salt).Append("',")
            .Append("'").Append(utilisateur.Courriel).Append("')");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 18
0
        public static void Delete(int pIdUtilisateur, string nomDeck)
        {
            Deck deckASupprimer = RetrieveByNom(nomDeck, pIdUtilisateur);

            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            // Delete le deck de la table DecksExemplaires
            MySqlCarteService.DeleteAllExemplairesDeck(deckASupprimer.IdDeck);

            // Delete le deck
            nonquery.Append("DELETE FROM Decks WHERE nom = '").Append(deckASupprimer.Nom).Append("' AND idUtilisateur = ").Append(pIdUtilisateur);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Esempio n. 19
0
        /// <summary>
        /// Fonction qui va chercher en BD les exemplaires selon la requête voulue
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        private static List <Exemplaire> RetrieveExemplaires(string query)
        {
            List <Exemplaire> lstResultat = new List <Exemplaire>();
            Carte             laCarte     = null;
            DataSet           dsResultat;
            DataTable         dtResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                laCarte = MySqlCarteService.RetrieveById((int)dr["idCarte"]);
                lstResultat.Add(new Exemplaire(laCarte, (int)dr["quantite"], (int)dr["idExemplaire"]));
            }

            return(lstResultat);
        }
Esempio n. 20
0
        /// <summary>
        /// Fonction qui retourne un deck.
        /// </summary>
        /// <param name="query">Requête à effectuer sur la BD</param>
        /// <returns>Une carte avec son effet.</returns>
        private static Deck Retrieve(string query)
        {
            Deck      resultat = null;
            DataSet   dsResultat;
            DataTable dtResultat;
            DataRow   drResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];
            drResultat = dtResultat.Rows[0];

            resultat = new Deck((int)drResultat["idDeck"]
                                , (string)drResultat["nom"]
                                , (bool)drResultat["estChoisi"]
                                );
            //On va chercher ses cartes avec le id.
            resultat.CartesDuDeck = MySqlCarteService.RetrieveAllDeckCard((int)drResultat["idDeck"]);

            return(resultat);
        }
        public static List <Utilisateur> RetrieveAmis(int pIdUtilisateur)
        {
            List <Utilisateur> lstResultat = new List <Utilisateur>();
            DataSet            dsResultat;
            DataTable          dtResultat;

            ConnectionBD = new MySqlConnexion();

            StringBuilder query = new StringBuilder();

            query.Append("SELECT idUtilisateurAmi FROM Amis WHERE idUtilisateurProprietaire = ").Append(pIdUtilisateur);

            dsResultat = ConnectionBD.Query(query.ToString());
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                lstResultat.Add(RetrieveById((int)dr["idUtilisateurAmi"]));
            }

            return(lstResultat);
        }
Esempio n. 22
0
        private static List <Deck> RetrieveAllDeck(string query)
        {
            List <Deck> lstResultat = new List <Deck>();
            DataSet     dsResultat;
            DataTable   dtResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                Deck deckPourAjouter = new Deck((int)dr["idDeck"]
                                                , (string)dr["nom"]
                                                , (bool)dr["estChoisi"]
                                                );
                deckPourAjouter.CartesDuDeck = MySqlCarteService.RetrieveAllDeckCard((int)dr["idDeck"]);
                lstResultat.Add(deckPourAjouter);
            }

            return(lstResultat);
        }
        /// <summary>
        /// Fonction qui retourne tous les utilisateurs.
        /// </summary>
        /// <returns>Liste de tous les utilisateurs sans leur decks et leur cartes.</returns>
        public static List <Utilisateur> RetrieveAll()
        {
            //List<Carte>
            //List<Deck>
            List <Utilisateur> lstResultat = new List <Utilisateur>();
            DataSet            dsResultat;
            DataTable          dtResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query("SELECT * FROM Utilisateurs");
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                lstResultat.Add(new Utilisateur((int)dr["idUtilisateur"]
                                                , (string)dr["nom"]
                                                , (string)dr["courriel"]
                                                )
                                );
                // Pas besoin des cartes.
            }
            return(lstResultat);
        }