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); }
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)); }