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")); }
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"); }
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")); }