public static List <KoloViewModel> NewLeague() { List <TimViewModel> timovi; using (var context = new RezultatiContext()) { timovi = context.Tims.Select(t => new TimViewModel { TimID = t.TimID, Grad = t.Grad, Naziv = t.Naziv, Stadion = t.Stadion, Trener = t.Trener }).ToList(); } if ((int)Math.Ceiling(Math.Log(timovi.Count) / Math.Log(2)) != (int)Math.Floor(Math.Log(timovi.Count) / Math.Log(2))) { throw new Exception("Format lige mora biti tipa 2^n!"); } int[] timoviID = new int[timovi.Count]; //za izvlacenje for (int i = 0; i < timovi.Count; i++) { timoviID[i] = timovi.ElementAt(i).TimID; } int brKola = BrKombinacijaUtakmica(timovi.Count) / 2; int brUtakmicaUKolu = (BrKombinacijaUtakmica(timovi.Count) * 2) / brKola; List <Par> listaParova = GetParove(timoviID); List <KoloViewModel> listaKola = new List <KoloViewModel>(); DateTime start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1); for (int i = 0; i < brKola; i++) { List <UtakmicaViewModel> listaUtakmica = new List <UtakmicaViewModel>(); for (int j = 0; j < brUtakmicaUKolu; j++) { UtakmicaViewModel utakmica = new UtakmicaViewModel(); utakmica.DomaciTimID = listaParova[i * brUtakmicaUKolu + j].DomacinID; utakmica.GostujuciTimID = listaParova[i * brUtakmicaUKolu + j].GostID; utakmica.Kolo = i + 1; DateTime datumIgranja = start.AddDays(rnd.Next(1, DateTime.DaysInMonth(start.Year, start.Month) + 1)); utakmica.Datum = new DateTime(datumIgranja.Year, datumIgranja.Month, datumIgranja.Day, rnd.Next(18, 23), 0, 0); utakmica.UtakmicaID = i * brUtakmicaUKolu + j; utakmica.Odigrana = false; listaUtakmica.Add(utakmica); } KoloViewModel novoKolo = new KoloViewModel(); novoKolo.Utakmice = listaUtakmica; listaKola.Add(novoKolo); start = start.AddMonths(1); } return(listaKola); }
public static void GenerisiLigu(List <KoloViewModel> listaKola) { using (var context = new RezultatiContext()) { foreach (var kolo in listaKola) { foreach (var utakmica in kolo.Utakmice) { context.Utakmicas.Add(new Utakmica() { Datum = utakmica.Datum, DomaciTimID = utakmica.DomaciTimID, GostujuciTimID = utakmica.GostujuciTimID, Kolo = utakmica.Kolo, Odigrana = utakmica.Odigrana, DomacinGolovi = utakmica.DomacinGolovi, GostGolovi = utakmica.GostGolovi }); } } context.SaveChanges(); } }
public static void GenerisiUcinke() { using (var context = new RezultatiContext()) { var listaUtakmica = context.Utakmicas.ToList(); foreach (var utakmica in listaUtakmica) { var domacin = utakmica.Tim; foreach (var igrac in domacin.Igracs) { var ucinak = new Ucinak(); ucinak.IgracID = igrac.IgracID; ucinak.UtakmicaID = utakmica.UtakmicaID; ucinak.CrvenihKartona = 0; ucinak.ZutihKartona = 0; ucinak.OdigranihMinuta = 0; ucinak.Golova = 0; context.Ucinaks.Add(ucinak); } var gost = utakmica.Tim1; foreach (var igrac in gost.Igracs) { var ucinak = new Ucinak(); ucinak.IgracID = igrac.IgracID; ucinak.UtakmicaID = utakmica.UtakmicaID; ucinak.CrvenihKartona = 0; ucinak.ZutihKartona = 0; ucinak.OdigranihMinuta = 0; ucinak.Golova = 0; context.Ucinaks.Add(ucinak); } } context.SaveChanges(); } }