public void enregistrerNewIntersaison(DateTime dateDebut, DateTime dateFin, Guid championnatId)
        {
            using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
            {
                try
                {
                    // crée une nouvelle intersaison
                    ctx.Intersaisons_Add(dateDebut, dateFin, championnatId);

                    using (TransactionScope scope = new TransactionScope())
                    {
                        ctx.SaveChanges();
                        scope.Complete();
                    }
                }

                catch (Exception ex)
                {
                    if (ex.InnerException != null && ex.InnerException is SqlException)
                    {
                        TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException);
                        throw oErreur;
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }
        }
        public void enregistrerEquipesParticipation(List <FifaModeles.EquipesModele> lEquipe, Guid championnatId)
        {
            using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
            {
                try
                {
                    foreach (FifaModeles.EquipesModele equipe in lEquipe)
                    {
                        ctx.EquipeParticipation_Add(equipe.equipeId, championnatId);
                    }

                    using (TransactionScope scope = new TransactionScope())
                    {
                        ctx.SaveChanges();
                        scope.Complete();
                    }
                }

                catch (Exception ex)
                {
                    if (ex.InnerException != null && ex.InnerException is SqlException)
                    {
                        TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException);
                        throw oErreur;
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }
        }
Example #3
0
        public void enregistrerTransferts(DataTable oTable)
        {
            try
            {
                if (checkTransferts(oTable))
                {
                    using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
                    {
                        //transforme la table en vue et applique un filtre pour n'avoir que les lignes modifiées
                        DataView oView = oTable.DefaultView;
                        oView.RowStateFilter = DataViewRowState.ModifiedCurrent;


                        foreach (DataRowView row in oView)
                        {
                            //récupère l'id du joueur
                            Guid     joueurId      = new JoueursService().GetJoueurs(row["Joueur :"].ToString()).joueurId;
                            DateTime dateTransfert = (DateTime)row["Date du transfert :"];

                            //mets fin au précedent transfert si il existe et rajoute un jour à la date du transfert
                            if (row["Date arrivee :"].ToString() != "" && row["Equipe :"].ToString() != "")
                            {
                                ctx.Transferts_UpdateDateFin(joueurId, (DateTime)row["Date arrivee :"], dateTransfert, DateTime.Now);

                                dateTransfert = dateTransfert.AddDays(1);
                            }

                            //crée un nouveau transfert
                            if (row["combo"].ToString() != "")
                            {
                                Guid equipeInId = new EquipesService().getEquipe(row["combo"].ToString()).equipeId;
                                ctx.Tansferts_Add(joueurId, equipeInId, dateTransfert, DateTime.Now);
                            }
                        }
                        using (TransactionScope scope = new TransactionScope())
                        {
                            ctx.SaveChanges();
                            scope.Complete();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException is SqlException)
                {
                    TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException);
                    throw oErreur;
                }
                else
                {
                    throw ex;
                }
            }
        }
Example #4
0
        //renvoie true si il a pu créer le championnat et en out le guid de ce nouveau championnat
        public Boolean enregistrerNewChampionnat(int annee, out Guid championnatId)
        {
            Boolean _return = false;

            championnatId = Guid.Empty;

            using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
            {
                try
                {
                    //vérifie si un championnat existe déjà pour l'année annee et la crée si non.
                    if (this.ListAll().Where(x => x.annee == annee).FirstOrDefault() == null)
                    {
                        ctx.Championnats_Add(annee);

                        using (TransactionScope scope = new TransactionScope())
                        {
                            ctx.SaveChanges();
                            championnatId = this.getChampionnat(annee).championnatId;
                            scope.Complete();
                        }

                        _return = true;
                    }
                    if (!_return)
                    {
                        BusinessError oErreur = new BusinessError("Ce championnat existe déjà");
                        throw oErreur;
                    }
                    return(_return);
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null && ex.InnerException is SqlException)
                    {
                        TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException);
                        throw oErreur;
                    }
                    else
                    {
                        throw ex;
                    }
                }
            }
        }
        public void Delete(Guid championnatId)
        {
            using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
            {
                try
                {
                    ctx.Intersaisons_Delete(championnatId);

                    using (TransactionScope scope = new TransactionScope())
                    {
                        ctx.SaveChanges();
                        scope.Complete();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Example #6
0
        public void enregistrerMatchs(DataView oView)
        {
            try
            {
                if (checkToutesDatesRemplies(oView, out string rowNumber))
                {
                    if (checkDatesMatch(oView, out string rowNumber2))
                    {
                        using (FifaManagerEphecEntities ctx = new FifaManagerEphecEntities(_Connection))
                        {
                            //récupère la liste des équipes
                            EquipesService equipes = new EquipesService();
                            List <FifaModeles.EquipesModele> lEquipes = equipes.ListAll();

                            foreach (DataRowView oRow in oView)
                            {
                                //trouve l'Id des 2 équipes
                                Guid equipe1Id = Guid.Empty;
                                Guid equipe2Id = Guid.Empty;
                                int  i         = 0;
                                while ((equipe1Id == Guid.Empty || equipe2Id == Guid.Empty) && i < lEquipes.Count)
                                {
                                    if (lEquipes[i].nom.Equals((String)oRow["Equipe à Domicile :"]))
                                    {
                                        equipe1Id = lEquipes[i].equipeId;
                                    }
                                    if (lEquipes[i].nom.Equals((String)oRow["Equipe à l'extérieur :"]))
                                    {
                                        equipe2Id = lEquipes[i].equipeId;
                                    }
                                    i++;
                                }

                                //assigne la date du match
                                DateTime matchDate = (DateTime)(oRow["Date du Match :"]);

                                //ajoute le match au DbSET
                                ctx.Matchs_Add(matchDate, equipe1Id, equipe2Id);
                            }

                            //enregistre le DbSet dans la database
                            using (TransactionScope scope = new TransactionScope())
                            {
                                ctx.SaveChanges();
                                scope.Complete();
                            }
                        }
                    }
                    else
                    {
                        BusinessError ex = new BusinessError("Une équipe ne peut pas jouer 2 fois le même jour", rowNumber2);
                        throw ex;
                    }
                }
                else
                {
                    BusinessError ex = new BusinessError("Toutes les dates de match doivent être dans un quarter", rowNumber);
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException is SqlException)
                {
                    TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException);
                    throw oErreur;
                }
                else
                {
                    throw ex;
                }
            }
        }