public ActionResult ElemeyeGonder(int id, int takim_sayisi) { Turnuva turnuva = BP_DatabaseEntities.Turnuva.Find(id); BP_DatabaseEntities.Entry(turnuva).Collection(x => x.Takim).Load(); ICollection <Takim> takimlar = turnuva.Takim; Turnuva yeni_turnuva = new Turnuva(); yeni_turnuva.turnuvaAdi = turnuva.turnuvaAdi; yeni_turnuva.kullaniciId = currentuser.kullaniciId; yeni_turnuva.turnuvaCesidi = "lig-eleme"; BP_DatabaseEntities.Turnuva.Add(yeni_turnuva); BP_DatabaseEntities.SaveChanges(); List <Turnuva> turnuvaList = new List <Turnuva>(); var groups = BP_DatabaseEntities.Turnuva.GroupBy(p => p.kullaniciId); foreach (var group in groups) { if (group.Key.Value == currentuser.kullaniciId) { foreach (var t in group) { turnuvaList.Add(t); } } } Turnuva son_turnuva = turnuvaList.LastOrDefault(); var takimOrder = takimlar.OrderByDescending(x => x.pts).ThenByDescending(x => x.avg).GroupBy(x => x.grupAdi); List <Takim> gonderilecekTakimlar = new List <Takim>(); foreach (var g in takimOrder) { List <Takim> order_takim_list = g.ToList <Takim>(); int kacTakim = takim_sayisi; for (int i = 0; i < kacTakim; i++) { if (i < order_takim_list.Count) { Takim yeni_t = new Takim(); yeni_t.takimAdi = order_takim_list[i].takimAdi; yeni_t.turnuvaId = son_turnuva.turnuvaId; yeni_t.pts = order_takim_list[i].pts; yeni_t.avg = order_takim_list[i].avg; yeni_t.grupAdi = order_takim_list[i].grupAdi; BP_DatabaseEntities.Takim.Add(yeni_t); BP_DatabaseEntities.SaveChanges(); gonderilecekTakimlar.Add(order_takim_list[i]); } } } BP_DatabaseEntities.Entry(son_turnuva).Collection(x => x.Round).Load(); ICollection <Round> rounds = son_turnuva.Round; generateEleme(gonderilecekTakimlar, son_turnuva.turnuvaId, 1); return(RedirectToAction("Yonet", "Home", new { id = son_turnuva.turnuvaId })); }
public ActionResult ElemeKura(List <string> elements) { //turnuvayı veri tabanına ekler Turnuva turnuva = new Turnuva(); turnuva.kullaniciId = currentuser.kullaniciId; turnuva.turnuvaAdi = elements[0]; turnuva.turnuvaCesidi = "eleme"; BP_DatabaseEntities.Turnuva.Add(turnuva); BP_DatabaseEntities.SaveChanges(); //takımları veri tabanına ekler for (int i = 1; i < elements.Count; i++) { Takim grup = new Takim(); grup.takimAdi = elements[i]; grup.turnuvaId = turnuva.turnuvaId; BP_DatabaseEntities.Takim.Add(grup); BP_DatabaseEntities.SaveChanges(); } //takimlari veri tabanından getirir ve eleme algoritmasını çalıştırır BP_DatabaseEntities.Entry(turnuva).Collection(x => x.Takim).Load(); ICollection <Takim> takimlar = turnuva.Takim; List <Takim> takimlar_ = new List <Takim>(); foreach (Takim t in takimlar) { if (t.turnuvaId == turnuva.turnuvaId) { takimlar_.Add(t); } } List <Turnuva> turnuvalar = BP_DatabaseEntities.Turnuva.ToList(); var turnuva_ = turnuvalar.FirstOrDefault(x => x.kullaniciId == currentuser.kullaniciId && x.turnuvaId == turnuva.turnuvaId); generateEleme(takimlar_, turnuva_.turnuvaId, 1); // round listesini veri tabanından getirip view'a gönderir BP_DatabaseEntities.Entry(turnuva_).Collection(x => x.Round).Load(); ICollection <Round> rounds = turnuva_.Round; List <Round> round_list = new List <Round>(); foreach (Round r in rounds) { round_list.Add(r); } ViewBag.turnuvaadi = turnuva_.turnuvaAdi; return(RedirectToAction("Yonet", "Home", new { id = turnuva_.turnuvaId })); // return View(round_list); }
public ActionResult LigFiksture(List <string> elements, int groupNum) { Turnuva turnuva = new Turnuva(); turnuva.kullaniciId = currentuser.kullaniciId; turnuva.turnuvaAdi = elements[0]; turnuva.turnuvaCesidi = "lig"; BP_DatabaseEntities.Turnuva.Add(turnuva); BP_DatabaseEntities.SaveChanges(); List <Takim> takimlar_ = new List <Takim>(); for (int i = 1; i < elements.Count; i++) { Takim takim = new Takim(); takim.takimAdi = elements[i]; takim.turnuvaId = turnuva.turnuvaId; BP_DatabaseEntities.Takim.Add(takim); BP_DatabaseEntities.SaveChanges(); } BP_DatabaseEntities.Entry(turnuva).Collection(x => x.Takim).Load(); ICollection <Takim> takimlar = turnuva.Takim; foreach (Takim t in takimlar) { if (t.turnuvaId == turnuva.turnuvaId) { takimlar_.Add(t); } } List <Turnuva> turnuvalar = BP_DatabaseEntities.Turnuva.ToList(); var turnuva_ = turnuvalar.FirstOrDefault(x => x.kullaniciId == currentuser.kullaniciId && x.turnuvaId == turnuva.turnuvaId); generateLigFiksture(takimlar_, turnuva_.turnuvaId, groupNum); BP_DatabaseEntities.Entry(turnuva_).Collection(x => x.Round).Load(); ICollection <Round> rounds = turnuva_.Round; List <Match> matches = new List <Match>(); foreach (Round r in rounds) { BP_DatabaseEntities.Entry(r).Collection(x => x.Match).Load(); ICollection <Match> match = r.Match; foreach (Match m in match) { matches.Add(m); } } ViewBag.turnuvaadi = turnuva_.turnuvaAdi; return(RedirectToAction("Yonet", "Home", new { id = turnuva_.turnuvaId })); // return View(matches); }
public ActionResult Yonet(int id) { Turnuva t = BP_DatabaseEntities.Turnuva.FirstOrDefault(x => x.turnuvaId == id); BP_DatabaseEntities.Entry(t).Collection(x => x.Round).Load(); ICollection <Round> rounds = t.Round; List <Round> round_list = new List <Round>(); foreach (Round r in rounds) { round_list.Add(r); } ViewBag.turnuvaadi = t.turnuvaAdi; ViewBag.turnuvaid = id; ViewBag.turnuva_cesidi = t.turnuvaCesidi; return(View(round_list)); }
public ActionResult Kaydet_Eleme(List <string> values, int id) { int k = 0; Turnuva t = BP_DatabaseEntities.Turnuva.FirstOrDefault(x => x.turnuvaId == id); BP_DatabaseEntities.Entry(t).Collection(x => x.Round).Load(); ICollection <Round> rounds = t.Round; int temp_round_id = rounds.ElementAt(0).roundId; foreach (Round r in rounds) { ICollection <Match> match = r.Match; List <Match> matches = new List <Match>(); matches.Clear(); foreach (Match m in match) { matches.Add(m); } int temp_match = 0; for (int j = 0; j < matches.Count; j += 2) { try { if (values[k] != values[k + 1] && values[k] != "" && values[k + 1] != "") { BP_DatabaseEntities.Match.Find(matches[j].matchId).skor1 = Convert.ToInt32(values[k]); BP_DatabaseEntities.Match.Find(matches[j].matchId).skor2 = Convert.ToInt32(values[k + 1]); BP_DatabaseEntities.SaveChanges(); } if (values[k + 2] != values[k + 3] && values[k + 2] != "" && values[k + 3] != "") { BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).skor1 = Convert.ToInt32(values[k + 2]); BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).skor2 = Convert.ToInt32(values[k + 3]); BP_DatabaseEntities.SaveChanges(); } } catch { } if (matches.Count != 1) { if (matches[j].takimID1 != null && matches[j].takimID2 != null && matches[j].skor1 != null && matches[j].skor2 != null) { if (BP_DatabaseEntities.Match.Find(matches[j].matchId).skor1 > BP_DatabaseEntities.Match.Find(matches[j].matchId).skor2) { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID1 = BP_DatabaseEntities.Match.Find(matches[j].matchId).takimID1; } else { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID1 = BP_DatabaseEntities.Match.Find(matches[j].matchId).takimID2; } BP_DatabaseEntities.SaveChanges(); } else if (matches[j].takimID1 != null && matches[j].takimID2 == null && r.roundId == temp_round_id) { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID1 = BP_DatabaseEntities.Match.Find(matches[j].matchId).takimID1; BP_DatabaseEntities.SaveChanges(); } if (matches[j + 1].takimID1 != null && matches[j + 1].takimID2 != null && matches[j + 1].skor1 != null && matches[j + 1].skor2 != null) { if (BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).skor1 > BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).skor2) { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID2 = BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).takimID1; } else { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID2 = BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).takimID2; } BP_DatabaseEntities.SaveChanges(); } else if (matches[j + 1].takimID1 != null && matches[j + 1].takimID2 == null && r.roundId == temp_round_id) { BP_DatabaseEntities.Match.Find(matches[j].matchId + match.Count - temp_match).takimID2 = BP_DatabaseEntities.Match.Find(matches[j + 1].matchId).takimID1; BP_DatabaseEntities.SaveChanges(); } } k += 4; temp_match++; } } ViewBag.turnuvaadi = t.turnuvaAdi; ViewBag.turnuvaid = id; ViewBag.turnuva_cesidi = t.turnuvaCesidi; return(RedirectToAction("Yonet", "Home", new { id = id })); }