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