public List <TopGradovi> topGradoviPoObjavama() { var objave = _IObjaveBL.getAllObjave(); var niz = from o in objave group o by o.grad into objava select new TopGradovi { nazivGrada = objava.Key.naziv_grada_lat, idGrada = objava.Key.id, ukupno = objave.Where(o1 => o1.GradID == objava.Key.id).Count() }; /* var nizObjava = from o in niz * select new TopGradovi * { * nazivGrada = o.nazivGrada, * idGrada = o.idGrada, * ukupno = niz.Where(n => n.idGrada == o.idGrada).Count() * * };*/ List <TopGradovi> lista = niz.OrderByDescending(o => o.ukupno).Take(6).ToList(); TopGradovi gradovi = new TopGradovi(); gradovi.nazivGrada = "ostalo"; var prvih6 = niz.OrderByDescending(o => o.ukupno).Take(6).Sum(o => o.ukupno); gradovi.ukupno = niz.Sum(o => o.ukupno); gradovi.ukupno = gradovi.ukupno - prvih6; lista.Add(gradovi); return(lista); }
public List <TopGradovi> top10Gradova() { List <TopGradovi> listaGradova = new List <TopGradovi>(); var gradovi = _IGradBL.getAllGradove(); foreach (var grad in gradovi) { TopGradovi g = new TopGradovi(); g.nazivGrada = grad.naziv_grada_lat; g.brojPoena = gradKorisnici.Where(gk => gk.GradID == grad.id).Sum(gk => gk.korisnik.poeni); g.idGrada = grad.id; listaGradova.Add(g); } return(listaGradova.OrderByDescending(g => g.brojPoena).Take(10).ToList()); }