public IActionResult RadoviIndexByRecenzent(string title = "", string type = "", string status = "") { var currentUserId = _userManager.GetUserId(User); var radovi = _context.RecenzentRad .Include(r => r.Recenzent) .Include(r => r.Rad) .Where(r => r.RecenzentId == currentUserId) .Select(r => new RadoviIndexVM { Id = r.RadId, Naslov = r.Rad.Naslov, OcjenaRecenzenta = r.ApprovedByRecenzent, OcjenaAdmina = r.Rad.ApprovedByAdmin, TipRada = r.Rad.Tip, UploadDate = r.Rad.UploadDate, PublishDate = r.Rad.DatumObjavljivanja }).ToList(); if (!String.IsNullOrEmpty(title)) { radovi = radovi.Where(r => r.Naslov.ToLower().Contains(title.ToLower())).ToList(); } if (type != "all") { radovi = radovi.Where(r => r.TipRada.ToLower().Contains(type.ToLower())).ToList(); } if (status != "all") { switch (status) { case "not decided": radovi = radovi.Where(r => r.OcjenaAdmina == null).ToList(); break; case "approved": radovi = radovi.Where(r => r.OcjenaAdmina == true).ToList(); break; case "denied": radovi = radovi.Where(r => r.OcjenaAdmina == false).ToList(); break; } } var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
public IActionResult ListaRadova(string id) { var radovi = _context.AutorRad .Include(a => a.Rad) .Where(a => a.AuthorId == id && a.Rad.ApprovedByAdmin.HasValue) .Select(a => new RadoviIndexVM { Id = a.Rad.Id, Naslov = a.Rad.Naslov }).ToList(); var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
public IActionResult RadoviIndexByTip(string tip) { var radovi = _context.Rad .Where(r => r.Tip == tip && r.ApprovedByAdmin == true) .Select(r => new RadoviIndexVM { Naslov = r.Naslov, TipRada = r.Tip, Id = r.Id }).ToList(); var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
//koristi se za dodavanje novih radova u publikaciju public IActionResult GetByNaziv(string naziv, int publikacijaId) { var sviRadovi = _context.Rad.Where(r => r.PublikacijaId.HasValue == false); var radovi = sviRadovi.Where(r => r.Naslov.ToLower().Contains(naziv.ToLower())).ToList(); List <RadoviIndexVM> titles = radovi.Select(r => new RadoviIndexVM { Id = r.Id, Naslov = r.Naslov, TipRada = r.Tip, OcjenaAdmina = r.ApprovedByAdmin }).ToList(); var model = new RadoviIndexListVM { Radovi = titles, PublikacijaId = publikacijaId }; return(View(model)); }
//Index displayed to the user after signing in... public IActionResult Index2() { //get 5 newest published titles var radovi = _context.Rad .Where(r => r.DatumObjavljivanja.HasValue) .OrderByDescending(r => r.DatumObjavljivanja) .Take(5) .Select(r => new RadoviIndexVM { Id = r.Id, Naslov = r.Naslov, TipRada = r.Tip, PublishDate = r.DatumObjavljivanja }) .ToList(); var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
public IActionResult IndexRadova(string naziv = "", string keywords = "", string type = "") { var svi = _context.Rad. Where(r => r.ApprovedByAdmin == true); if (!String.IsNullOrEmpty(type) && type != "all") { svi = svi.Where(r => r.Tip.ToLower().Contains(type.ToLower())); } if (!String.IsNullOrEmpty(naziv)) { svi = svi.Where(r => r.Naslov.ToLower().Contains(naziv.ToLower())); } if (!String.IsNullOrEmpty(keywords)) { svi = svi.Where(r => r.KeyWords.ToLower().Contains(keywords.ToLower())); } var radovi = svi.Select(r => new RadoviIndexVM { Id = r.Id, Naslov = r.Naslov, TipRada = r.Tip, PublishDate = r.DatumObjavljivanja, Autor = _context.AutorRad.Include(ar => ar.Author).FirstOrDefault(ar => ar.RadId == r.Id).Author.UserName }).ToList(); var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
public IActionResult AdminRadoviIndex(string title = "", string keywords = "", string type = "", string status = "") { var currentUsr = _userManager.GetUserId(User); var allTitles = _context.Rad.ToList(); //filter by keywords if (!String.IsNullOrEmpty(keywords)) { allTitles = allTitles.Where(r => r.KeyWords.ToLower().Contains(keywords.ToLower())).ToList(); } //ukljuciti autore radova (koristiti autorRad) var sviRadovi = allTitles.Select(r => new RadoviIndexVM { Id = r.Id, Naslov = r.Naslov, OcjenaAdmina = r.ApprovedByAdmin, BrojPozitivnihOcjena = r.BrojPozitivnihOcjena, TipRada = r.Tip }).ToList(); //filter svih radova //u slucaju da admin ima ulogu autora ili recenzenta //nece vidjeti svoje radove na ovoj listi jer ne moze uredjivati vlastite //radove na taj nacin var radovi = new List <RadoviIndexVM>(); foreach (var item in sviRadovi) { if (_context.AutorRad.Any(r => r.RadId == item.Id && r.AuthorId == currentUsr) == false && _context.RecenzentRad.Any(r => r.RadId == item.Id && r.RecenzentId == currentUsr) == false) { radovi.Add(item); } } //------------------------------ if (!String.IsNullOrEmpty(title)) { radovi = radovi.Where(r => r.Naslov.ToLower().Contains(title.ToLower())).ToList(); } if (type != "all") { radovi = radovi.Where(r => r.TipRada.ToLower().Contains(type.ToLower())).ToList(); } if (status != "all") { switch (status) { case "not decided": radovi = radovi.Where(r => r.OcjenaAdmina == null).ToList(); break; case "approved": radovi = radovi.Where(r => r.OcjenaAdmina == true).ToList(); break; case "denied": radovi = radovi.Where(r => r.OcjenaAdmina == false).ToList(); break; } } var model = new RadoviIndexListVM { Radovi = radovi }; return(View(model)); }
public IActionResult RadoviIndexByAuthor(string title = "", string type = "", string status = "") { var currentUserId = _userManager.GetUserId(User); var radovi = _context.AutorRad.Include(r => r.Rad) .Include(a => a.Rad) .Where(a => a.AuthorId == currentUserId) .Select(r => new RadoviIndexVM { Id = r.RadId, Naslov = r.Rad.Naslov, OcjenaAdmina = r.Rad.ApprovedByAdmin, TipRada = r.Rad.Tip, PublishDate = r.Rad.DatumObjavljivanja, OcjenaRecenzenta = r.Rad.ApprovedByAdmin, UploadDate = r.Rad.UploadDate }).ToList(); if (!String.IsNullOrEmpty(title)) { radovi = radovi.Where(r => r.Naslov.ToLower().Contains(title.ToLower())).ToList(); } if (type != "all") { radovi = radovi.Where(r => r.TipRada.ToLower().Contains(type.ToLower())).ToList(); } if (status != "all") { switch (status) { case "not decided": radovi = radovi.Where(r => r.OcjenaAdmina == null).ToList(); break; case "approved": radovi = radovi.Where(r => r.OcjenaAdmina == true).ToList(); break; case "denied": radovi = radovi.Where(r => r.OcjenaAdmina == false).ToList(); break; } } var model = new RadoviIndexListVM { Radovi = radovi, TipoviRada = new List <SelectListItem> { new SelectListItem { Value = "0", Text = "Reviewed Paper" }, new SelectListItem { Value = "1", Text = "Student Paper" }, new SelectListItem { Value = "2", Text = "Idea" }, new SelectListItem { Value = "3", Text = "eBook" } } }; return(View(model)); }