Ejemplo n.º 1
0
        private void CalendrierMatchs_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!estSave)
            {
                try
                {
                    MessageBox.Show("Pour information : en sortant sans sauvegarder, le championnat crée est effacé");

                    ChampionnatService          cs   = new ChampionnatService();
                    QuartersService             qs   = new QuartersService();
                    IntersaisonsService         intS = new IntersaisonsService();
                    EquipesParticipationService es   = new EquipesParticipationService();

                    Guid championnatId = cs.getChampionnat(annee).championnatId;

                    qs.Delete(championnatId);
                    intS.Delete(championnatId);
                    es.Delete(championnatId);
                    cs.Delete(championnatId);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        public QuartersModele getQuarters(int annee, int numeroQuarter)
        {
            try
            {
                List <QuartersModele> lQuarters = new List <QuartersModele>();

                QuartersService qs = new QuartersService();

                QuartersModele quarter1;
                QuartersModele quarter2;

                List <QuartersModele> lAllQuarters = qs.ListAll();

                foreach (QuartersModele oQuarter in lAllQuarters)
                {
                    if (oQuarter.dateDebut.Year == annee)
                    {
                        lQuarters.Add(oQuarter);
                    }
                }

                //trie les quarters selon leur ordre temporel
                if (lQuarters[0].dateDebut < lQuarters[1].dateDebut)
                {
                    quarter1 = lQuarters[0];
                    quarter2 = lQuarters[1];
                }
                else
                {
                    quarter1 = lQuarters[1];
                    quarter2 = lQuarters[0];
                }

                //retourne le quarter demandé
                if (numeroQuarter == 1)
                {
                    return(quarter1);
                }
                else
                {
                    return(quarter2);
                }
            }
            catch (TechnicalError oErreur)
            {
                throw oErreur;
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 3
0
        private Boolean enregistrerNewDivison(List <string> lEquipe)
        {
            Boolean _return = false;

            try
            {
                // enregistre le nouveau championnat
                ChampionnatService cs = new ChampionnatService();
                Guid championnatId;

                EquipesParticipationService eps = new EquipesParticipationService();
                EquipesService es = new EquipesService();

                //vérifie qu'il n'y ait pas de transfert dans l'année pour une des équipes
                if (eps.checkPasTransfertAvantParticipation(es.ListeEquipeParticipants(lEquipe), Convert.ToInt32(tb_Annee.Text)))
                {
                    //vérifie si le championnat a pu être créé et si oui lance la création de quarters et d'intersaison
                    if (cs.enregistrerNewChampionnat(Convert.ToInt32(tb_Annee.Text), out championnatId))
                    {
                        //enregistre la nouvelle intersaison
                        IntersaisonsService interS = new IntersaisonsService();
                        interS.enregistrerNewIntersaison(dateDebutInt, dateFinInt, championnatId);

                        //enregistre les nouveaux quarters
                        QuartersService qs = new QuartersService();
                        qs.enregistrerNewQuarter(dateDebut, dateFinQ1, championnatId);
                        qs.enregistrerNewQuarter(dateDebutQ2, dateFinQ2, championnatId);

                        //enregistre les équipes
                        enregistrerEquipes(lEquipe, championnatId);

                        _return = true;
                    }
                }
                return(_return);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(_return);
            }
        }
Ejemplo n.º 4
0
        //renvoie un quarter en fonction d'un championnat et d'un numéro de quarter (1 ou 2)
        public QuartersModele getQuarter(ChampionnatsModele championnat, int numeroQuarter)
        {
            try
            {
                List <QuartersModele> lQuarterTrie = new List <QuartersModele>();

                List <QuartersModele> lQuarter = new QuartersService().ListOneChampionnat(championnat);

                if (numeroQuarter == 1)
                {
                    lQuarterTrie = lQuarter.OrderBy(xx => xx.dateDebut).ToList();
                }

                if (numeroQuarter == 2)
                {
                    lQuarterTrie = lQuarter.OrderByDescending(xx => xx.dateDebut).ToList();
                }

                if (numeroQuarter != 1 && numeroQuarter != 2)
                {
                    // retourne un BusinessError si le numero de Quarter n'est pas bon
                    BusinessError bErreur = new BusinessError("Ce numéro de quarter n'est pas correct");
                    throw bErreur;
                }

                return(lQuarterTrie[0]);
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException is SqlException)
                {
                    TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException.InnerException);
                    throw oErreur;
                }
                else
                {
                    throw ex;
                }
            }
        }
Ejemplo n.º 5
0
        // A partir de l'equipeID et du matchID renvoie la feuille de match existante ou un vide si jamais elle n'existe pas
        public static DataTable getMatchEquipe(Guid equipeId, Guid matchId, DateTime matchDate)
        {
            try
            {
                // récupère feuilleID si il existe ou en crée un
                FeuillesMatchService fms = new FeuillesMatchService();
                Guid feuilleId           = fms.UpdateFeuille(matchId, equipeId);

                // récupère les joueurs déjà inscrits
                List <dynamic> lstDy = new List <dynamic>();
                lstDy.Add(feuilleId);
                JoueursParticipationService jps = new JoueursParticipationService();
                DataView jpv = jps.loadWithParameter("JoueursInscrits", lstDy);

                //récupère les joueurs dans l'équipe au moment du match
                List <dynamic> lstDy2 = new List <dynamic>();
                lstDy2.Add(equipeId);
                lstDy2.Add(matchDate);
                TransfertsHistoryService ths = new TransfertsHistoryService();
                DataView thv = ths.loadWithParameter("JoueursEquipe", lstDy2);

                JoueursService js = new JoueursService();
                DataView       jv = js.loadAllData();

                CartesJaunesService cjs = new CartesJaunesService();
                DataView            cjv = cjs.loadAllData();

                CartesRougesService crs = new CartesRougesService();
                DataView            crv = crs.loadAllData();

                QuartersService qs      = new QuartersService();
                QuartersModele  quarter = qs.getAQuarter(matchDate);

                //obtient la liste de match de l'équipe pour le quarter et triée par date ascendante
                MatchsService       ms      = new MatchsService();
                DataView            mv      = ms.loadAllData();
                List <MatchsModele> lMatchs = ms.getMatchsEquipe(equipeId, quarter);



                DataTable feuille = new TableFeuilleMatch().getTable();
                DataRow   row;

                foreach (DataRowView dr in thv)
                {
                    row = feuille.NewRow();

                    //va chercher le prénom et le nom du joueur
                    int i = 0;
                    while ((Guid)dr["joueurId"] != (Guid)jv[i]["joueurId"])
                    {
                        i++;
                    }

                    row[0] = (String)jv[i]["prenom"] + " " + (String)jv[i]["nom"];

                    //va chercher le nombre de cartons jaunes actifs dans le quarter
                    row[1] = CountCartesJaunesActives((Guid)dr["joueurId"], equipeId, quarter);

                    //va chercher le nombre de suspensions restantes à un carton rouge dans le quarter
                    row[2] = 0;

                    //récupère la liste de cartons rouge du joueur pour le quarter
                    List <Guid> lMatchsAvecCartons = crs.getMatchsCartonsRouges((Guid)dr["joueurId"], quarter);
                    //vérifie si il en a reçu
                    if (lMatchsAvecCartons.Any())
                    {
                        int positionMatch = lMatchs.IndexOf(lMatchs.Where(xx => xx.matchDate == matchDate)
                                                            .FirstOrDefault());
                        foreach (Guid Id in lMatchsAvecCartons)
                        {
                            int positionCarton = lMatchs.IndexOf(lMatchs.Where(xx => xx.matchId == Id)
                                                                 .FirstOrDefault());
                            //vérifie que le match en cours est affecté par le carton
                            if (positionMatch - positionCarton > 0 && positionMatch - positionCarton < 3)
                            {
                                row[2] = 4 - positionMatch - positionCarton;
                            }
                        }
                    }

                    //va chercher le nombre de match restants pour l'équipe ce quarter
                    row[3] = lMatchs.Where(xx => xx.isPlayed == false)
                             .Count();


                    // va voir si le joueur est déjà sur la feuille de match
                    row[4] = false;

                    for (i = 0; i < jpv.Count; i++)
                    {
                        if ((Guid)dr["joueurId"] == (Guid)jpv[i]["joueurId"])
                        {
                            row[4] = true;
                        }
                    }

                    // rajoute le joueurId pour contrôle
                    row[5] = (Guid)dr["joueurId"];

                    feuille.Rows.Add(row);
                }
                feuille.AcceptChanges();
                return(feuille);
            }

            catch (TechnicalError ce)
            {
                throw ce;
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }