public List <StatistikaKategorije> kategorijeSaNajviseObjava() { var objave = _IObjaveKategorijeUI.getAllObjaveKategorije(); var niz = from o in objave group o by o.kategorija into objava select new StatistikaKategorije { imeKategorije = objava.Key.kategorija, idKategorije = objava.Key.id, ukupnanBroj = objave.Where(o1 => o1.KategorijaID == objava.Key.id).Count() }; /* var nizObjava = from o in niz * select new StatistikaKategorije * { * imeKategorije = o.imeKategorije, * idKategorije = o.idKategorije, * ukupnanBroj = niz.Where(n => n.idKategorije == o.idKategorije).Count() * * };*/ var lista = niz.OrderByDescending(o => o.ukupnanBroj).Take(6).ToList(); var prvih6 = niz.OrderByDescending(o => o.ukupnanBroj).Take(6).Sum(o => o.ukupnanBroj); StatistikaKategorije kategorija = new StatistikaKategorije(); kategorija.imeKategorije = "ostalo"; kategorija.ukupnanBroj = niz.Sum(o => o.ukupnanBroj) - prvih6; lista.Add(kategorija); return(lista); }
public StatistikaKategorije statistikaPoKategoriji(PrihvatanjeKategorije data) { StatistikaKategorije statistika = new StatistikaKategorije(); if (data.kategorija != 0) { statistika.imeKategorije = this.getKategorijeProblema().FirstOrDefault(k => k.id == data.kategorija).kategorija; } else { statistika.imeKategorije = "Sve kategorije"; } var objave = _IObjaveKategorijeUI.getObjavuByIdKategorije(data.kategorija); statistika.brojNeresenihProblema = objave.Where(o => o.resenaObjava == 0).Count(); statistika.brojResenihProblema = objave.Where(o => o.resenaObjava > 0).Count(); statistika.ukupnanBroj = statistika.brojResenihProblema + statistika.brojNeresenihProblema; return(statistika); }