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