public JsonResult ValidatePool(IEnumerable <ParticipationCombatModel> participations) { var result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; var tree = TournamentHelper.BuildTree(participations); result.Data = new { competiteurs = tree, count = participations.Count(), usePool = false }; return(result); }
public JsonResult UpdatePresentielCombat(IEnumerable <ParticipationModel> participations, IEnumerable <EncadrantModel> encadrants, string getTree) { this.resultats.Read(); var types = this.types.Read(); bool inError = false; try { var epreuveId = participations.First().EpreuveId; foreach (var participation in participations) { var participationCompetiteur = this.participations.Read(p => p.EpreuveId == participation.EpreuveId && p.ParticipantId == participation.ParticipantId).FirstOrDefault(); if (participationCompetiteur != null) { participationCompetiteur.Resultat.Absence = !participation.Present; this.participations.Update(participationCompetiteur); } else { inError = true; } } var encadrements = this.unitOfWork.Repository <Encadrement>(); if (encadrants != null) { foreach (var encadrant in encadrants) { var dbItem = this.encadrements.Read(e => e.EncadrantId == encadrant.Id).FirstOrDefault(); if (dbItem == null) { encadrements.Create(new Encadrement { EpreuveId = epreuveId, EncadrantId = encadrant.Id, Role = encadrant.Role == "Arbitre" ? Role.Arbitre : Role.Administrateur }); } else { dbItem.EncadrantId = encadrant.Id; dbItem.EpreuveId = epreuveId; dbItem.Role = encadrant.Role == "Arbitre" ? Role.Arbitre : Role.Administrateur; encadrements.Update(dbItem); } } } if (!inError) { var epreuve = this.epreuvesCombat.Read().FirstOrDefault(e => e.Id == epreuveId); if (epreuve != null) { bool needTree; if (!bool.TryParse(getTree, out needTree)) { needTree = false; } var result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; epreuve.Statut = StatutEpreuve.EnCours; this.epreuvesCombat.Update(epreuve); var competiteurs = participations.Where(p => p.Present).Select(p => p.ConvertToCombat()).OrderBy(c => Guid.NewGuid()); if (!epreuve.TypeEpreuve.UseSwissSystem || needTree) { var tree = TournamentHelper.BuildTree(competiteurs); result.Data = new { competiteurs = tree, count = competiteurs.Count(), usePool = false }; } else { var rounds = TournamentHelper.BuildRounds(competiteurs); result.Data = new { rounds = rounds, count = competiteurs.Count(), usePool = true }; } return(result); } throw new ArgumentException("unable to find contest !!"); } else { throw new ArgumentException("oups !!"); } } catch (Exception) { throw; } }
static void Main(string[] args) { //using (var context = new CoupeQuachVanKeContext()) //{ // var coupe = new Coupe() // { // Nom = "CoupeQVK2015", // Description = "Coupe Quach Van Kê 2015", // NombreTapis = 4, // Ville = "JACOU", // CodePostal = "34830", // Voie = "Rue Henri MOYNIER", // Complement = "Gymnase Puigsegur", // DateDebut = new DateTime(2015, 5, 16, 12, 0, 0), // DateFin = new DateTime(2015, 5, 17, 18, 0, 0), // Responsable = new ResponsableCoupe // { // Nom = "Tran Van Ba", // Prenom = "Christophe", // MailContact = "*****@*****.**", // Telephone = "00-00-00-00-00", // Adresse = "chez cricri" // } // }; // var md = new Medecin // { // Nom = "GALLAUX", // Prenom = "Jean-Pierre" // }; // coupe.Medecins = new List<Medecin>(); // coupe.Medecins.Add(md); // context.Entry(coupe).State = EntityState.Added; // context.SaveChanges(); //} int count; string input = Console.ReadLine(); if (!int.TryParse(input, out count)) { count = 1; } var list = new List <ParticipationCombatModel>(); for (int i = 1; i < count + 1; i++) { list.Add(new ParticipationCombatModel { Club = "Club " + (i), ClubId = i, Couleur = (i % 2 == 0)? "#0000FF" : "#FF0000", EpreuveId = 1004, Id = i, Nom = "Nom " + i, ParticipantId = i, Prenom = "Prenom " + i, }); } var source = list.OrderBy(a => Guid.NewGuid()); var tree = TournamentHelper.BuildTree(source); Console.ReadLine(); }