using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
using System.Data;
using FastReport;
using FastReport.Data;
using FastReport.Dialog;
using FastReport.Barcode;
using FastReport.Table;
using FastReport.Utils;
namespace FastReport
{
public class ReportScript
{
private const int margo=20;
private void Page2_ManualBuild(object sender, EventArgs e)
{
var naploMegnyitasanakDatuma = (DateTime)Report.GetColumnValue("Fejlec.NaploMegnyitasanakDatumaPlain");
if (Report.Parameters.FindByName("DatumFormatuma").Value.ToString() == "1")
{
Cell840.Text += Environment.NewLine + (naploMegnyitasanakDatuma != default(DateTime) ? naploMegnyitasanakDatuma.Date.ToString("yyyy. MM. dd.") : "-");
}
else
{
Cell840.Text += Environment.NewLine + (naploMegnyitasanakDatuma != default(DateTime) ? naploMegnyitasanakDatuma.Date.ToString("yyyy. MMMM dd.") : "-");
}
bool isMulasztasokUjLapon;
Boolean.TryParse(Report.Parameters.FindByName("isMulasztasokUjLapon").Value.ToString(), out isMulasztasokUjLapon);
DataMulasztas.StartNewPage = isMulasztasokUjLapon;
DataMulasztas.FirstRowStartsNewPage = isMulasztasokUjLapon;
bool isFeljegyzesekMegjelenitese;
Boolean.TryParse(Report.Parameters.FindByName("isFeljegyzesekMegjelenitese").Value.ToString(), out isFeljegyzesekMegjelenitese);
if (!isFeljegyzesekMegjelenitese)
{
DataFeljegyzesek.Delete();
}
bool isMuveszetOktatas;
Boolean.TryParse(Report.Parameters.FindByName("isMuveszetOktatas").Value.ToString(), out isMuveszetOktatas);
if (isMuveszetOktatas)
{
Cell850.Text = string.Empty;
Cell853.Text = string.Empty;
Cell207.Text = string.Empty;
Cell90.Text = string.Empty;
Cell88.Text = string.Empty;
}
bool isFelmentesekMegjelenitese;
Boolean.TryParse(Report.Parameters.FindByName("isFelmentesekMegjelenitese").Value.ToString(), out isFelmentesekMegjelenitese);
if (!isFelmentesekMegjelenitese)
{
DataFelmentesek.Delete();
}
bool KozossegiSzolgalat;
Boolean.TryParse(Report.Parameters.FindByName("KozossegiSzolgalat").Value.ToString(), out KozossegiSzolgalat);
if (!KozossegiSzolgalat)
{
DataTanuloKozossegiSz.Delete();
DataFeljegyzesKozossegiSzolgalat.Delete();
}
bool isEvesOraszamMegjelenjen;
Boolean.TryParse(Report.Parameters.FindByName("OraEvesSorszamMegjelenjen").Value.ToString(), out isEvesOraszamMegjelenjen);
if(int.Parse(Report.Parameters.FindByName("NyomtatvanyErtekelesMegjelenitesId").Value.ToString()) == 1)
{
DataErtekelesekFolyamatos.Delete();
}
else
{
DataErtekelesek.Delete();
}
DataSourceBase osztalyDS = Report.GetDataSource("Osztaly");
Data6.DataSource = osztalyDS;
osztalyDS.Init();
DataSourceBase fejlecDS = Report.GetDataSource("Fejlec");
Data1.DataSource = fejlecDS;
Relation relOF = new Relation();
relOF.ParentDataSource = osztalyDS;
relOF.ChildDataSource = fejlecDS;
relOF.ParentColumns = new string[] {"OsztalyId"};
relOF.ChildColumns = new string[] {"OsztalyId"};
Report.Dictionary.Relations.Add(relOF);
fejlecDS.Init(osztalyDS);
string osztalyNev = (string)Report.GetColumnValue("Fejlec.OsztalyNev");
if (osztalyNev.Length > 100)
{
Table5.Top -= Row148.Height;
}
// Tanulók
DataSourceBase tanuloAlapadatok = Report.GetDataSource("Tanulok");
DataTanuloAlapadatok.DataSource = tanuloAlapadatok;
Relation relOT = new Relation();
relOT.ParentDataSource = osztalyDS;
relOT.ChildDataSource = tanuloAlapadatok;
relOT.ParentColumns = new string[] {"OsztalyId"};
relOT.ChildColumns = new string[] {"OsztalyId"};
Report.Dictionary.Relations.Add(relOT);
tanuloAlapadatok.Init(osztalyDS);
// Tanulók értékelései
DataSourceBase DsDataErtekelesek = Report.GetDataSource("Ertekeles");
DataErtekelesek.DataSource = DsDataErtekelesek;
DataErtekelesekFolyamatos.DataSource = DsDataErtekelesek;
Relation rel2 = new Relation();
rel2.Name = "TanuloErt";
rel2.ParentDataSource = tanuloAlapadatok;
rel2.ChildDataSource = DsDataErtekelesek;
rel2.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel2.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel2);
DsDataErtekelesek.Init(tanuloAlapadatok);
// Tanulók mulasztésai
DataSourceBase DsDataMulasztas = Report.GetDataSource("Mulasztasok");
DataMulasztas.DataSource = DsDataMulasztas;
Relation rel3 = new Relation();
rel3.Name = "TanuloMul";
rel3.ParentDataSource = tanuloAlapadatok;
rel3.ChildDataSource = DsDataMulasztas;
rel3.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel3.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel3);
DsDataMulasztas.Init(tanuloAlapadatok);
// Tanulók határozatai
DataSourceBase DsDataHatarozatok = Report.GetDataSource("Hatarozat");
DataHatarozatok.DataSource = DsDataHatarozatok;
Relation rel5 = new Relation();
rel5.Name = "TanuloHatatozatok";
rel5.ParentDataSource = tanuloAlapadatok;
rel5.ChildDataSource = DsDataHatarozatok;
rel5.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel5.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel5);
DsDataHatarozatok.Init(tanuloAlapadatok);
// Tanulók feljegyzései
DataSourceBase DsDataFeljegyzesek = Report.GetDataSource("Feljegyzesek");
DataFeljegyzesek.DataSource = DsDataFeljegyzesek;
Relation rel6 = new Relation();
rel6.Name = "TanuloFeljegyzeseik";
rel6.ParentDataSource = tanuloAlapadatok;
rel6.ChildDataSource = DsDataFeljegyzesek;
rel6.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel6.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel6);
DsDataFeljegyzesek.Init(tanuloAlapadatok);
// Tanulók felmentései
DataSourceBase DsDataFelmentesek = Report.GetDataSource("Felmentesek");
DataFelmentesek.DataSource = DsDataFelmentesek;
Relation rel60 = new Relation();
rel60.Name = "TanuloFelmentesei";
rel60.ParentDataSource = tanuloAlapadatok;
rel60.ChildDataSource = DsDataFelmentesek;
rel60.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel60.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel60);
DsDataFelmentesek.Init(tanuloAlapadatok);
// Tanulóhoz tartozó közösségi szolgálat
DataSourceBase tanuloKozossegiSzolgalat = Report.GetDataSource("TanuloKozossegiSzolgalat");
DataTanuloKozossegiSz.DataSource = tanuloKozossegiSzolgalat;
Relation rel478 = new Relation();
rel478.Name = "TanuloKozossegiSz";
rel478.ParentDataSource = tanuloAlapadatok;
rel478.ChildDataSource = tanuloKozossegiSzolgalat;
rel478.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel478.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel478);
tanuloKozossegiSzolgalat.Init(tanuloAlapadatok);
// Feljegyzls a Tanulóhoz tartozó közösségi szolgálathoz
DataSourceBase tanuloKozossegiSzolgalatFeljegyzesei = Report.GetDataSource("FeljegyzesKozossegiSzolgalat");
DataFeljegyzesKozossegiSzolgalat.DataSource = tanuloKozossegiSzolgalatFeljegyzesei;
Relation rel4787 = new Relation();
rel4787.Name = "TanuloKozossegiSza";
rel4787.ParentDataSource = tanuloAlapadatok;
rel4787.ChildDataSource = tanuloKozossegiSzolgalatFeljegyzesei;
rel4787.ParentColumns = new string[] { "TanuloId", "TanuloCsoportId" };
rel4787.ChildColumns = new string[] { "TanuloId", "TanuloCsoportId" };
Report.Dictionary.Relations.Add(rel4787);
tanuloKozossegiSzolgalatFeljegyzesei.Init(tanuloAlapadatok);
if (Report.Parameters.FindByName("FejlecMegjelenites").Value.ToString() == "False")
{
FejlecTable.Visible = false;
}
if (Report.Parameters.FindByName("AdatokMegjelenites").Value.ToString() == "False")
{
Page1.Visible = false;
Page3.Visible = false;
ErtekelesTable.Visible = false;
MulasztasokTable.Visible = false;
HatarozatFejlecTable.Visible = false;
CellHatarozat.Text = "";
HatarozatTable.Visible = false;
FeljegyzesekFejlecTable.Visible = false;
FeljegyzesekTable.Visible = false;
KozossegiSzolgalatFejlecTable.Visible = false;
KozossegiSzolgalatTable.Visible = false;
ErtekelesFejlecTable.Visible = false;
Table25.Visible = false;
FelmenesekFejlecTable.Visible = false;
Table22.Visible = false;
Table23.Visible = false;
Table24.Visible = false;
Table27.Visible = false;
Table26.Visible = false;
Table1.Visible = false;
Table18.Visible = false;
Table20.Visible = false;
Table19.Visible = false;
}
if (Report.Parameters.FindByName("FejlecMegjelenites").Value.ToString() == "False" && Report.Parameters.FindByName("AdatokMegjelenites").Value.ToString() == "False")
{
Page1.Visible = false;
Page2.Visible = false;
Page3.Visible = false;
}
if (Report.Parameters.FindByName("FejlecMegjelenites").Value.ToString() == "False" && Report.Parameters.FindByName("AdatokMegjelenites").Value.ToString() == "True")
{
foreach(ReportComponentBase a in Page4.PageHeader.ChildObjects)
{
a.Visible = false;
}
}
if (Report.Parameters.FindByName("OraEvesSorszamMegjelenjen").Value.ToString() == "True")
{
Cell734.ColSpan = 1;
Cell735.Text = "Éves összes óraszám";
TantargyNevTablazatosCell.ColSpan = 1;
CellOraszam.Text = "[Ertekeles.Oraszam]";
}
if (Report.Parameters.FindByName("GondviseloAdatok").Value.ToString() == "False")
{
CellGondviselo.Visible = false;
}
bool SNI, SNIUresen, is20_21OrLater;
Boolean.TryParse(Report.Parameters.FindByName("SNI").Value.ToString(), out SNI);
Boolean.TryParse(Report.Parameters.FindByName("SNIAdatokMegjeleniteseUresen").Value.ToString(), out SNIUresen);
Boolean.TryParse(Report.Parameters.FindByName("is20_21OrLater").Value.ToString(), out is20_21OrLater);
if (SNI || SNIUresen)
{
DataHeader6.Visible = true;
DataTanuloSni.Visible = true;
if (!SNIUresen || (SNIUresen && is20_21OrLater))
{
Cell764.Text = "[TanuloSNI.SNIKiallitoIntezmeny]";
Cell747.Text = "[TanuloSNI.SNIOkmanyszamok]";
Cell752.Text = "[TanuloSNI.SNIKezdete]";
Cell757.Text = "[TanuloSNI.SNIKontrolIdopont]";
}
DataSourceBase studentSNI = Report.GetDataSource("TanuloSNI");
DataTanuloSni.DataSource = studentSNI;
Relation rel480 = new Relation();
rel480.Name = "TanuloElerSNI";
rel480.ParentDataSource = tanuloAlapadatok;
rel480.ChildDataSource = studentSNI;
rel480.ParentColumns = new string[] { "TanuloId" };
rel480.ChildColumns = new string[] { "TanuloId" };
Report.Dictionary.Relations.Add(rel480);
studentSNI.Init(tanuloAlapadatok);
}
if (Report.Parameters.FindByName("BTM").Value.ToString() == "True")
{
DataHeader7.Visible = true;
DataTanuloBtm.Visible = true;
Cell776.Text = "[TanuloBTM.BTMKiallitoIntezmeny]";
Cell782.Text = "[TanuloBTM.BTMOkmanyszamok]";
Cell785.Text = "[TanuloBTM.BTMKezdete]";
Cell788.Text = "[TanuloBTM.BTMKontrolIdopont]";
DataSourceBase studentBTM = Report.GetDataSource("TanuloBTM");
DataTanuloBtm.DataSource = studentBTM;
Relation rel481 = new Relation();
rel481.Name = "TanuloElerBTM";
rel481.ParentDataSource = tanuloAlapadatok;
rel481.ChildDataSource = studentBTM;
rel481.ParentColumns = new string[] { "TanuloId" };
rel481.ChildColumns = new string[] { "TanuloId" };
Report.Dictionary.Relations.Add(rel481);
studentBTM.Init(tanuloAlapadatok);
}
if (Report.Parameters.FindByName("OKJ").Value.ToString() == "True")
{
OKJ.Text = "[Tanulok.SzakmaJegyzekAndOkj]";
}
// Tanulólista
DataSourceBase DsDataTanuloLista = Report.GetDataSource("TanuloLista");
DataTanuloLista.DataSource = DsDataTanuloLista;
Relation relOTL = new Relation();
relOTL.ParentDataSource = osztalyDS;
relOTL.ChildDataSource = DsDataTanuloLista;
relOTL.ParentColumns = new string[] {"OsztalyId"};
relOTL.ChildColumns = new string[] {"OsztalyId"};
Report.Dictionary.Relations.Add(relOTL);
DsDataTanuloLista.Init(osztalyDS);
// Hitelesítés
DataSourceBase hitelesitesDS = Report.GetDataSource("Fejlec");
Data2.DataSource = hitelesitesDS;
Relation relOH = new Relation();
relOH.ParentDataSource = osztalyDS;
relOH.ChildDataSource = hitelesitesDS;
relOH.ParentColumns = new string[] {"OsztalyId"};
relOH.ChildColumns = new string[] {"OsztalyId"};
Report.Dictionary.Relations.Add(relOH);
hitelesitesDS.Init(osztalyDS);
int fontSizeDifference = (int)Report.GetParameterValue("FontSizeDifference");
SetCellsFont(Table7.Rows, fontSizeDifference);
SetCellsFont(Table5.Rows, fontSizeDifference);
SetCellsFont(Table3.Rows, fontSizeDifference);
SetCellsFont(FejlecTable.Rows, fontSizeDifference);
SetCellsFont(ErtekelesFejlecTable.Rows, fontSizeDifference);
SetCellsFont(ErtekelesTable.Rows, fontSizeDifference);
SetCellsFont(Table5F.Rows, fontSizeDifference);
SetCellsFont(Table6F.Rows, fontSizeDifference);
SetCellsFont(MulasztasokTable.Rows, fontSizeDifference);
SetCellsFont(HatarozatFejlecTable.Rows, fontSizeDifference);
SetCellsFont(HatarozatTable.Rows, fontSizeDifference);
SetCellsFont(FelmenesekFejlecTable.Rows, fontSizeDifference);
SetCellsFont(Table22.Rows, fontSizeDifference);
SetCellsFont(Table18.Rows, fontSizeDifference);
SetCellsFont(Table1.Rows, fontSizeDifference);
SetCellsFont(Table19.Rows, fontSizeDifference);
SetCellsFont(Table20.Rows, fontSizeDifference);
SetCellsFont(FeljegyzesekFejlecTable.Rows, fontSizeDifference);
SetCellsFont(FeljegyzesekTable.Rows, fontSizeDifference);
SetCellsFont(KozossegiSzolgalatFejlecTable.Rows, fontSizeDifference);
SetCellsFont(KozossegiSzolgalatTable.Rows, fontSizeDifference);
SetCellsFont(Table27.Rows, fontSizeDifference);
SetCellsFont(Table24.Rows, fontSizeDifference);
SetCellsFont(Table28.Rows, fontSizeDifference);
SetCellsFont(Table4.Rows, fontSizeDifference);
SetCellsFont(Table2.Rows, fontSizeDifference);
SetCellsFont(Table6.Rows, fontSizeDifference);
string alulirottMegnevezese = Report.Parameters.FindByName("AlulirottMegnevezese").Value.ToString();
int index = alulirottMegnevezese.IndexOf(" - ");
string nev = alulirottMegnevezese.Substring(0, index).Trim();
string beosztas = alulirottMegnevezese.Substring(index + " - ".Length).Trim();
Cell851.Text = nev + "\r\n" + beosztas;
Cell854.Text = Cell851.Text;
Cell219.Text = beosztas;
}
private void SetCellsFont(TableRowCollection rows, int fontSizeDifference) {
foreach(TableRow row in rows)
{
foreach(TableCell cell in row.ChildObjects)
{
SetTextFont(cell, fontSizeDifference);
}
}
}
private void SetChildObjects(ReportComponentCollection collection, int fontSizeDifference)
{
foreach(ReportComponentBase text in collection)
{
if (text is TextObject)
{
SetTextFont((TextObject)text, fontSizeDifference);
}
}
}
private void SetTextFont(TextObject text, int fontSizeDifference) {
int fontSizeCorrection = ((fontSizeDifference != 0) && (text.Font.Size > 14)) ? 1 : 0;
Font font = new Font(text.Font.FontFamily, text.Font.Size - (fontSizeDifference + fontSizeCorrection), text.Font.Style);
text.Font = font;
}
private void _StartReport(object sender, EventArgs e)
{
bool isCsakTorzslapOldal = (bool)Report.Parameters.FindByName("isCsakTorzslapOldal").Value;
Subreport1.Visible = !isCsakTorzslapOldal;
Subreport2.Visible = !isCsakTorzslapOldal;
Subreport3.Visible = !isCsakTorzslapOldal;
if (isCsakTorzslapOldal)
{
DataTanuloAlapadatok.FirstRowStartsNewPage = false;
}
int kotesMargoTipus = (int)Report.Parameters.FindByName("KotesMargoTipus").Value;
if (kotesMargoTipus > 0)
{
SetKotesMargohoz(kotesMargoTipus > 1, kotesMargoTipus == 3);
}
}
private void SetKotesMargohoz(bool isKetoldalas, bool isForditottKetoldalas)
{
foreach(ReportPage page in Report.Pages)
{
if (!isForditottKetoldalas)
{
page.LeftMargin = margo;
}
else
{
page.RightMargin = margo;
}
page.MirrorMargins = isKetoldalas;
foreach(Object obj in page.AllObjects)
{
if (obj is TableObject)
{
TableObject table = obj as TableObject;
table.Width -= (margo * 2);
float szumColWidth = 0;
for(int i = 0; i < table.ColumnCount; i++)
{
TableColumn column = table.Columns[i];
if (i < (table.ColumnCount - 1))
{
column.Width -= (margo * 2)/table.ColumnCount;
szumColWidth += column.Width;
}
else
{
column.Width = table.Width - szumColWidth;
}
}
}
}
}
}
private void Page4_StartPage(object sender, EventArgs e)
{
}
}
}