Пример #1
0
        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);
        }
Пример #2
0
        public ActionResult Edit(KoloViewModel kolo)
        {
            int koloID = kolo.KoloID;

            using (var context = new KosarkaContext())
            {
                Kolo          k             = context.Koloes.Find(koloID);
                KoloViewModel koloViewModel = new KoloViewModel()
                {
                    KoloID           = k.KoloID,
                    BrojKola         = k.BrojKola,
                    DatumPocetkaKola = k.DatumPocetkaKola,
                    DatumKrajKola    = k.DatumKrajKola
                };

                return(View(koloViewModel));
            }
        }