init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,371 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
|
||||
{
|
||||
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
|
||||
{
|
||||
private ActionResult Osztalynaplok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model, NyomtatvanyEnum nyomtatvanyTipus = NyomtatvanyEnum.Naplo, Enums.DokumentumTipusEnum dokumentumTipus = Enums.DokumentumTipusEnum.Osztalynaplo)
|
||||
{
|
||||
var OutPut = new MemoryStream();
|
||||
var ZipOutPut = new ZipOutputStream(OutPut);
|
||||
|
||||
try
|
||||
{
|
||||
var mentesNaplozarasba = nyomtatvanyTipus == NyomtatvanyEnum.Naplo;
|
||||
|
||||
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
|
||||
|
||||
var minTanoraSzam = GetMinTanoraSzam();
|
||||
|
||||
var isSzovegesNaplo = model.HaladasiNaploFormatumId == 1 || nyomtatvanyTipus == NyomtatvanyEnum.OsztalyozoNaplo;
|
||||
|
||||
var isEllenorzo = nyomtatvanyTipus == NyomtatvanyEnum.Ellenorzo;
|
||||
|
||||
var buffer = new byte[Constants.General.BufferSize];
|
||||
|
||||
string nyomtatvanyNeve;
|
||||
|
||||
bool isHaladasiNaplo = false, isOsztalyozoNaplo = false;
|
||||
|
||||
if ((model.HaladasiNaploFormatumId == (int)HaladasiNaploFormatumEnum.A4) && (nyomtatvanyTipus != NyomtatvanyEnum.HaladasiNaplo))
|
||||
{
|
||||
nyomtatvanyTipus = NyomtatvanyEnum.Naplo_szoveges;
|
||||
}
|
||||
|
||||
switch (nyomtatvanyTipus)
|
||||
{
|
||||
case NyomtatvanyEnum.Naplo_szoveges:
|
||||
nyomtatvanyNeve = model.FuggolegesTantargyak ? NyomtatvanyEnum.Naplo_szoveges_fuggoleges.ToString() : NyomtatvanyEnum.Naplo_szoveges.ToString();
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.Naplo:
|
||||
nyomtatvanyNeve = model.FuggolegesTantargyak ? NyomtatvanyEnum.Naplo_fuggoleges.ToString() : NyomtatvanyEnum.Naplo.ToString();
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.OsztalyozoNaplo:
|
||||
nyomtatvanyNeve = model.FuggolegesTantargyak ? NyomtatvanyEnum.Naplo_fuggoleges.ToString() : NyomtatvanyEnum.Naplo.ToString();
|
||||
isOsztalyozoNaplo = true;
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.HaladasiNaplo:
|
||||
nyomtatvanyNeve = (model.HaladasiNaploFormatumId == (int)HaladasiNaploFormatumEnum.A4) ? NyomtatvanyEnum.Naplo_szoveges.ToString() : NyomtatvanyEnum.Naplo.ToString();
|
||||
isHaladasiNaplo = true;
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.Ellenorzo:
|
||||
nyomtatvanyNeve = NyomtatvanyEnum.Ellenorzo.ToString();
|
||||
break;
|
||||
|
||||
default:
|
||||
nyomtatvanyNeve = NyomtatvanyEnum.Naplo.ToString();
|
||||
break;
|
||||
}
|
||||
|
||||
var orarendErvenyessegiDatum = model.OrarendErvenyessegiDatum;
|
||||
if (model.OrarendErvenyessegiDatum == DateTime.MinValue)
|
||||
{
|
||||
orarendErvenyessegiDatum = DateTime.Now;
|
||||
}
|
||||
|
||||
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
|
||||
List<int> osztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
|
||||
if (osztalyIdList.Count == 0)
|
||||
{
|
||||
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
|
||||
}
|
||||
|
||||
var nyomtatvanyokHelper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var osztalyId in osztalyIdList)
|
||||
{
|
||||
var ds = nyomtatvanyokHelper.GetOsztalynaplo(osztalyId, ClaimData.AktivTanevID, isIskolaerdekuSzamit, model.FuggolegesTantargyak, model.ReszletesMulasztasok, model.EgyebFoglalkozasok, minTanoraSzam, orarendErvenyessegiDatum, isEllenorzo, isSzovegesNaplo, model.NaploZaras, osztalyTanuloOrarendbenNemLatszik: true, isMagatartasSzorgalomNemLatszik: !model.MagatartasSzorgalomMegjelenitese);
|
||||
int orarendUtolsoNapja = nyomtatvanyokHelper.GetOrarendUtolsoNapja(ds.Tables["Orarend"]);
|
||||
|
||||
var parameters = new Dictionary<string, object>
|
||||
{
|
||||
{"pTargy", StringResourcesUtil.GetString(252)},
|
||||
{"pJan", StringResourcesUtil.GetString(198)},
|
||||
{"pFeb", StringResourcesUtil.GetString(199)},
|
||||
{nameof(orarendUtolsoNapja), orarendUtolsoNapja}
|
||||
};
|
||||
|
||||
string osztalyNev;
|
||||
if (ds.Tables.Count > 0 && ds.Tables["Fejlec"] != null && ds.Tables["Fejlec"].Rows.Count > 0 && ds.Tables["Fejlec"].Columns.Contains("OsztalyNev"))
|
||||
{
|
||||
osztalyNev = ds.Tables["Fejlec"].Rows[0]["OsztalyNev"].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
osztalyNev = StringResourcesUtil.GetString(435); /*Osztály név megadása kötelező!*/
|
||||
}
|
||||
|
||||
parameters.Add("OsztalyNev", osztalyNev);
|
||||
|
||||
if (ds.Tables.Count > 0 && ds.Tables["Fejlec"] != null && ds.Tables["Fejlec"].Rows.Count > 0)
|
||||
{
|
||||
parameters.Add("MaxOraszam", ds.Tables["Fejlec"].Rows[0]["MaxOraszam"].ToString());
|
||||
parameters.Add("MinOraszam", ds.Tables["Fejlec"].Rows[0]["MinOraszam"].ToString());
|
||||
}
|
||||
|
||||
var oszlopok = new List<string>();
|
||||
for (var i = 11; i < ds.Tables["NaploAdatok"].Columns.Count; i++)
|
||||
{
|
||||
oszlopok.Add(ds.Tables["NaploAdatok"].Columns[i].ColumnName);
|
||||
}
|
||||
|
||||
parameters.Add("Oszlopok", oszlopok.ToArray());
|
||||
|
||||
var ertoszlopok = new List<string>();
|
||||
for (var i = 0; i < ds.Tables["TanuloTantargyiErtekelesei"].Columns.Count; i++)
|
||||
{
|
||||
ertoszlopok.Add(ds.Tables["TanuloTantargyiErtekelesei"].Columns[i].ColumnName);
|
||||
}
|
||||
|
||||
ertoszlopok.Remove("periodusId");
|
||||
ertoszlopok.Remove("tanuloID");
|
||||
ertoszlopok.Remove("TanuloCsoportId");
|
||||
|
||||
parameters.Add("ErtekelesOszlopok", ertoszlopok.ToArray());
|
||||
parameters.Add("isLezartNaplo", model.NaploZaras);
|
||||
parameters.Add("ElmeletGyakorlat", model.ElmeletGyakorlatKulon.ToString());
|
||||
parameters.Add("FeljegyzesHaviBontas", model.FeljegyzesHaviBontas.ToString());
|
||||
parameters.Add("FontSizeDifference", model.BetuMeret.AsInt());
|
||||
|
||||
var nevmodel = new NyomtatvanyNevGeneralasModel() { OsztalyCsoportId = osztalyId, TanevID = ClaimData.SelectedTanevID.Value };
|
||||
|
||||
parameters.Add(nameof(isOsztalyozoNaplo), isOsztalyozoNaplo);
|
||||
parameters.Add(nameof(isHaladasiNaplo), isHaladasiNaplo);
|
||||
parameters.Add("AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text);
|
||||
|
||||
parameters.Add(nameof(model.EvfolyamSzerepelteteseTanuloiAdatokKozott), model.EvfolyamSzerepelteteseTanuloiAdatokKozott);
|
||||
parameters.Add(nameof(ClaimData.IsSelectedTanev20_21OrLater), ClaimData.IsSelectedTanev20_21OrLater);
|
||||
parameters.Add(nameof(ClaimData.IsSelectedTanev21_22OrLater), ClaimData.IsSelectedTanev21_22OrLater);
|
||||
|
||||
parameters.Add("IsZaradekDatumVisible", model.ZaradekKeltMegjelenites);
|
||||
|
||||
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
|
||||
|
||||
if (model.Iktatas)
|
||||
{
|
||||
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, Enums.DokumentumElemiSzintEnum.Osztaly);
|
||||
}
|
||||
|
||||
if ((osztalyIdList.Count > 1) && !model.Iktatas)
|
||||
{
|
||||
AddNyomtatvanyMintZipEntry(ZipOutPut, ds, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas(nyomtatvanyTipus.ToString(), nevmodel), dokumentumTipus: dokumentumTipus);
|
||||
if (model.NaploZaras && mentesNaplozarasba)
|
||||
{
|
||||
nyomtatvanyokHelper.MentesNaplozarasParameterRendszerbeallitasba(osztalyId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var ret = Nyomtatas(ds, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas(nyomtatvanyTipus.ToString(), nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyTipus.ToString(), nevmodel, true), osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, dokumentumKategoria: DokumentumKategoriaEnum.Naplok, dokumentumTipus: dokumentumTipus, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
|
||||
if (model.NaploZaras && mentesNaplozarasba)
|
||||
{
|
||||
nyomtatvanyokHelper.MentesNaplozarasParameterRendszerbeallitasba(osztalyId);
|
||||
}
|
||||
if (osztalyIdList.Count == 1)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZipOutPut.Finish();
|
||||
|
||||
OutPut.Position = 0;
|
||||
|
||||
if (!model.Iktatas)
|
||||
{
|
||||
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
|
||||
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
|
||||
{
|
||||
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private ActionResult Csoportnaplok(NyomtatvanyModel model, NyomtatvanyEnum nye, Enums.DokumentumTipusEnum dokumentumTipus)
|
||||
{
|
||||
var OutPut = new MemoryStream();
|
||||
var ZipOutPut = new ZipOutputStream(OutPut);
|
||||
|
||||
try
|
||||
{
|
||||
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
|
||||
|
||||
var buffer = new byte[Constants.General.BufferSize];
|
||||
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : (OktNevelesiKategoriaEnum?)null;
|
||||
|
||||
List<int> csoportIdList = GetCsoportIdList(model.CsoportIdList, oktNevKategoria);
|
||||
if (csoportIdList.Count == 0)
|
||||
{
|
||||
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
|
||||
}
|
||||
foreach (var csoportId in csoportIdList)
|
||||
{
|
||||
DataSet ds;
|
||||
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
switch (nye)
|
||||
{
|
||||
case NyomtatvanyEnum.CsoportNaplo:
|
||||
(int, int)? jelenletAdatok = null;
|
||||
if (model.JelenletAdatokMegjelenitese)
|
||||
{
|
||||
jelenletAdatok = ((int)model.JelenletAdatokOsszesitese, (int)model.JelenletTablazatElrendezese);
|
||||
}
|
||||
ds = helper.GetCsoportNaplo(csoportId, model.GyakorlatiOrakMegjelenites, model.ElmeletiOrakMegjelenites, isIskolaerdekuSzamit, model.CsoportnaploTanulokSorrendje, jelenletAdatok, isMagatartasSzorgalomNemLatszik: !model.MagatartasSzorgalomMegjelenitese);
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.NapkozisNaplo:
|
||||
ds = helper.GetNapkozisNaplo(csoportId, isIskolaerdekuSzamit, model.CsoportnaploTanulokSorrendje);
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.SzakmaiGyNaplo:
|
||||
ds = helper.GetSzakmaiGyNaplo(csoportId, isIskolaerdekuSzamit, model.CsoportnaploTanulokSorrendje);
|
||||
break;
|
||||
|
||||
case NyomtatvanyEnum.EgyebFoglalkozasiNaplo:
|
||||
ds = helper.GetEgyebFoglalkozasiNaplo(csoportId, isIskolaerdekuSzamit, model.CsoportnaploTanulokSorrendje);
|
||||
break;
|
||||
|
||||
default:
|
||||
ds = helper.GetCsoportNaplo(csoportId, model.GyakorlatiOrakMegjelenites, model.ElmeletiOrakMegjelenites, isIskolaerdekuSzamit, model.CsoportnaploTanulokSorrendje);
|
||||
break;
|
||||
}
|
||||
|
||||
var parameters = new Dictionary<string, object>
|
||||
{
|
||||
{"isLezartNaplo", model.NaploZaras},
|
||||
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
|
||||
{"JelenletAdatokOsszesitese", (int)model.JelenletAdatokOsszesitese },
|
||||
{"JelenletTablazatElrendezese", (int)model.JelenletTablazatElrendezese },
|
||||
{ "FelevHetsorszam", ds.Tables["JelenletFelevEvvegeHetsorszam"] != null ? ds.Tables["JelenletFelevEvvegeHetsorszam"].Rows[0]["FelevHetsorszam"] : -1 },
|
||||
{ "UtolsoTanitasiNapHetsorszam", ds.Tables["JelenletFelevEvvegeHetsorszam"] != null ? ds.Tables["JelenletFelevEvvegeHetsorszam"].Rows[0]["UtolsoTanitasiNapHetsorszam"] : -1 },
|
||||
{ "isJelenletAdatokTablakkal", model.JelenletAdatokMegjelenitese },
|
||||
{ "IsZaradekDatumVisible", model.ZaradekKeltMegjelenites }
|
||||
};
|
||||
|
||||
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, OsztalyCsoportId = csoportId };
|
||||
|
||||
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
|
||||
|
||||
if (model.Iktatas)
|
||||
{
|
||||
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, Enums.DokumentumElemiSzintEnum.Csoport);
|
||||
}
|
||||
|
||||
if ((csoportIdList.Count > 1) && !model.Iktatas)
|
||||
{
|
||||
AddNyomtatvanyMintZipEntry(ZipOutPut, ds, nye.ToString(), parameters, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), dokumentumTipus: dokumentumTipus);
|
||||
}
|
||||
else
|
||||
{
|
||||
var ret = Nyomtatas(ds, nye.ToString(), parameters, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel, true), osztalyId: csoportId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, dokumentumKategoria: DokumentumKategoriaEnum.Naplok, dokumentumTipus: dokumentumTipus, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
|
||||
if (csoportIdList.Count == 1)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZipOutPut.Finish();
|
||||
|
||||
OutPut.Position = 0;
|
||||
|
||||
if (!model.Iktatas)
|
||||
{
|
||||
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
|
||||
|
||||
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
|
||||
{
|
||||
FileDownloadName = $"{CommonExtensions.NevGeneralas(nye.ToString(), zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
#region Osztály naplók
|
||||
public ActionResult OsztalyNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Osztalynaplok(model, NyomtatvanyEnum.Naplo, Enums.DokumentumTipusEnum.Osztalynaplo);
|
||||
}
|
||||
|
||||
public ActionResult HaladasiNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Osztalynaplok(model, NyomtatvanyEnum.HaladasiNaplo, Enums.DokumentumTipusEnum.HaladasiNaplo);
|
||||
}
|
||||
|
||||
public ActionResult OsztalyozoNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Osztalynaplok(model, NyomtatvanyEnum.OsztalyozoNaplo, Enums.DokumentumTipusEnum.OsztalyozoNaplo);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Csoport naplók
|
||||
public ActionResult CsoportNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Csoportnaplok(model, NyomtatvanyEnum.CsoportNaplo, Enums.DokumentumTipusEnum.CsoportNaplo);
|
||||
}
|
||||
|
||||
public ActionResult NapkozisNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Csoportnaplok(model, NyomtatvanyEnum.NapkozisNaplo, Enums.DokumentumTipusEnum.NapkozisCsoportNaploja);
|
||||
}
|
||||
|
||||
public ActionResult SzakmaiGyNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Csoportnaplok(model, NyomtatvanyEnum.SzakmaiGyNaplo, Enums.DokumentumTipusEnum.GyakorlatiFoglalkozasrolVezetettNaplo);
|
||||
}
|
||||
|
||||
public ActionResult EgyebFoglalkozasiNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
||||
NyomtatvanyModel model)
|
||||
{
|
||||
return Csoportnaplok(model, NyomtatvanyEnum.EgyebFoglalkozasiNaplo, Enums.DokumentumTipusEnum.EgyebFoglalkozasiNaplo);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue