コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: AutorRadController.cs プロジェクト: Bergo1305/mvc
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        //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));
        }
コード例 #5
0
        //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));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
ファイル: AdminController.cs プロジェクト: Bergo1305/mvc
        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));
        }
コード例 #8
0
        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));
        }