public async Task <IActionResult> Zapis(Guid id, [FromQuery] int page = 1) { ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); bool mod = isMod(user.Id); int pagesize = appData.PageSize; var tema = _ctx.Tema.Find(id); if (tema == null) { return(RedirectToAction("Nema", "Greska")); } var teme = _ctx.Zapis.Where(t => t.IdTema == id); var pagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = pagesize, TotalItems = teme.Count() }; if (page == 0) { return(RedirectToAction(nameof(Zapis), new { id = id, page = pagingInfo.TotalPages })); } if (page > pagingInfo.TotalPages && pagingInfo.TotalItems != 0) { return(RedirectToAction(nameof(Index), new { page = pagingInfo.TotalPages })); } System.Linq.Expressions.Expression <Func <Zapis, object> > orderSelector = t => t.DatumIvrijeme; if (orderSelector != null) { teme = _ctx.Zapis.Where(t => t.IdTema == id).Include(t => t.IdTemaNavigation).Include(t => t.IdKorisnikNavigation).OrderBy(orderSelector); } var trazeniZapis = teme .Skip((page - 1) * pagesize) .Take(pagesize) .ToList(); var model = new ZapisVIewModel() { Zapisi = trazeniZapis, PagingInfo = pagingInfo, IdTema = id, IdKorisnik = user.Id, Mod = mod, Naslov = tema.Naslov }; return(View(model)); }
public async Task <IActionResult> ObrisiZapis(ZapisVIewModel model, int page = 1) { ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); var zapis = _ctx.Zapis.Find(model.IdBrisanje); if (zapis == null) { return(RedirectToAction("Nema", "Greska")); } if (!isMod(user.Id) && zapis.IdKorisnik != user.Id) { return(RedirectToAction("Prava", "Zbor")); } _ctx.Zapis.Remove(zapis); _ctx.SaveChanges(); return(RedirectToAction("Zapis", new { id = zapis.IdTema, page = page })); }
public async Task <IActionResult> Zapis(ZapisVIewModel model) { ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User); if (model.Novi.Tekst.Trim().Equals("")) { ModelState.AddModelError("Tekst", "Zapis je obavezan"); } if (ModelState.IsValid) { model.Novi.Id = Guid.NewGuid(); model.Novi.IdKorisnik = user.Id; model.Novi.DatumIvrijeme = DateTime.Now; model.Novi.Tekst = model.Novi.Tekst.Replace("src=\"\\\\", "src=\"https:\\\\"); var tema = _ctx.Tema.Find(model.Novi.IdTema); tema.ZadnjiZapis = model.Novi.DatumIvrijeme; _ctx.Zapis.Add(model.Novi); _ctx.SaveChanges(); return(RedirectToAction("Zapis", new { id = model.Novi.IdTema })); } //model.KategorijaForuma = _ctx.KategorijaForuma.Include(k => k.Forum).ThenInclude(f => f.Tema).OrderBy(k => k.Redoslijed).ToList(); return(View(model)); }