コード例 #1
0
        public List <EvidencijaMeca> GetEvidencije(string KorisnikUsername, int takmid)
        {
            Igrac                 igrac           = evidentor.NadjiIgraca(KorisnikUsername);
            List <Utakmica>       NjegoveUtakmice = evidentor.DobaviUtakmice(igrac, takmid);
            List <EvidencijaMeca> model           = new List <EvidencijaMeca>();

            foreach (Utakmica i in NjegoveUtakmice)
            {
                //ne bi se smjelo nikada desiti da se nadje null igracID jer je na frontendu prikazano samo ono gdje su oba igraca unesena..
                //to je rjeseno onom funkcijom JelBye unutar funkcije DobaviUtakmice u par linija koda iznad
                EvidencijaMeca        nova      = new EvidencijaMeca();
                List <Igrac_Utakmica> svaUcesca = db.IgraciUtakmice.Where(x => x.UtakmicaID == i.ID).ToList();
                List <(Prijava pr, Igrac_Utakmica ucesce)> Timovi = new List <(Prijava pr, Igrac_Utakmica ucesce)>();
                foreach (Igrac_Utakmica j in svaUcesca)
                {
                    Prijava prijavaJoinUcesce = evidentor.GetPrijavuZaUcesce(j, takmid);
                    Timovi.Add((prijavaJoinUcesce, j));
                }
                (List <Igrac_Utakmica> Tim1, List <Igrac_Utakmica> Tim2)TimoviFinalni = evidentor.VratiUcescaPoTimu(Timovi);
                //dovoljno je provjeriti samo za jednog igraca, a svakako radi i za varijantu kad je double jer oba igraca pripadaju istoj prijavi koja ima //isti naziv
                string NazivTim1 = Timovi.Where(x => x.ucesce == TimoviFinalni.Tim1[0]).Select(x => x.pr.Naziv).FirstOrDefault();
                string NazivTim2 = Timovi.Where(x => x.ucesce == TimoviFinalni.Tim2[0]).Select(x => x.pr.Naziv).FirstOrDefault();

                nova.Tim1 = TimoviFinalni.Tim1;
                nova.Tim2 = TimoviFinalni.Tim2;

                nova.NazivTim1 = NazivTim1;
                nova.NazivTim2 = NazivTim2;

                nova.RezultatTim1 = null;
                nova.RezultatTim1 = null;

                //ovo ne bi trebalo smetati webappu obzirom da nece ovaj atribut nigdje koristit a webapiju je bitno
                //zbog ponovnog dobavljanja liste igraca
                nova.UtakmicaID = TimoviFinalni.Tim1[0].UtakmicaID;
                model.Add(nova);
            }
            return(model);
        }
コード例 #2
0
        public IActionResult EvidencijaMeca(int id)
        {
            Igrac                   igrac           = evidentor.NadjiIgraca(HttpContext.User.Identity.Name);
            List <Utakmica>         NjegoveUtakmice = evidentor.DobaviUtakmice(igrac, id);
            List <EvidencijaMecaVM> model           = new List <EvidencijaMecaVM>();

            foreach (Utakmica i in NjegoveUtakmice)
            {
                //ne bi se smjelo nikada desiti da se nadje null igracID jer je na frontendu prikazano samo ono gdje su oba igraca unesena..
                //to je rjeseno onom funkcijom JelBye unutar funkcije DobaviUtakmice u par linija koda iznad
                EvidencijaMecaVM      nova      = new EvidencijaMecaVM();
                List <Igrac_Utakmica> svaUcesca = db.IgraciUtakmice.Where(x => x.UtakmicaID == i.ID).ToList();
                List <(Prijava pr, Igrac_Utakmica ucesce)> Timovi = new List <(Prijava pr, Igrac_Utakmica ucesce)>();
                foreach (Igrac_Utakmica j in svaUcesca)
                {
                    Prijava prijavaJoinUcesce = evidentor.GetPrijavuZaUcesce(j, id);
                    Timovi.Add((prijavaJoinUcesce, j));
                }
                (List <Igrac_Utakmica> Tim1, List <Igrac_Utakmica> Tim2)TimoviFinalni = evidentor.VratiUcescaPoTimu(Timovi);
                //dovoljno je provjeriti samo za jednog igraca, a svakako radi i za varijantu kad je double jer oba igraca pripadaju istoj prijavi koja ima //isti naziv
                string NazivTim1 = Timovi.Where(x => x.ucesce == TimoviFinalni.Tim1[0]).Select(x => x.pr.Naziv).FirstOrDefault();
                string NazivTim2 = Timovi.Where(x => x.ucesce == TimoviFinalni.Tim2[0]).Select(x => x.pr.Naziv).FirstOrDefault();

                nova.Tim1 = TimoviFinalni.Tim1;
                nova.Tim2 = TimoviFinalni.Tim2;

                nova.NazivTim1 = NazivTim1;
                nova.NazivTim2 = NazivTim2;

                nova.RezultatTim1 = null;
                nova.RezultatTim1 = null;
                model.Add(nova);
            }
            ViewBag.id = id;
            return(PartialView(model));
        }