public PageResult <NovostiToDisplay> getNovosti(PageResultQuery pageResultQuery, int?id = 0) { var query = _context.Novosti.OrderByDescending(x => x.NovostiID).Select(x => new NovostiToDisplay { Id = x.NovostiID, Naslov = x.Naslov, Text = x.Text, DatumObjavljivanja = x.DatumObjavljivanja, GlavnaSlika = x.Slika, }).AsQueryable(); if (id != 0) { query = query.Where(x => x.Id == id); } var novosti = query.ToList(); var result = new PageResult <NovostiToDisplay> { Count = novosti.Count, PageIndex = pageResultQuery.PageNumber, PageSize = pageResultQuery.PageSize, Items = novosti.Skip((pageResultQuery.PageNumber - 1) * pageResultQuery.PageSize).Take(pageResultQuery.PageSize).ToList(), TotalPage = (int)Math.Ceiling((double)novosti.Count / pageResultQuery.PageSize) }; return(result); }
public ActionResult <PageResult <ObavjestenjeToDisplay> > GetObavjestenja([FromQuery] PageResultQuery pageResultQuery, [FromQuery] int kategorijaId) { var obavjestenja = _obavjestenjaService.GetObavjestenja(pageResultQuery, kategorijaId); if (obavjestenja == null) { return(BadRequest("Nema obavještenja")); } return(obavjestenja); }
public ActionResult <PageResult <NovostiToDisplay> > GetNovosti([FromQuery] PageResultQuery pageResultQuery, [FromQuery] int id) { var novosti = _novostiService.getNovosti(pageResultQuery, id); if (novosti == null) { return(BadRequest("Nema novosti")); } return(novosti); }
public PageResult <ObavjestenjeToDisplay> GetObavjestenja(PageResultQuery pageResultQuery, int kategorijaId) { var obavijestiId = _context.ObavjestenjaKategorijeObavjestenja.Select(x => x.ObavjestenjaID).Distinct().ToList(); List <ObavjestenjeToDisplay> queryAll = new List <ObavjestenjeToDisplay>(); IQueryable <ObavjestenjeToDisplay> queryByCategory = null; if (kategorijaId == 0) { queryAll = _context.Obavjestenja .OrderByDescending(x => x.ObavjestenjaID) .Select(x => new ObavjestenjeToDisplay { Id = x.ObavjestenjaID, Naslov = x.Naslov, Text = x.Text, DatumObjavljivanja = x.DatumObjavljivanja, GlavnaSlika = x.Slika, Kategorije = _context.ObavjestenjaKategorijeObavjestenja.Where(v => v.ObavjestenjaID == x.ObavjestenjaID).Include(b => b.ObavjestenjaKategorije).Select(z => z.ObavjestenjaKategorije).ToList(), KategorijaId = _context.ObavjestenjaKategorijeObavjestenja.Where(v => v.ObavjestenjaID == x.ObavjestenjaID).Include(b => b.ObavjestenjaKategorije).Select(n => n.ObavjestenjaKategorijeID).FirstOrDefault() }).ToList(); } else { queryByCategory = _context.ObavjestenjaKategorijeObavjestenja .Include(x => x.Obavjestenja) .Include(x => x.ObavjestenjaKategorije) .OrderByDescending(x => x.ObavjestenjaID) .Select(x => new ObavjestenjeToDisplay { Id = x.ObavjestenjaID, Naslov = x.Obavjestenja.Naslov, Text = x.Obavjestenja.Text, DatumObjavljivanja = x.Obavjestenja.DatumObjavljivanja, GlavnaSlika = x.Obavjestenja.Slika, Kategorije = _context.ObavjestenjaKategorije.Where(c => c.ObavjestenjaKategorijeID == kategorijaId).ToList(), KategorijaId = x.ObavjestenjaKategorijeID }).AsQueryable(); queryByCategory = queryByCategory.Where(x => x.KategorijaId == kategorijaId); } var obavjestenja = kategorijaId == 0 ? queryAll : queryByCategory.ToList(); var result = new PageResult <ObavjestenjeToDisplay> { Count = obavjestenja.Count, PageIndex = pageResultQuery.PageNumber, PageSize = pageResultQuery.PageSize, Items = obavjestenja.Skip((pageResultQuery.PageNumber - 1) * pageResultQuery.PageSize).Take(pageResultQuery.PageSize).ToList(), TotalPage = (int)Math.Ceiling((double)obavjestenja.Count / pageResultQuery.PageSize) }; return(result); }