public FileStreamResult IspisDetalji(int id) { PlanOs2View plan = new PlanOs2View(); plan.OsPlan2 = planovi_os2.ReadOS_Plan_2(id); plan.OsPlan2Podrucja = new List <OS_Plan_2_podrucje>(); plan.OsPlan2Podrucja = baza.OsPlan2Podrucje.Where(w => w.Id_glavni_plan == id).ToList(); plan.OsPlan2Podrucja = plan.OsPlan2Podrucja.OrderBy(o => o.Red_br_podrucje).ToList(); plan.OsPlan2Aktivnosti = new List <OS_Plan_2_aktivnost>(); foreach (var item in plan.OsPlan2Podrucja) { int i = item.Id_plan; plan.OsPlan2Aktivnosti.AddRange(baza.OsPlan2Aktivnost.Where(w => w.Id_podrucje == i)); } plan.OsPlan2Akcije = new List <OS_Plan_2_akcija>(); foreach (var item in plan.OsPlan2Aktivnosti) { int i = item.Id_plan; plan.OsPlan2Akcije.AddRange(baza.OsPlan2Akcija.Where(w => w.Id_aktivnost == i)); } plan.Ciljevi = new List <Ciljevi>(); plan.Ciljevi = ciljevi_db.ReadCiljevi(); plan.Zadaci = new List <Zadaci>(); plan.Zadaci = zadaci_db.ReadZadaci(); plan.Subjekti = new List <Subjekti>(); plan.Subjekti = subjekti_db.ReadSubjekti(); plan.Oblici = new List <Oblici>(); plan.Oblici = oblici_db.ReadOblici(); Pedagog ped = new Pedagog(); int idPed = PlaniranjeSession.Trenutni.PedagogId; ped = baza.Pedagog.SingleOrDefault(s => s.Id_Pedagog == idPed); PlanOs2DetailsReport report = new PlanOs2DetailsReport(plan, ped); return(new FileStreamResult(new MemoryStream(report.Podaci), "application/pdf")); }
public PlanOs1DetailsReport(PlanOs1View plan, Pedagog ped) { Document pdfDokument = new Document( PageSize.A4.Rotate(), 50, 50, 20, 50); MemoryStream memStream = new MemoryStream(); PdfWriter.GetInstance(pdfDokument, memStream). CloseStream = false; pdfDokument.Open(); BaseFont font = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, false); Font header = new Font(font, 12, Font.NORMAL, BaseColor.DARK_GRAY); Font naslov = new Font(font, 14, Font.BOLDITALIC, BaseColor.BLACK); Font tekst = new Font(font, 9, Font.NORMAL, BaseColor.BLACK); Font bold = new Font(font, 9, Font.BOLD, BaseColor.BLACK); Paragraph p = new Paragraph(ped.Ime + " " + ped.Prezime + ", " + ped.Titula, header); pdfDokument.Add(p); p = new Paragraph("Naziv plana: " + plan.OsPlan1.Naziv, header); pdfDokument.Add(p); p = new Paragraph("Okvirni plan i program rada stručnog suradnika za osnovnu školu u šk. god. " + plan.OsPlan1.Ak_godina, naslov); p.Alignment = Element.ALIGN_CENTER; p.SpacingBefore = 30; p.SpacingAfter = 30; pdfDokument.Add(p); PdfPTable t = new PdfPTable(17); t.WidthPercentage = 100; t.SetWidths(new float[] { 1, 5, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }); t.AddCell(VratiCeliju2("R. BR.", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("PODRUČJE RADA/AKTIVNOSTI", bold, false, BaseColor.CYAN)); PdfPCell c = new PdfPCell(); c = VratiCeliju2("POTREBNO SATI", bold, false, BaseColor.CYAN); c.Padding = 1; t.AddCell(c); t.AddCell(VratiCeliju2("CILJ (po područjima)", bold, false, BaseColor.CYAN)); c = new PdfPCell(); c = VratiCeliju2("BR. SATI", bold, false, BaseColor.CYAN); c.Padding = 0.5F; t.AddCell(c); t.AddCell(VratiCeliju2("IX", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("X", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("XI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("XII", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("I", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("II", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("III", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("IV", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("V", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("VI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("VII", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("VIII", bold, false, BaseColor.CYAN)); int i = 0; plan.OsPlan1Podrucje = plan.OsPlan1Podrucje.OrderBy(o => o.Red_br_podrucje).ToList(); foreach (var item in plan.OsPlan1Podrucje) { i++; t.AddCell(VratiCeliju(i.ToString() + ".", bold, true, BaseColor.WHITE)); t.AddCell(VratiCeliju(plan.PodrucjeRada.Single(s => s.Id_podrucje == item.Opis_Podrucje).Naziv, bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Potrebno_sati, bold, false, BaseColor.WHITE)); List <OS_Plan_1_aktivnost> aktivnosti = new List <OS_Plan_1_aktivnost>(); aktivnosti = plan.OsPlan1Aktivnost.Where(w => w.Id_podrucje == item.Id_plan).ToList(); aktivnosti = aktivnosti.OrderBy(o => o.Red_broj_aktivnost).ToList(); PdfPCell cell = new PdfPCell(new Phrase(plan.Ciljevi.Single(s => s.ID_cilj == item.Cilj).Naziv, tekst)); cell.Rowspan = aktivnosti.Count + 1; cell.VerticalAlignment = PdfPCell.ALIGN_TOP; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.NoWrap = false; t.AddCell(cell); t.AddCell(VratiCeliju(item.Br_sati.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_9.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_10.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_11.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_12.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_1.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_2.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_3.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_4.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_5.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_6.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_7.ToString(), bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(item.Mj_8.ToString(), bold, false, BaseColor.WHITE)); int x = 1; foreach (var ak in aktivnosti) { t.AddCell(VratiCeliju(i.ToString() + "." + (x++).ToString(), tekst, true, BaseColor.WHITE)); t.AddCell(VratiCeliju(plan.Aktivnosti.Single(s => s.Id_aktivnost == ak.Opis_aktivnost).Naziv, tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Potrebno_sati, tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Br_sati.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_9.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_10.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_11.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_12.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_1.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_2.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_3.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_4.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_5.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_6.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_7.ToString(), tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ak.Mj_8.ToString(), tekst, false, BaseColor.WHITE)); } } pdfDokument.Add(t); pdfDokument.Close(); Podaci = memStream.ToArray(); }
public PlanOs2DetailsReport(PlanOs2View plan, Pedagog pedagog) { Document pdfDokument = new Document( PageSize.A4.Rotate(), 50, 50, 20, 50); MemoryStream memStream = new MemoryStream(); PdfWriter.GetInstance(pdfDokument, memStream). CloseStream = false; pdfDokument.Open(); BaseFont font = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, false); Font header = new Font(font, 12, Font.NORMAL, BaseColor.DARK_GRAY); Font naslov = new Font(font, 14, Font.BOLDITALIC, BaseColor.BLACK); Font tekst = new Font(font, 10, Font.NORMAL, BaseColor.BLACK); Font bold = new Font(font, 9, Font.BOLD, BaseColor.BLACK); Font blueBold = new Font(font, 9, Font.BOLD, BaseColor.BLUE); Paragraph p = new Paragraph(pedagog.Ime + " " + pedagog.Prezime + ", " + pedagog.Titula, header); pdfDokument.Add(p); p = new Paragraph("Naziv plana: " + plan.OsPlan2.Naziv, header); pdfDokument.Add(p); p = new Paragraph("Godišnji plan i program rada stručnog suradnika pedagoga za osnovnu školu u šk.god. " + plan.OsPlan2.Ak_godina, naslov); p.Alignment = Element.ALIGN_CENTER; p.SpacingBefore = 30; p.SpacingAfter = 30; pdfDokument.Add(p); PdfPTable t = new PdfPTable(8); t.WidthPercentage = 100; t.SetWidths(new float[] { 1, 5, 3, 3, 3, 3, 2, 1 }); t.AddCell(VratiCeliju2("R.br.", bold, true, BaseColor.CYAN)); t.AddCell(VratiCeliju2("POSLOVI I ZADACI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("CILJEVI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("ZADACI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("SUBJEKTI", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("OBLICI I METODE RADA", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("VRIJEME REALIZACIJE", bold, false, BaseColor.CYAN)); t.AddCell(VratiCeliju2("SATI", bold, false, BaseColor.CYAN)); int a = 0; foreach (var podrucje in plan.OsPlan2Podrucja) { a++; List <OS_Plan_2_aktivnost> aktivnost = new List <OS_Plan_2_aktivnost>(); aktivnost = plan.OsPlan2Aktivnosti.Where(w => w.Id_podrucje == podrucje.Id_plan).ToList(); aktivnost = aktivnost.OrderBy(o => o.Red_br_aktivnost).ToList(); t.AddCell(VratiCeliju(a.ToString(), blueBold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(podrucje.Opis_podrucje, blueBold, false, BaseColor.WHITE)); List <OS_Plan_2_akcija> listaAkcija = new List <OS_Plan_2_akcija>(); foreach (var item in aktivnost) { listaAkcija.AddRange(plan.OsPlan2Akcije.Where(w => w.Id_aktivnost == item.Id_plan)); } int spoji = aktivnost.Count + listaAkcija.Count + 1; PdfPCell cell = new PdfPCell(new Phrase(plan.Ciljevi.Single(s => s.ID_cilj == podrucje.Cilj).Naziv, tekst)); cell.BackgroundColor = BaseColor.WHITE; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.Padding = 5; cell.NoWrap = false; cell.Rowspan = spoji; t.AddCell(cell); cell = new PdfPCell(new Phrase(plan.Zadaci.Single(s => s.ID_zadatak == podrucje.Zadaci).Naziv, tekst)); cell.BackgroundColor = BaseColor.WHITE; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.Padding = 5; cell.NoWrap = false; cell.Rowspan = spoji; t.AddCell(cell); cell = new PdfPCell(new Phrase(plan.Subjekti.Single(s => s.ID_subjekt == podrucje.Subjekti).Naziv, tekst)); cell.BackgroundColor = BaseColor.WHITE; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.Padding = 5; cell.NoWrap = false; cell.Rowspan = spoji; t.AddCell(cell); cell = new PdfPCell(new Phrase(plan.Oblici.Single(s => s.Id_oblici == podrucje.Oblici).Naziv, tekst)); cell.BackgroundColor = BaseColor.WHITE; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.Padding = 5; cell.NoWrap = false; cell.Rowspan = spoji; t.AddCell(cell); cell = new PdfPCell(new Phrase(podrucje.Vrijeme, tekst)); cell.BackgroundColor = BaseColor.WHITE; cell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; cell.Padding = 5; cell.NoWrap = false; cell.Rowspan = spoji; t.AddCell(cell); t.AddCell(VratiCeliju(podrucje.Sati.ToString(), blueBold, false, BaseColor.WHITE)); int b = 0; foreach (var akt in aktivnost) { b++; t.AddCell(VratiCeliju(a + "." + b, bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(akt.Opis_aktivnost, bold, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(akt.Sati.ToString(), bold, false, BaseColor.WHITE)); List <OS_Plan_2_akcija> akcije = new List <OS_Plan_2_akcija>(); akcije = plan.OsPlan2Akcije.Where(w => w.Id_aktivnost == akt.Id_plan).ToList(); akcije = akcije.OrderBy(o => o.Red_br_akcija).ToList(); int c = 0; foreach (var ac in akcije) { c++; t.AddCell(VratiCeliju(a + "." + b + "." + c, tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ac.Opis_akcija, tekst, false, BaseColor.WHITE)); t.AddCell(VratiCeliju(ac.Sati.ToString(), tekst, false, BaseColor.WHITE)); } } } pdfDokument.Add(t); pdfDokument.Close(); Podaci = memStream.ToArray(); }