public ResultadoController(CorridasService corridasService, PilotosService pilotosService, EquipesService equipesService, ResultadosService resultadosService) { this.CorridasService = corridasService; this.PilotosService = pilotosService; this.EquipesService = equipesService; this.ResultadosService = resultadosService; }
public ContratoController(ParametrosSettings settings, ContratosService contratosService, PilotosService pilotosService, EquipesService equipesService) { _settings = settings; _contratosService = contratosService; _pilotosService = pilotosService; _equipesService = equipesService; }
public string getNomEquipes(Guid equipeId) { try { EquipesService es = new EquipesService(); List <EquipesModele> lEquipe = es.ListAll(); int i = 0; while (lEquipe[i].equipeId != equipeId && i < lEquipe.Count) { i++; } return(lEquipe[i].nom); } catch (TechnicalError oErreur) { throw oErreur; } catch (Exception ex) { throw ex; } }
// crée la liste complète des matchs de la saison (A-B;A-C;B-A;B-C;C-A;C-B) public List <MatchsModele> getListeMatchSaison(List <string> lNomEquipe) { try { List <EquipesModele> lEquipe = new List <EquipesModele>(); EquipesService es = new EquipesService(); lEquipe = es.ListeEquipeParticipants(lNomEquipe); List <MatchsModele> lMatchs = new List <MatchsModele>(); foreach (EquipesModele oEquipe in lEquipe) { for (int i = 0; i < lEquipe.Count; i++) { if (!oEquipe.nom.Equals(lEquipe[i].nom)) { MatchsModele match = new MatchsModele(oEquipe.equipeId, lEquipe[i].equipeId); lMatchs.Add(match); } } } return(lMatchs); } catch (TechnicalError oErreur) { throw oErreur; } catch (Exception ex) { throw ex; } }
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; } } }
//récupère la liste des équipes inscrites et les rajoute dans EquipePartcipation private void enregistrerEquipes(List <string> lEquipe, Guid championnatId) { try { //transforme la liste de string en liste d'équipes puis les inscrits EquipesService es = new EquipesService(); EquipesParticipationService eps = new EquipesParticipationService(); eps.enregistrerEquipesParticipation(es.ListeEquipeParticipants(lEquipe), championnatId); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static DataTable getEquipes(DateTime debutChamp) { try { EquipesService es = new EquipesService(); List <EquipesModele> lEquipes = es.ListAll(); TransfertsService ts = new TransfertsService(); List <TransfertsModele> lTransferts = ts.ListAll(); DataTable equipesSelection = new TableEquipesSelectionnees().getTable(); DataRow row; foreach (EquipesModele em in lEquipes) { int count = 0; foreach (TransfertsModele tm in lTransferts) { if (em.equipeId == tm.equipeId && tm.dateDebut.Year < debutChamp.Year && (tm.dateFin == null || tm.dateFin > debutChamp)) { count++; } } if (count <= MAXJOUEUR && count >= MINJOUEUR) { row = equipesSelection.NewRow(); row[0] = em.nom; row[1] = false; equipesSelection.Rows.Add(row); } } return(equipesSelection); } catch (TechnicalError oErreur) { throw oErreur; } catch (Exception ex) { throw ex; } }
public List <FifaModeles.EquipesModele> getEquipesDatees(FifaModeles.JoueursModele joueur, FifaModeles.ChampionnatsModele championnat) { List <FifaModeles.EquipesModele> lEquipe = new List <FifaModeles.EquipesModele>(); List <FifaModeles.EquipesModele> lEquipeAll = new EquipesService().ListAll(); foreach (FifaModeles.TransfertsModele transfert in this.ListAll()) { if (transfert.joueurId == joueur.joueurId && transfert.dateDebut.Year <= championnat.annee && (!transfert.dateFin.HasValue || transfert.dateFin.Value.Year >= championnat.annee)) { int i = 0; while (i < lEquipeAll.Count && lEquipeAll[i].equipeId != transfert.equipeId) { i++; } lEquipe.Add(lEquipeAll[i]); } } return(lEquipe); }
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); } }
public EquipeController(EquipesService equipesService) { _equipesService = equipesService; }
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; } } }
public DataTable genererTableauTransferts() { try { DataTable oTable = new TableTransfertJoueurs().getTable(); DataRow row; //récupère la liste des participations de joueurs en cours dans des équipes TransfertsService Joueurstransferts = new TransfertsService(); List <TransfertsModele> lTransferts = Joueurstransferts.ListAllWithEquipeJoueurs(); //récupère la liste des joueurs JoueursService js = new JoueursService(); List <JoueursModele> lJoueurs = js.ListAll(); //récupère la liste des équipes EquipesService es = new EquipesService(); List <EquipesModele> lEquipes = es.ListAll(); //rajoute les joueurs qui ont déjà été transférés foreach (TransfertsModele transferts in lTransferts) { row = oTable.NewRow(); // récupère le nom du joueur string prenom = lJoueurs.Where(xx => xx.joueurId == transferts.joueurId).FirstOrDefault().prenom; string nom = lJoueurs.Where(xx => xx.joueurId == transferts.joueurId).FirstOrDefault().nom; row["Joueur :"] = prenom + " " + nom; row["Equipe :"] = lEquipes.Where(xx => xx.equipeId == transferts.equipeId).FirstOrDefault().nom; row["Date arrivee :"] = (DateTime)transferts.dateDebut; oTable.Rows.Add(row); } //rajoute les joueurs sans équipe foreach (JoueursModele joueurs in lJoueurs) { row = oTable.NewRow(); //vérifie si le joueur n'est pas déjà dans la table de joueursParticipation if (lTransferts.FirstOrDefault(xx => xx.joueurId == joueurs.joueurId) == null) { row["Joueur :"] = joueurs.prenom + " " + joueurs.nom; oTable.Rows.Add(row); } } oTable.AcceptChanges(); return(oTable); } catch (TechnicalError oErreur) { throw oErreur; } catch (Exception ex) { throw ex; } }
private void getListeEquipes() { EquipesService es = new EquipesService(); lEquipe = es.ListAll(); }
public DataTable getClassementEquipe(DateTime date) { try { //crée la table vide de classement d'équipe DataTable oTable = new TableClassementEquipe().getTable(); //récupère le championnat lié à l'année ChampionnatsModele championnat = new ChampionnatService().getChampionnat(date.Year); //récupère les participations aux championnat List <EquipesParticipationModele> lEquipePart = new EquipesParticipationService().ListeEquipeChampionnat(championnat); DataRow row; foreach (EquipesParticipationModele participation in lEquipePart) { //récupère l'objet équipe en fonction de la participation EquipesModele equipe = new EquipesService().getEquipe(participation.equipeId); //récupère les matchs de l'équipe du 1/1/date.year à date compris List <MatchsModele> matchs = new MatchsService().ListesMatchsOneEquipeDatee(equipe, date); //récupère les quarters QuartersModele quarter1 = getQuarter(championnat, 1); QuartersModele quarter2 = getQuarter(championnat, 2); row = oTable.NewRow(); //assigne le nom de l'équipe row["Equipe :"] = equipe.nom; //assigne les points du Q1 row["Points Q1 :"] = getPoints(equipe, matchs, quarter1); //assigne les points du Q2 row["Points Q2 :"] = getPoints(equipe, matchs, quarter2); //calcule le total de points row["Points Totaux"] = (int)row["Points Q1 :"] + (int)row["Points Q2 :"]; //assigne les goals du Q1 row["Goals Q1 :"] = getGoals(equipe, matchs, quarter1); //assigne les goals du Q2 row["Goals Q2 :"] = getGoals(equipe, matchs, quarter2); //calcule le total de goals row["Goals Totaux"] = (int)row["Goals Q1 :"] + (int)row["Goals Q2 :"]; row["Cartes Jaunes Q1 :"] = getCartesJaunes(equipe, matchs, quarter1); row["Cartes Jaunes Q2 :"] = getCartesJaunes(equipe, matchs, quarter2); row["Cartes Jaunes Totales"] = (int)row["Cartes Jaunes Q1 :"] + (int)row["Cartes Jaunes Q2 :"]; row["Cartes Rouges Q1 :"] = getCartesRouges(equipe, matchs, quarter1); row["Cartes Rouges Q2 :"] = getCartesRouges(equipe, matchs, quarter2); row["Cartes Rouges Totales"] = (int)row["Cartes Rouges Q1 :"] + (int)row["Cartes Rouges Q2 :"]; row["CartonsValeur"] = (int)row["Cartes Jaunes Totales"] + (3 * (int)row["Cartes Rouges Totales"]); oTable.Rows.Add(row); } oTable.AcceptChanges(); return(oTable); } catch (TechnicalError oErreur) { throw oErreur; } catch (Exception ex) { throw ex; } }
public Boolean checkTransferts(DataTable oTable) { try { //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; if (checkTableTransfert(oView)) { foreach (DataRowView row in oView) { //obtient le joueur JoueursService js = new JoueursService(); FifaModeles.JoueursModele joueur = js.GetJoueurs(row["Joueur :"].ToString()); EquipesService es = new EquipesService(); //obtient l'équipe et le nombre de joueur avant transfert et le nombre de transfert pour l'équipeNew si elle existe int nbTransfertsIn = 0; int nbJoueurNew = NOMBREMINJOUEUR; EquipesModele equipeNew = new EquipesModele(); EquipesModele equipeOld = new EquipesModele(); if (row["combo"].ToString() != "") { //obtient l'équipe et le nombre de joueur avant transfert et le nombre de transfert pour l'équipeNew equipeNew = es.getEquipe(row["combo"].ToString()); //obtient le nombre de transfert nbTransfertsIn = nombreTransfertEquipeNew(oView, equipeNew.nom); //obtient le nombre de joueur avant transfert nbJoueurNew = nombreJoueurEquipe(equipeNew.equipeId, (DateTime)row["Date du transfert :"]); } //obtient l'équipe et le nombre de joueur avant transfert et le nombre de transfert pour l'équipeOld si elle existe int nbTransfertsOut = 0; int nbJoueur = NOMBREMINJOUEUR; if (row["Equipe :"].ToString() != "") { equipeOld = es.getEquipe(row["Equipe :"].ToString()); //obtient le nombre de transfert nbTransfertsOut = nombreTransfertEquipeOld(oView, equipeOld.nom); //obtient le nombre de joueur avant transfert nbJoueur = nombreJoueurEquipe(equipeOld.equipeId, (DateTime)row["Date du transfert :"]); } IntersaisonsService inter = new IntersaisonsService(); //vérifie si tous les matchs antérieurs sont jouées if (checkMatchsAllPlayedBefore((DateTime)row["Date du transfert :"], equipeNew, equipeOld)) { if (checkNoMatchswithFeuilleAfter((DateTime)row["Date du transfert :"], equipeNew, equipeOld)) { if ((nbJoueurNew + nbTransfertsIn) <= NOMBREMAXJOUEUR) { //vérifie si l'équipe d'arrivée est bien les x derniers du championnat à la date xx //si l'équipe d'arrivée n'est pas inscrite dans le championnat renvoie également true //sinon renvoie une Business erreur if (!inter.checkPasDansIntersaison((DateTime)row["Date du transfert :"])) { if ((nbJoueur - nbTransfertsOut) >= NOMBREMINJOUEUR) { if (equipeNew != null) { ClassementEquipe classement = new ClassementEquipe(); if (classement.isLastThree(equipeNew, (DateTime)row["Date du transfert :"])) { } } } else { // retourne un BusinessError si il n'y aurait plus assez de joueurs BusinessError bErreur = new BusinessError("Il y a trop de transferts de sortie pour l'équipe de départ"); throw bErreur; } } } else { // retourne un BusinessError si il y aurait trop de joueurs BusinessError bErreur = new BusinessError("Il y a trop de transferts d'entrée pour l'équipe d'arrivée"); throw bErreur; } } else { // retourne un BusinessError si il y a des matchs joués postérieurs BusinessError bErreur = new BusinessError("Une des équipes a déjà rempli une feuille de match après la date de transfert"); throw bErreur; } } else { // retourne un BusinessError si il y a des matchs antérieurs non joués BusinessError bErreur = new BusinessError("Tous les matchs antérieurs (de la saison) des équipes sélectionnées doivent être joués"); throw bErreur; } } } else { // retourne un BusinessError si il n'y aurait plus assez de joueurs BusinessError bErreur = new BusinessError("Toutes les cellules de date de transfert ne sont pas remplies"); throw bErreur; } return(true); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException is SqlException) { TechnicalError oErreur = new TechnicalError((SqlException)ex.InnerException); throw oErreur; } else { throw ex; } } }