Beispiel #1
0
        public ActionResult IspisStudenata(string naziv, string spol, string smjer, string sort, int?page)
        {
            //System.Threading.Thread.Sleep(200); //simulacija duže obrade zahtjeva

            ViewBag.Sortiranje = sort;
            ViewBag.NazivSort  = String.IsNullOrEmpty(sort) ? "naziv_desc" : "";
            ViewBag.SmjerSort  = sort == "smjer" ? "smjer_desc" : "smjer";
            ViewBag.Smjer      = smjer;
            ViewBag.Naziv      = naziv;
            ViewBag.Spol       = spol;

            var studenti = bazaPodataka.PopisStudenata.ToList();

            //filtriranje
            if (!String.IsNullOrWhiteSpace(naziv))
            {
                studenti = studenti.Where(x => x.PrezimeIme.ToUpper().Contains(naziv.ToUpper())).ToList();
            }

            if (!String.IsNullOrWhiteSpace(spol))
            {
                studenti = studenti.Where(x => x.Spol == spol).ToList();
            }

            if (!String.IsNullOrWhiteSpace(smjer))
            {
                studenti = studenti.Where(x => x.SifraSmjera == smjer).ToList();
            }

            switch (sort)
            {
            case "naziv_desc":
                studenti = studenti.OrderByDescending(s => s.PrezimeIme).ToList();
                break;

            case "smjer":
                studenti = studenti.OrderBy(s => s.SifraSmjera).ToList();
                break;

            case "smjer_desc":
                studenti = studenti.OrderByDescending(s => s.SifraSmjera).ToList();
                break;

            default:
                studenti = studenti.OrderBy(s => s.PrezimeIme).ToList();
                break;
            }

            StudentiReport studentiReport = new StudentiReport();

            studentiReport.ListaStudenata(studenti);

            return(File(studentiReport.Podaci, System.Net.Mime.MediaTypeNames.Application.Pdf,
                        "PopisStudenata.pdf"));
        }
Beispiel #2
0
        public FileStreamResult Ispisi()
        {
            // EF - lista sa filtriranjem
            var popis = from s in db.studenti select s;

            //ToList() je bitan ako želimo izbjeći deferred execution i lazy loading mehanizme EF-a
            StudentiReport r = new StudentiReport(popis.ToList());

            return(new FileStreamResult(new MemoryStream(r.Podaci), "application/pdf"));

            // ovako odmah ide download
            // return File(path, "application/pdf", "Popis_studenata.pdf");

            // ovako se otvara unutar preglednika
            // return File(path, "application/pdf");
        }
Beispiel #3
0
        public ActionResult DetaljiIspis(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction("Popis"));
            }

            Student student = bazaPodataka.PopisStudenata.FirstOrDefault(x => x.Id == id);

            if (student == null)
            {
                return(RedirectToAction("Popis"));
            }

            StudentiReport studentiReport = new StudentiReport();
            var            log            = User as LogiraniKorisnik;

            studentiReport.Student(student, log != null ? log.PrezimeIme : "Ime prezime");

            return(File(studentiReport.Podaci, System.Net.Mime.MediaTypeNames.Application.Pdf, "PodaciOStudentu.pdf"));
        }