コード例 #1
0
        //modifier un joueur
        public bool Modifier_Joueurs(SNAP_DATABASE Contexte_database, string Nom_joueur, string Surnom_joueur, string Arme_primaire_joueur, string Arme_secondaire_joueur, string Profil_joueur)
        {
            //regarder si les chanmps ne sont pas vides
            if (Nom_joueur != "" && Surnom_joueur != "" && Arme_primaire_joueur != "" && Arme_secondaire_joueur != "" && Profil_joueur != "")

            {
                //récupération de l'ID unique grâce au surom
                var index_joueur = Contexte_database.Database.SqlQuery <int>("SELECT id FROM Entity_Joueurs WHERE Surnom ='" + Surnom_joueur + "'").ToList().ElementAt(0);
                //Récupération du joueur et de ses paramètres.
                var Joueur_tomodify = Contexte_database.Table_Joueurs.Find(index_joueur);
                //Modifier le joueur grâce à une nouvelle entrée.
                Entity_joueurs updatedUser = Joueur_tomodify;
                updatedUser.Nom             = Nom_joueur;
                updatedUser.Surnom          = Surnom_joueur;
                updatedUser.Arme_primaire   = Arme_primaire_joueur;
                updatedUser.Arme_secondaire = Arme_secondaire_joueur;
                updatedUser.Profil          = Profil_joueur;

                // mise à jour et sauvegarde du contexte.
                Contexte_database.Entry(Joueur_tomodify).CurrentValues.SetValues(updatedUser);
                Contexte_database.SaveChanges();
                return(true);
            }
            else
            {
                MessageBox.Show("Les champs ne doivent pas être vides" + "\nLes champs non applicables doivent être remplis avec NA");
                return(false);
            }
        }
コード例 #2
0
        public void Update_Addpartie(SNAP_DATABASE Contexte_database, string nom_joueur, int?Num_kill, int?Num_death, int?Num_assist)
        {
            //récupérer les stats avant l'ajout de cette partie afin de pouvoir les ajouter.
            var nb_kill          = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_kill_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur + "'");
            var nb_death         = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_death_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur + "'");
            var nb_assist        = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_assistance_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur + "'");
            var nb_participation = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_de_participation FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur + "'");

            //calcul des nouvelles stats
            int?  nbkill_tot          = nb_kill.ElementAt(0) + Num_kill;
            int?  nbdeath_tot         = nb_death.ElementAt(0) + Num_death;
            int?  nbassist_tot        = nb_assist.ElementAt(0) + Num_assist;
            int?  nbparticipation_tot = nb_participation.ElementAt(0) + 1;
            float ratio_tot           = 0;

            if (nbdeath_tot.Value == 0)
            {
                ratio_tot = (float)nbkill_tot.Value;
            }
            else
            {
                ratio_tot = (float)nbkill_tot.Value / (float)nbdeath_tot.Value;
                ratio_tot = (float)Math.Round(ratio_tot, 1);
            }

            //mise à jour des stats


            var            index_joueur    = Contexte_database.Database.SqlQuery <int>("SELECT id FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur + "'").ToList().ElementAt(0);
            var            Joueur_tomodify = Contexte_database.Table_Joueurs.Find(index_joueur);
            Entity_joueurs updatedUser     = Joueur_tomodify;

            updatedUser.Nombre_kill_tot         = nbkill_tot;
            updatedUser.Nombre_death_tot        = nbdeath_tot;
            updatedUser.Nombre_assistance_tot   = nbassist_tot;
            updatedUser.Ratio_tot               = ratio_tot;
            updatedUser.Nombre_de_participation = nbparticipation_tot;
            // mise à jour et sauvegarde du contexte.
            Contexte_database.Entry(Joueur_tomodify).CurrentValues.SetValues(updatedUser);

            /* Contexte_database.Database.ExecuteSqlCommand("UPDATE Entity_Joueurs SET Nombre_kill_tot = " + nbkill_tot + " WHERE Surnom ='"+ nom_joueur+"'");
             * Contexte_database.Database.ExecuteSqlCommand("UPDATE Entity_Joueurs SET Nombre_death_tot = " + nbdeath_tot + " WHERE Surnom ='" + nom_joueur + "'");
             * Contexte_database.Database.ExecuteSqlCommand("UPDATE Entity_Joueurs SET Nombre_assistance_tot = " + nbassist_tot + " WHERE Surnom ='" + nom_joueur + "'");
             * Contexte_database.Database.ExecuteSqlCommand("UPDATE Entity_Joueurs SET Ratio_tot = '"+ratio_tot.ToString()+"' WHERE Surnom ='" + nom_joueur + "'");
             * Contexte_database.Database.ExecuteSqlCommand("UPDATE Entity_Joueurs SET Nombre_de_participation = " + nbparticipation_tot + " WHERE Surnom ='" + nom_joueur + "'");
             * Contexte_database.Entry(Joueur_tomodify).Reload();*/

            Contexte_database.SaveChanges();
        }
コード例 #3
0
        public void Update_Suppartie(SNAP_DATABASE Contexte_database, string nom_partie, Statistiques Stats_SNAP)
        {
            //récupérer la liste des joueurs présents à l apartie.
            var nom_joueur_liste = Contexte_database.Database.SqlQuery <string>("SELECT Joueurs_ID FROM Entity_Occurence WHERE Partie_ID ='" + nom_partie + "'").ToList();

            for (int i = 0; i < nom_joueur_liste.Count; i++)
            {
                //Récupération des stats effectuer lors de la partie
                var nb_kill_partie   = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_kill FROM Entity_Occurence WHERE Joueurs_ID ='" + nom_joueur_liste[i] + "' AND Partie_ID ='" + nom_partie + "'");
                var nb_death_partie  = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_death FROM Entity_Occurence WHERE Joueurs_ID ='" + nom_joueur_liste[i] + "' AND Partie_ID ='" + nom_partie + "'");
                var nb_assist_partie = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_assist FROM Entity_Occurence WHERE Joueurs_ID ='" + nom_joueur_liste[i] + "' AND Partie_ID ='" + nom_partie + "'");
                var nb_point_delta   = Contexte_database.Database.SqlQuery <int?>("SELECT Delta_point FROM Entity_Occurence WHERE Joueurs_ID ='" + nom_joueur_liste[i] + "' AND Partie_ID ='" + nom_partie + "'");
                var Best_player      = Contexte_database.Database.SqlQuery <string>("SELECT Best_player FROM Entity_Occurence WHERE Joueurs_ID ='" + nom_joueur_liste[i] + "' AND Partie_ID ='" + nom_partie + "'");

                //récupérer les stats avant la suppression de cette partie afin de pouvoir les soustraire.
                var nb_kill          = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_kill_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");
                var nb_death         = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_death_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");
                var nb_assist        = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_assistance_tot FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");
                var nb_participation = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_de_participation FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");
                var nb_point_tot     = Contexte_database.Database.SqlQuery <int?>("SELECT Nombre_de_point FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");
                var nb_parties_won   = Contexte_database.Database.SqlQuery <int?>("SELECT Nb_parties_won FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'");



                //calcul des nouvelles stats
                int?nbkill_tot          = nb_kill.ElementAt(0) - nb_kill_partie.ElementAt(0);
                int?nbdeath_tot         = nb_death.ElementAt(0) - nb_death_partie.ElementAt(0);
                int?nbassist_tot        = nb_assist.ElementAt(0) - nb_assist_partie.ElementAt(0);
                int?nbparticipation_tot = nb_participation.ElementAt(0) - 1;

                float ratio_tot = 0;
                if (nbdeath_tot.Value == 0)
                {
                    ratio_tot = (float)nbkill_tot.Value;
                }
                else
                {
                    ratio_tot = (float)nbkill_tot.Value / (float)nbdeath_tot.Value;
                    ratio_tot = (float)Math.Round(ratio_tot, 1);
                }
                int?nbpointtot   = nb_point_tot.ElementAt(0) - nb_point_delta.ElementAt(0);
                int?nbpartiegain = nb_parties_won.ElementAt(0);
                if (Best_player.ElementAt(0) == "oui")
                {
                    nbpartiegain = nbpartiegain - 1;
                }



                //mise à jour des stats


                var            index_joueur    = Contexte_database.Database.SqlQuery <int>("SELECT id FROM Entity_Joueurs WHERE Surnom ='" + nom_joueur_liste[i] + "'").ToList().ElementAt(0);
                var            Joueur_tomodify = Contexte_database.Table_Joueurs.Find(index_joueur);
                Entity_joueurs updatedUser     = Joueur_tomodify;
                updatedUser.Nombre_kill_tot         = nbkill_tot;
                updatedUser.Nombre_death_tot        = nbdeath_tot;
                updatedUser.Nombre_assistance_tot   = nbassist_tot;
                updatedUser.Ratio_tot               = ratio_tot;
                updatedUser.Nombre_de_participation = nbparticipation_tot;
                updatedUser.Nombre_de_point         = nbpointtot;
                updatedUser.Nb_parties_won          = nbpartiegain;

                // mise à jour et sauvegarde du contexte.
                Contexte_database.Entry(Joueur_tomodify).CurrentValues.SetValues(updatedUser);



                Contexte_database.SaveChanges();
            }
            //appel à la fonction stat permettant de recalculer le classement
            Stats_SNAP.Classement_joueurs(Contexte_database);
        }