示例#1
0
        public static async Task <bool> CreationTournoi(tournois obj)
        {
            using (var ctx = new Connexion420())
            {
                ctx.tournois.Add(obj);
                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (DbEntityValidationException exc)
                {
                    foreach (var eve in exc.EntityValidationErrors)
                    {
                        Console.WriteLine(eve.ValidationErrors);
                        Console.WriteLine(eve.Entry);
                    }
                    return(false);
                }
                catch (Exception exct)
                {
                    Console.WriteLine(exct.Message);
                    return(false);
                }


                return(true);
            }
        }
示例#2
0
        public static async Task <bool> MiseAjourStats(int numeroPartie, decimal valeur, string nomEquipe, string nomStat)
        {
            using (var ctx = new Connexion420())
            {
                var queryPartie = ctx.equipesparties
                                  .Include(x => x.parties)
                                  .Include(x => x.equipes)
                                  .Where(x => x.parties.numPartie == numeroPartie && x.equipes.nom == nomEquipe)
                                  .FirstOrDefault();

                var queryStats = ctx.statistiquesjeux
                                 .Include(x => x.statistiques)
                                 .Where(x => x.statistiques.nom == nomStat)
                                 .FirstOrDefault();

                var query = ctx.scoresequipesparties
                            .Where(x => x.idEquipePartie == queryPartie.idEquipePartie && x.idStatistiqueJeu == queryStats.idStatistiqueJeu)
                            .FirstOrDefault();

                query.valeur = valeur;

                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    return(false);
                }

                return(true);
            }
        }
示例#3
0
        public static async Task <bool> EliminationEquipes(List <string> listNomEquipe)
        {
            if (listNomEquipe.Count == 0)
            {
                return(true);
            }
            using (var ctx = new Connexion420())
            {
                var equipesEntity = ctx.equipes
                                    .Where(x => listNomEquipe.Contains(x.nom));

                try
                {
                    await equipesEntity.ForEachAsync(x => x.estElimine = true);

                    await ctx.SaveChangesAsync();
                }
                catch (Exception ext)
                {
                    Console.WriteLine(ext.Message);
                    return(false);
                }

                return(true);
            }
        }
示例#4
0
        public static async Task <bool> AssigneGagnant(string nomPrix, string nomEquipe)
        {
            using (var ctx = new Connexion420())
            {
                var queryEquipe = ctx.equipes
                                  .Where(x => x.nom == nomEquipe)
                                  .FirstOrDefault();

                var query = ctx.prix
                            .Where(x => x.nom == nomPrix)
                            .FirstOrDefault();

                query.idEquipe = queryEquipe.idEquipe;

                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    return(false);
                }

                return(true);
            }
        }
示例#5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="numeroPoste"></param>
        /// <param name="numeroLocal"></param>
        /// <param name="etat"></param>
        /// <returns></returns>
        public static async Task <bool> UpdateModificateurtAsync(int numeroPoste, string numeroLocal, string nomUtilisateur)
        {
            using (var ctx = new Connexion420())
            {
                var queryP = from p in ctx.postes
                             join l in ctx.locaux on p.idLocal equals l.idLocal
                             where p.numeroPoste == numeroPoste && l.numero == numeroLocal
                             select p;

                var poste = await queryP.SingleOrDefaultAsync();

                var queryC = from c in ctx.comptes
                             where c.nomUtilisateur == nomUtilisateur
                             select c.idCompte;
                var idCompte = await queryC.SingleOrDefaultAsync();

                poste.idCompte = idCompte;

                await ctx.SaveChangesAsync();

                return(true);
            }
            //Erreur possible
            return(false);
        }
示例#6
0
        /// <summary>
        /// Fonction qui met a jour l'état d'un poste.
        /// </summary>
        /// <param name="numeroPoste">Numéro du poste</param>
        /// <param name="numeroLocal">Numéro du local auqel le poste appartient</param>
        /// <param name="etat">Le nouvel état à sauvegarder.</param>
        /// <returns></returns>
        public static async Task <bool> UpdateEtatAsync(int numeroPoste, string numeroLocal, string etat, string commentaire)
        {
            using (var ctx = new Connexion420())
            {
                var queryP = from p in ctx.postes
                             join e in ctx.etatspostes on p.idEtatPoste equals e.idEtatPoste
                             join l in ctx.locaux on p.idLocal equals l.idLocal
                             where p.numeroPoste == numeroPoste && l.numero == numeroLocal
                             select p;

                var poste = await queryP.SingleOrDefaultAsync();

                var queryE = from e in ctx.etatspostes
                             where e.nom == etat
                             select e.idEtatPoste;
                var idEtat = await queryE.SingleOrDefaultAsync();

                poste.idEtatPoste = idEtat;
                poste.commentaire = commentaire;
                await ctx.SaveChangesAsync();

                return(true);
            }
            //Erreur possible
            return(false);
        }
示例#7
0
        /// <summary>
        /// Méthode pour mettre a jour le volontaire associé à un local.
        /// </summary>
        /// <param name="numero">Le numéro du local</param>
        /// <param name="nomUtilisateur">Le nom d'utilisateur du volontaire.</param>
        /// <returns></returns>
        public static async Task <bool> UpdateAsync(string numero, string nomUtilisateur)
        {
            using (var ctx = new Connexion420())
            {
                int?compt;
                var tournoi = from tl in ctx.tournoislocaux
                              join l in ctx.locaux on tl.idLocal equals l.idLocal
                              where l.numero == numero
                              select tl;
                tournoislocaux toulo = await tournoi.SingleOrDefaultAsync();

                if (nomUtilisateur != null)
                {
                    var nouvVol = from c in ctx.comptes
                                  where c.nomUtilisateur == nomUtilisateur
                                  select c.idCompte;
                    compt = await nouvVol.SingleOrDefaultAsync();
                }
                else
                {
                    compt = null;
                }

                toulo.idCompte = compt;

                await ctx.SaveChangesAsync();

                return(true);
            }
            //Erreur possible
            return(false);
        }
示例#8
0
        public static async Task <bool> EnregistreGagnant(int numPartie, string nomEquipeGagnante)
        {
            using (var ctx = new Connexion420())
            {
                var queryPartie = ctx.parties
                                  .Where(x => x.numPartie == numPartie)
                                  .FirstOrDefault();

                if (queryPartie != null)
                {
                    queryPartie.dateFin    = DateTime.UtcNow;
                    queryPartie.estTermine = true;
                }


                var queryEquipePartie = ctx.equipesparties
                                        .Where(x => x.idPartie == queryPartie.idPartie)
                                        .Include(x => x.equipes).ToList();

                foreach (equipesparties ep in queryEquipePartie)
                {
                    if (ep.equipes.nom == nomEquipeGagnante)
                    {
                        ep.estGagnante = true;
                    }
                    else
                    {
                        ep.estGagnante = false;
                    }
                }

                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    return(false);
                }

                return(true);
            }
        }
示例#9
0
        public static async Task <bool> UpdateAsync(comptes obj)
        {
            using (var ctx = new Connexion420())
            {
                ctx.comptes.Attach(obj);
                ctx.Entry(obj).State = EntityState.Modified;
                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception exct)
                {
                    Console.WriteLine(exct.Message);
                    return(false);
                }

                return(true);
            }
        }
示例#10
0
        public static async Task <bool> InsertAsync(comptes obj)
        {
            using (var ctx = new Connexion420())
            {
                ctx.comptes.Add(obj);

                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception exct)
                {
                    Console.WriteLine(exct.Message);
                    return(false);
                }

                return(true);
            }
        }
示例#11
0
        public static async Task <bool> CreationEquipe(List <equipes> list)
        {
            using (var ctx = new Connexion420())
            {
                //http://stackoverflow.com/questions/5943394/why-is-inserting-entities-in-ef-4-1-so-slow-compared-to-objectcontext/5943699#5943699
                ctx.Configuration.AutoDetectChangesEnabled = false;

                foreach (equipes entity in list)
                {
                    ctx.equipes.Add(entity);
                }
                try
                {
                    await ctx.SaveChangesAsync();
                }
                catch (Exception exct)
                {
                    Console.WriteLine(exct.Message);
                    return(false);
                }

                return(true);
            }
        }