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; } }
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); } }
//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; } } }
// 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; } }