This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,201 @@
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.HelperClasses.Dokumentum;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Web.Areas.Nyomtatvanyok.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Nyomtatvanyok.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class IktatottDokumentumokApiController : ApiController
{
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
public IktatottDokumentumokApiController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
IktatoRepositoryFactory = iktatoRepositoryFactory;
IktatoServiceConfiguration = iktatoServiceConfiguration;
}
public DataSourceResult GetIktatottDokumentumokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
IktatottDokumentumokSearchModel model = JsonConvert.DeserializeObject<IktatottDokumentumokSearchModel>(data);
var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
int? fID, gID;
phelper.GridParameters = Converter.GridParameter(request);
if (ClaimData.GondviseloId.HasValue)
{
gID = ClaimData.GondviseloId;
fID = null;
}
else
{
gID = null;
fID = ClaimData.FelhasznaloId;
}
var dokumentumok = phelper.GetFelhasznaloIktatottDokumentumai(new IktatottDokumentumSearchCo
{
TanevId = ClaimData.SelectedTanevID.Value,
IntezmenyId = ClaimData.IntezmenyId,
DokumentumKategoria = model.Kategoria,
DokumentumTipus = model.DokumentumTipus,
FeladatEllatasihely = model.FeladatellatasihelyId,
AlkalmazottId = fID,
OsztalyId = model.OsztalyId,
EvfolyamId = model.EvfolyamId,
KepzesTipusId = model.KepzesTipusId,
OsztalyFonokId = model.OsztalyfonokId,
TantervId = model.TantervId,
OsztalyjellemzoId = model.Osztalyjellemzo,
SzakcsoportId = model.Szakcsoport,
AgazatId = model.Agazat,
SzakkepesitesId = model.Szakkepesites,
ReszszakkepesitesId = model.Reszszakkepesites,
CsoportId = model.CsoportId,
CsoporttipusId = model.CsoporttipusId,
CsoportjellemzoId = model.Csoportjellemzo,
TanuloNeve = model.TanuloNeve,
AlkalmazottIdS = model.AlkalmazottId,
TanuloOktAzon = model.TanuloOktAzon,
AlkalmazottOktAzon = model.AlkalmazottOktAzon,
GondviseloNeve = model.GondviseloNeve,
DokumentumNeve = model.DokumentumNeve,
Iktatoszam = model.Iktatoszam,
IktatasDatumaTol = model.IktatasDatumaTol,
IktatasDatumaIg = model.IktatasDatumaIg,
IktatoSzemely = model.IktatoSzemelye,
DokumentumStatusz = model.DokumentumStatusz,
});
return dokumentumok.ToDataSourceResult();
}
public DataSourceResult GetIktatottDokumentumokDetailGrid(int foszamosDokumentumId, string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
IktatottDokumentumokSearchModel model = JsonConvert.DeserializeObject<IktatottDokumentumokSearchModel>(data);
var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
int? fID, gID;
phelper.GridParameters = Converter.GridParameter(request);
if (ClaimData.GondviseloId.HasValue)
{
gID = ClaimData.GondviseloId;
fID = null;
}
else
{
gID = null;
fID = ClaimData.FelhasznaloId;
}
var dokumentumok = phelper.GetFelhasznaloIktatottDokumentumai(new IktatottDokumentumSearchCo
{
TanevId = ClaimData.SelectedTanevID.Value,
IntezmenyId = ClaimData.IntezmenyId,
DokumentumKategoria = model.Kategoria,
DokumentumTipus = model.DokumentumTipus,
FeladatEllatasihely = model.FeladatellatasihelyId,
AlkalmazottId = fID,
OsztalyId = model.OsztalyId,
EvfolyamId = model.EvfolyamId,
KepzesTipusId = model.KepzesTipusId,
OsztalyFonokId = model.OsztalyfonokId,
TantervId = model.TantervId,
OsztalyjellemzoId = model.Osztalyjellemzo,
SzakcsoportId = model.Szakcsoport,
AgazatId = model.Agazat,
SzakkepesitesId = model.Szakkepesites,
ReszszakkepesitesId = model.Reszszakkepesites,
CsoportId = model.CsoportId,
CsoporttipusId = model.CsoporttipusId,
CsoportjellemzoId = model.Csoportjellemzo,
TanuloNeve = model.TanuloNeve,
AlkalmazottIdS = model.AlkalmazottId,
TanuloOktAzon = model.TanuloOktAzon,
AlkalmazottOktAzon = model.AlkalmazottOktAzon,
GondviseloNeve = model.GondviseloNeve,
DokumentumNeve = model.DokumentumNeve,
Iktatoszam = model.Iktatoszam,
IktatasDatumaTol = model.IktatasDatumaTol,
IktatasDatumaIg = model.IktatasDatumaIg,
IktatoSzemely = model.IktatoSzemelye,
DokumentumStatusz = model.DokumentumStatusz,
FoszamosDokumentumId = foszamosDokumentumId,
});
return dokumentumok.ToDataSourceResult();
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumKategoriaList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumKategoria, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumTipusList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumSzakcsoportList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakmacsoportTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumAgazatList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.AgazatTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumSzakkepesitesList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzakkepesitesTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumReszszakkepesitesList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ReszszakkepesitesTipus, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetOsztalyJellemezoList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = EnumExtensions.EnumToDictionary<Enums.ManualEnums.OsztalyJellemzoEnum>(ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetCsoportJellemezoList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = EnumExtensions.EnumToDictionary<Enums.ManualEnums.CsoportJellemzoEnum>(ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
public System.Web.Http.Results.JsonResult<List<ComboBoxListItem>> GetDokumentumStatuszList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DokumentumStatusz, ClaimData.SelectedTanevID.Value, false);
return Json(dictionary.ToComboBoxItemList());
}
}
}

View file

@ -0,0 +1,40 @@
using System.IO;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.Enums.ManualEnums;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public abstract class BaseNyomtatvanyokController : Controller
{
protected void AddZipEntry(ZipOutputStream zipOutput, Stream fileContent, string nyomtatvanyNeve, int? formatumId = null)
{
var buffer = new byte[Constants.General.BufferSize];
var entry = new ZipEntry(formatumId.HasValue ? $"{nyomtatvanyNeve}.{GetNyomtatvanyFileFormat(formatumId.Value)}" : nyomtatvanyNeve);
zipOutput.PutNextEntry(entry);
int sourceBytes;
do
{
sourceBytes = fileContent.Read(buffer, 0, buffer.Length);
zipOutput.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
protected string GetNyomtatvanyFileFormat(int formatumId)
{
switch (formatumId)
{
case (int)NyomtatvanyFormatumEnum.Word:
return Constants.ImportExport.FileFormatWord;
case (int)NyomtatvanyFormatumEnum.PDF:
return Constants.ImportExport.FileFormatPdf;
case (int)NyomtatvanyFormatumEnum.Excel:
return Constants.ImportExport.FileFormatXlsx;
default:
return Constants.ImportExport.FileFormatPdf;
}
}
}
}

View file

@ -0,0 +1,140 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Web;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Iktatas;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Nyomtatvanyok.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(TanevEnum.AktEsLezartTanev, KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsLezartTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class IktatottDokumentumokController : BaseNyomtatvanyokController
{
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
public IktatottDokumentumokController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
IktatoRepositoryFactory = iktatoRepositoryFactory;
IktatoServiceConfiguration = iktatoServiceConfiguration;
}
public ActionResult Index()
{
var model = new IktatottDokumentumokSearchModel();
return View("Index", model);
}
public ActionResult IktatottDokumentumokDetail(int id)
{
return PartialView(id);
}
[HttpPost]
public ActionResult DokumentumLetoltese(int iktatottDokumentumId)
{
try
{
var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
var (fajlnev, tartalom) = phelper.Lekeres(iktatottDokumentumId.ToString());
return new FileContentResult(tartalom, MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode(fajlnev, Encoding.UTF8),
};
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.NotFound, ex.Message, ex);
}
}
[HttpPost]
public ActionResult DokumentumTobbesLetoltese(List<TobbesLetoltesModel> letoltendoDokumentumok)
{
var hasEntry = false;
var errors = new List<string>();
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
foreach (var letoltendoDokumentum in letoltendoDokumentumok)
{
try
{
var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
var (fajlnev, tartalom) = phelper.Lekeres(letoltendoDokumentum.IktatottDokumentumId.ToString());
if (tartalom.Length == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
using (var ms = new MemoryStream(tartalom))
{
hasEntry = true;
AddZipEntry(ZipOutPut, ms, fajlnev);
}
}
catch (Exception ex)
{
errors.Add(string.Format(NyomtatvanyokResource.TobbesLetoltesHibasDokumentumFormatum, letoltendoDokumentum.FajlNev, ex.Message));
}
}
ZipOutPut.Finish();
OutPut.Position = 0;
var errorMessages = errors.Count > 0 ? string.Format(NyomtatvanyokResource.TobbesLetoltesHibasDokumentumListaFormatum, string.Join(Environment.NewLine, errors)) : "";
if (hasEntry)
{
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var nyomtatvanyNeve = NyomtatvanyokResource.TobbesLetotesNyomtatvanyNeve;
var fileNev = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}";
return new FileContentResult(OutPut.ToArray(), MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode(fileNev, Encoding.UTF8),
};
}
throw new StatusError(HttpStatusCode.NotFound, errorMessages);
}
[HttpPost]
public ActionResult OpenKulcsszoInfoPopUp(int iktatottDokumentumId)
{
var helper = new KulcsszoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var infoModel = helper.GetKulcsszoTipusErtekParos(iktatottDokumentumId);
var model = new Web.Models.EditorTemplates.PopUpModel(infoModel, "Info_PopUp");
model.AddCancelBtn(model, "DokumentumokHelper.kulcsszoInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
[HttpPost]
public ActionResult IktatasUjrainditasa(int iktatottDokumentumId)
{
var helper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
helper.RestartIktatasJob(iktatottDokumentumId);
return new EmptyResult();
}
}
}

View file

@ -0,0 +1,746 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Excel;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
public ActionResult AltalanosTanuloiGeneralas(NyomtatvanyModel model, string frxNyomtatvanyNeve, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum? dokumentumTipus, System.Reflection.MethodInfo metodus, int osztalyIdParameterOrder, IDictionary<string, object> dataSetParameterek, Dictionary<string, object> frxParameterek, string nyomtatvanyNeve = null, string excludedTables = null, string distinctTables = null, bool isCsoport = false, string tablakFilterByTanuloId = "", string tanuloIdColumnName = "", BaseNyomtatvanyExcelWithDataSet formazottExcelGenerator = null, string emptyDocumentTable = null, bool egyediLablecKellOldalszam = true, bool IsAspose = false, System.Reflection.MethodInfo asposeMetodus = null, AsposeHelperOptions asposeHelperOptions = null, bool egyTanuloTobbNyomtatvanyaEgyben = false)
{
if ((model.FormatumId == NyomtatvanyFormatumEnum.Excel.AsInt()) && (formazottExcelGenerator == null))
{
throw new ArgumentNullException(nameof(formazottExcelGenerator));
}
if (string.IsNullOrWhiteSpace(nyomtatvanyNeve))
{
nyomtatvanyNeve = frxNyomtatvanyNeve;
}
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
var buffer = new byte[Constants.General.BufferSize];
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
DataSet mergedDs = new DataSet();
var needMergedData = false;
var atLeastOneData = false;
var isOsztalySzintuGeneralas =
// ha nincs kijelölve tanuló
(model.TanuloIdList == null)
// és (egy osztálycsoport egyben
&& (((isCsoport ? model.CsoportIdList : model.OsztalyIdList).Count == 1 && !model.AlapszintuNyomtatvanyokKulonDokumentumba)
// vagy egynél több osztály külön)
|| (((isCsoport ? model.CsoportIdList : model.OsztalyIdList).Count > 1 && model.AlapszintuNyomtatvanyokKulonDokumentumba)));
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
var osztalyCsoportLista = (isCsoport) ? GetCsoportIdList(model.CsoportIdList, null) : GetOsztalyIdList(model.OsztalyIdList, null);
for (int db = 0; db < osztalyCsoportLista.Count; db++)
{
var osztalyId = osztalyCsoportLista[db];
if (isOsztalySzintuGeneralas)
{
if (isCsoport)
{
nevmodel.CsoportId = osztalyId;
}
else
{
nevmodel.OsztalyID = osztalyId;
}
}
DataSet osztalyDS;
var pis = metodus.GetParameters();
var parObjs = new object[pis.Length];
for (int i = 0; i < pis.Length; i++)
{
if (i == osztalyIdParameterOrder)
{
parObjs[i] = osztalyId;
}
else
{
parObjs[i] = (dataSetParameterek.Keys.Contains(pis[i].Name)) ? dataSetParameterek[pis[i].Name] : Type.Missing;
}
}
osztalyDS = metodus.Invoke(new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()), parObjs) as DataSet;
var tanuloIdList = (isOsztalySzintuGeneralas || (osztalyCsoportLista.Count > 1 && !model.AlapszintuNyomtatvanyokKulonDokumentumba && model.TanuloIdList == null)) ? new int[] { -1 }.ToList() : GetTanulokIdList(model.TanuloIdList, osztalyId);
if (dokumentumTipus == Enums.DokumentumTipusEnum.TanuloiJogviszonyIgazoloLap_ && model.TanuloIdList != null)
{
tanuloIdList = model.TanuloIdList.Distinct().ToList();
}
if (model.MustGondviselo.HasValue && model.MustGondviselo.Value && osztalyCsoportLista.Count == 1 && model.TanuloIdList != null)
{
var tanuloIdListTemp = tanuloIdList.ToList();
if (tanuloIdListTemp.Count == 1 && tanuloIdList.First() == -1)
{
tanuloIdListTemp = GetTanulokIdList(new List<int>(), osztalyId);
}
tanuloIdListTemp = CheckTanuloHasGondviselo(tanuloIdListTemp);
if (tanuloIdListTemp.Count == 0)
{
throw new Exception(NyomtatvanyokResource.TanulonakNincsRogzitveGondviselo);
}
}
if (model.MustGondviseloIsTorvenyes.HasValue && model.MustGondviseloIsTorvenyes.Value && osztalyCsoportLista.Count == 1 && model.TanuloIdList != null)
{
var tanuloIdListTemp = tanuloIdList.ToList();
if (tanuloIdListTemp.Count == 1 && tanuloIdListTemp.First() == -1)
{
tanuloIdListTemp = GetTanulokIdList(new List<int>(), osztalyId);
}
tanuloIdListTemp = CheckTanuloGondviseloIsTorvenyes(tanuloIdListTemp);
if (tanuloIdListTemp.Count == 0)
{
throw new ApplicationException(TanuloResource.ATanulonakNincsRogzitettTorvenyesKepviseloje);
}
}
if (osztalyDS.Tables.Contains("Orarend"))
{
if (osztalyDS.Tables["Orarend"].Columns.Contains("Szombat"))
{
var szombatColIdx = osztalyDS.Tables["Orarend"].Columns.IndexOf("Szombat");
var columnHasData = osztalyDS.Tables["Orarend"].AsEnumerable().FirstOrDefault(row => !(row[szombatColIdx] is DBNull));
if (!frxParameterek.Keys.Contains("SzombatiNap"))
{
if (columnHasData == null)
{
frxParameterek.Add("SzombatiNap", false);
}
else
{
frxParameterek.Add("SzombatiNap", true);
}
}
else
{
var val = (bool)frxParameterek["SzombatiNap"];
val |= (columnHasData != null);
frxParameterek["SzombatiNap"] = val;
}
}
}
foreach (var tanuloId in tanuloIdList)
{
DataSet ds;
if (tanuloId.IsEntityId())
{
nevmodel.TanuloID = tanuloId;
if (model.MustGondviseloIsTorvenyes.HasValue && model.MustGondviseloIsTorvenyes.Value && !CheckTanuloGondviseloIsTorvenyes(tanuloId))
{
continue;
}
// Tanuló bizonyítványainak és értesítőinek lekérése egyszerre miatt kell, mert a zip-be annyi egyforma nevű fájl kerül, ahány osztályba/csoportba jár. Ráadásul magában a csoport dokumentumban sem szerepel a csoport megnevezése. (KRETA2-6697)
if (egyTanuloTobbNyomtatvanyaEgyben)
{
if (!isCsoport)
{
nevmodel.OsztalyID = osztalyId;
}
else
{
nevmodel.CsoportId = osztalyId;
}
}
ds = new DataSet();
if (model.MustGondviselo.HasValue && model.MustGondviselo.Value && osztalyDS.Tables.Contains("GondviseloAdatok"))
{
var tabla = osztalyDS.Tables["GondviseloAdatok"];
DataView dv = tabla.DefaultView;
dv.RowFilter = tanuloIdColumnName + "=" + tanuloId;
if (dv.Count == 0)
{
continue;
}
}
foreach (DataTable tabla in osztalyDS.Tables)
{
if (tablakFilterByTanuloId.Split(",".ToCharArray()).Contains(tabla.TableName))
{
DataView dv = tabla.DefaultView;
dv.RowFilter = tanuloIdColumnName + "=" + tanuloId;
ds.Tables.Add(dv.ToTable(tabla.TableName));
}
else
{
ds.Tables.Add(tabla.Copy());
}
}
}
else
{
ds = osztalyDS;
}
if (!
// nem kell merge
(
// külön dokumentumba kerüljön minden
(model.AlapszintuNyomtatvanyokKulonDokumentumba)
// egy osztálycsoport kell egyben (osztály szintű)
|| (osztalyCsoportLista.Count == 1 && model.TanuloIdList == null)
// egy tanuló egyben (tanuló szintű)
|| (osztalyCsoportLista.Count == 1 && model.TanuloIdList.Count == 1)
))
{
if (model.FormatumId == NyomtatvanyFormatumEnum.Excel.AsInt())
{
formazottExcelGenerator.CreateSheet(ds, osztalyId, db + 1);
}
TobbNyomtatvanyEgyDataSetbe(ref mergedDs, ds, excludedTables, distinctTables);
needMergedData = true;
}
else
{
if ((tanuloIdList.Count > 1) || (osztalyCsoportLista.Count > 1))
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (ds.Tables[emptyDocumentTable].Rows.Count == 0))
{
continue;
}
atLeastOneData = true;
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, (!tanuloId.IsEntityId()) ? ((isCsoport) ? DokumentumElemiSzintEnum.Csoport : DokumentumElemiSzintEnum.Osztaly) : DokumentumElemiSzintEnum.Tanulo);
if (model.FormatumId != NyomtatvanyFormatumEnum.Excel.AsInt())
{
Nyomtatas(ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), formatumId: model.FormatumId, osztalyId: osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus.Value, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, IsAspose: IsAspose, asposeMetodus: asposeMetodus, asposeHelperOptions: asposeHelperOptions);
}
else
{
var stream = formazottExcelGenerator.ExcelNyomtatas(ds, osztalyId);
ExcelNyomtatas(stream, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), osztalyId: osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus.Value, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
else
{
if (model.FormatumId != NyomtatvanyFormatumEnum.Excel.AsInt())
{
AddNyomtatvanyMintZipEntry(ZipOutPut, ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), formatumId: model.FormatumId, egyediLablecKellOldalszam: egyediLablecKellOldalszam, dokumentumTipus: dokumentumTipus, IsAspose: IsAspose, asposeMetodus: asposeMetodus, asposeHelperOptions: asposeHelperOptions);
}
else
{
var stream = formazottExcelGenerator.ExcelNyomtatas(ds, osztalyId);
AddExcelMintZipEntry(ZipOutPut, stream, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel));
}
}
}
else
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (ds.Tables[emptyDocumentTable].Rows.Count == 0))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, !tanuloId.IsEntityId() ? ((isCsoport) ? DokumentumElemiSzintEnum.Csoport : DokumentumElemiSzintEnum.Osztaly) : DokumentumElemiSzintEnum.Tanulo);
atLeastOneData = true;
}
ActionResult nyomtatvany;
if (model.FormatumId != NyomtatvanyFormatumEnum.Excel.AsInt())
{
nyomtatvany = Nyomtatas(ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), formatumId: model.FormatumId, osztalyId: osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, IsAspose: IsAspose, asposeMetodus: asposeMetodus, asposeHelperOptions: asposeHelperOptions);
}
else
{
var stream = formazottExcelGenerator.ExcelNyomtatas(ds, osztalyId);
nyomtatvany = ExcelNyomtatas(stream, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), osztalyId: osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
if (!model.Iktatas)
{
return nyomtatvany;
}
}
}
}
}
ZipOutPut.Finish();
OutPut.Position = 0;
if (!model.Iktatas)
{
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && !mergedDs.IsEmpty() && (mergedDs.Tables[emptyDocumentTable].Rows.Count == 0))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
var postFix = "";
if (model.TanuloIdList == null)
{
nevmodel.TanuloID = null;
if (osztalyCsoportLista.Count > 1)
{
if (isCsoport)
{
nevmodel.CsoportId = null;
postFix = "_Csoportok";
}
else
{
nevmodel.OsztalyID = null;
postFix = "_Osztalyok";
}
}
}
else
{
nevmodel.TanuloID = null;
nevmodel.CsoportId = null;
nevmodel.OsztalyID = null;
postFix = "_Tanulok";
}
if (model.FormatumId != NyomtatvanyFormatumEnum.Excel.AsInt())
{
return Nyomtatas(mergedDs, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel, true), formatumId: model.FormatumId, osztalyId: 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, IsAspose: IsAspose, asposeMetodus: asposeMetodus, asposeHelperOptions: asposeHelperOptions);
}
else
{
var stream = formazottExcelGenerator.ExcelNyomtatas();
return ExcelNyomtatas(stream, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel, true), osztalyId: 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
else
{
if (!atLeastOneData)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
var postFix = "";
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
if (osztalyCsoportLista.Count > 1)
{
postFix = (isOsztalySzintuGeneralas) ? ((isCsoport) ? "_Csoportok" : "_Osztalyok") : "_Tanulok";
}
else
{
zipnevmodel.OsztalyCsoportId = osztalyCsoportLista[0];
}
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
}
if ((needMergedData && (mergedDs.Tables.Count == 0))
|| (!needMergedData && !atLeastOneData))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (mergedDs.Tables.Count > 0)
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (mergedDs.Tables[emptyDocumentTable].Rows.Count == 0))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
var postFix = "";
if (model.TanuloIdList == null)
{
nevmodel.TanuloID = null;
if (isCsoport)
{
nevmodel.CsoportId = null;
postFix = "_Csoportok";
}
else
{
nevmodel.OsztalyID = null;
postFix = "_Osztalyok";
}
}
else
{
nevmodel.TanuloID = null;
nevmodel.CsoportId = null;
nevmodel.OsztalyID = null;
postFix = "_Tanulok";
}
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, mergedDs, DokumentumElemiSzintEnum.Intezmeny);
if (model.FormatumId != NyomtatvanyFormatumEnum.Excel.AsInt())
{
Nyomtatas(mergedDs, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel, true), formatumId: model.FormatumId, osztalyId: 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, IsAspose: IsAspose, asposeMetodus: asposeMetodus, asposeHelperOptions: asposeHelperOptions);
}
else
{
var stream = formazottExcelGenerator.ExcelNyomtatas();
return ExcelNyomtatas(stream, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + postFix, nevmodel, true), osztalyId: 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus.Value, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
private ActionResult AltalanosPedagogusGeneralas(NyomtatvanyModel model, string frxNyomtatvanyNeve, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum? dokumentumTipus, System.Reflection.MethodInfo metodus, int pedagogusIdParameterOrder, IDictionary<string, object> dataSetParameterek, Dictionary<string, object> frxParameterek, string nyomtatvanyNeve = null, string excludedTables = null, string distinctTables = null, string emptyDocumentTable = null, bool egyediLablecKellOldalszam = true, Bitmap qrCode = null)
{
if (string.IsNullOrWhiteSpace(nyomtatvanyNeve))
{
nyomtatvanyNeve = frxNyomtatvanyNeve;
}
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
var buffer = new byte[Constants.General.BufferSize];
ActionResult egyediPedagogusResult = new FileStreamResult(OutPut, Constants.ImportExport.ContentType);
DataSet mergedDs = new DataSet();
var pedagogusIdList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList);
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
foreach (var pedagogusId in pedagogusIdList)
{
var pis = metodus.GetParameters();
var parObjs = new object[pis.Length];
for (int i = 0; i < pis.Length; i++)
{
if (i == pedagogusIdParameterOrder)
{
parObjs[i] = pedagogusId;
}
else
{
parObjs[i] = (dataSetParameterek.Keys.Contains(pis[i].Name)) ? dataSetParameterek[pis[i].Name] : Type.Missing;
}
}
var ds = metodus.Invoke(new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()), parObjs) as DataSet;
if (ds.Tables.Count == 0 && pedagogusIdList.Count == 1)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (ds.Tables.Count == 0)
{
continue;
}
foreach (var par in metodus.GetParameters().Where(p => p.IsOut).ToList())
{
frxParameterek[par.Name] = parObjs[par.Position];
}
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanarID = pedagogusId, TanevID = ClaimData.SelectedTanevID.Value };
if (pedagogusIdList.Count > 1)
{
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
TobbNyomtatvanyEgyDataSetbe(ref mergedDs, ds, excludedTables, distinctTables);
}
else
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (ds.Tables[emptyDocumentTable].Rows.Count == 0))
{
continue;
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, DokumentumElemiSzintEnum.Tanulo);
egyediPedagogusResult = Nyomtatas(ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus.Value, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam);
}
else
{
AddNyomtatvanyMintZipEntry(ZipOutPut, ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), formatumId: model.FormatumId, egyediLablecKellOldalszam: egyediLablecKellOldalszam, dokumentumTipus: dokumentumTipus);
}
}
}
else
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (ds.Tables[emptyDocumentTable].Rows.Count == 0))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, DokumentumElemiSzintEnum.Tanulo);
}
return Nyomtatas(ds, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, qrCode: qrCode);
}
}
ZipOutPut.Finish();
OutPut.Position = 0;
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
if ((!string.IsNullOrWhiteSpace(emptyDocumentTable)) && (mergedDs.Tables[emptyDocumentTable].Rows.Count == 0))
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, mergedDs, DokumentumElemiSzintEnum.Intezmeny);
}
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return Nyomtatas(mergedDs, frxNyomtatvanyNeve, frxParameterek, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "_Tanarok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "_Tanarok", nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam);
}
else
{
if (model.Iktatas)
{
return egyediPedagogusResult;
}
else
{
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
}
}
private ActionResult AltalanosOsztalyFormazottXlsGeneralas(NyomtatvanyModel model, BaseNyomtatvanyExcel formazottExcelGenerator, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum? dokumentumTipus, IDictionary<string, object> dataSetParameterek, string osztalyIdParameterName, string nyomtatvanyNeve, string excludedTables = null, string distinctTables = null)
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : (OktNevelesiKategoriaEnum?)null;
var osztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
MemoryStream excelContent;
DataSet mergedDs = new DataSet();
for (int i = 0; i < osztalyIdList.Count; i++)
{
var osztalyId = osztalyIdList[i];
var parameters = dataSetParameterek.ToDictionary(k => k.Key, k => (k.Value ?? "").ToString());
parameters.Add(osztalyIdParameterName, osztalyId.ToString());
if (osztalyIdList.Count > 1)
{
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
formazottExcelGenerator.CreateSheet(parameters, i + 1);
if (model.Iktatas)
{
var ds = formazottExcelGenerator.GetSheetDataSet();
TobbNyomtatvanyEgyDataSetbe(ref mergedDs, ds, excludedTables, distinctTables);
}
}
else
{
nevmodel.OsztalyID = osztalyId;
excelContent = formazottExcelGenerator.ExcelNyomtatas(parameters);
if (!model.Iktatas)
{
AddExcelMintZipEntry(ZipOutPut, excelContent, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel));
}
else
{
var ds = formazottExcelGenerator.GetSheetDataSet();
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, Enums.DokumentumElemiSzintEnum.Osztaly);
ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
}
else
{
nevmodel.OsztalyID = osztalyId;
excelContent = formazottExcelGenerator.ExcelNyomtatas(parameters);
var ds = formazottExcelGenerator.GetSheetDataSet();
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, ds, Enums.DokumentumElemiSzintEnum.Osztaly);
}
var ret = ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
formazottExcelGenerator.Dispose();
return ret;
}
}
if (model.Iktatas)
{
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
excelContent = formazottExcelGenerator.ExcelNyomtatas();
formazottExcelGenerator.Dispose();
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus.Value, mergedDs, Enums.DokumentumElemiSzintEnum.Intezmeny);
ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("Tobb" + nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("Tobb" + nyomtatvanyNeve, nevmodel, true), 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
excelContent = formazottExcelGenerator.ExcelNyomtatas();
formazottExcelGenerator.Dispose();
return ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("Tobb" + nyomtatvanyNeve, nevmodel), false, CommonExtensions.NevGeneralas("Tobb" + nyomtatvanyNeve, nevmodel, true), 0, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
else
{
ZipOutPut.Finish();
OutPut.Position = 0;
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
}
private List<int> CheckTanuloHasGondviselo(List<int> tanuloIds)
{
if (tanuloIds == null || tanuloIds.Count == 0)
{
return tanuloIds;
}
var validTanuloIdList = new List<int>();
var invalidTanuloIdList = new List<int>();
var tanulohelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
foreach (var tanuloId in tanuloIds)
{
if (!tanulohelper.ExistsGondviselo(tanuloId))
{
invalidTanuloIdList.Add(tanuloId);
}
else
{
validTanuloIdList.Add(tanuloId);
}
}
//NOTE: Ha többet generálnak és van köztük olyan akinek van gondviselője, akkor invalidok kihagyása
if (validTanuloIdList.Any())
{
tanuloIds = validTanuloIdList;
}
return tanuloIds;
}
private List<int> CheckTanuloGondviseloIsTorvenyes(List<int> tanuloIds)
{
if (tanuloIds == null)
{
return tanuloIds;
}
var resultTanuloIds = tanuloIds.ToList();
if (tanuloIds.Count == 1
&& !CheckTanuloGondviseloIsTorvenyes(tanuloIds.First()))
{
resultTanuloIds.Remove(tanuloIds.First());
return resultTanuloIds;
}
foreach (var tanuloId in tanuloIds)
{
if (!CheckTanuloGondviseloIsTorvenyes(tanuloId))
{
resultTanuloIds.Remove(tanuloId);
}
}
return resultTanuloIds;
}
private bool CheckTanuloGondviseloIsTorvenyes(int tanuloId)
{
var gondviseloHelper = new GondviseloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return gondviseloHelper.HasTanuloTorvenyesGondviselo(tanuloId);
}
private List<int> CheckTanuloIsTankotelezettAllapot(List<int> tanuloIds, bool tankotelezettseg)
{
if (tanuloIds == null)
{
return tanuloIds;
}
var resultTanuloIds = tanuloIds.ToList();
var tanulohelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
foreach (var tanuloId in tanuloIds)
{
if (tanulohelper.IsTankotelezettsegetTeljesito(tanuloId) != tankotelezettseg)
{
resultTanuloIds.Remove(tanuloId);
}
}
return resultTanuloIds;
}
}
}

View file

@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.HelperClasses.ApaczaiProgramCOs;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums.ManualEnums;
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
{
public ActionResult Apaczai16AlattiESZABelepo2022_23(NyomtatvanyModel model)
{
try
{
return StaticDocumentNyomtatas(Constants.ApaczaiDokumentumTipusok.Apaczai16AlattiESZABelepo2022_23, "Apaczai_16_alatti_ESZA_belepo_2022_23", NyomtatvanyFormatumEnum.PDF);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult Apaczai16AlattiESZAKilepo2022_23(NyomtatvanyModel model)
{
try
{
return StaticDocumentNyomtatas(Constants.ApaczaiDokumentumTipusok.Apaczai16AlattiESZAKilepo2022_23, "Apaczai_16_alatti_ESZA_kilepo_2022_23", NyomtatvanyFormatumEnum.PDF);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult Apaczai16FelettiESZABelepo2022_23(NyomtatvanyModel model)
{
try
{
return StaticDocumentNyomtatas(Constants.ApaczaiDokumentumTipusok.Apaczai16FelettiESZABelepo2022_23, "Apaczai_16_feletti_ESZA_belepo_2022_23", NyomtatvanyFormatumEnum.PDF);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult Apaczai16FelettiESZAKilepo2022_23(NyomtatvanyModel model)
{
try
{
return StaticDocumentNyomtatas(Constants.ApaczaiDokumentumTipusok.Apaczai16FelettiESZAKilepo2022_23, "Apaczai_16_feletti_ESZA_kilepo_2022_23", NyomtatvanyFormatumEnum.PDF);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult ApaczaiHozzajarulasiNyilatkozat2022_23(NyomtatvanyModel model)
{
try
{
return StaticDocumentNyomtatas(Constants.ApaczaiDokumentumTipusok.ApaczaiHozzajarulasiNyilatkozat2022_23, "Hozzajarulo_nyilatkozat 2022_23", NyomtatvanyFormatumEnum.PDF);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult ApaczaiMentoriTamogatoNyilatkozat2022_23(NyomtatvanyModel model)
{
try
{
if (model.TanuloId.IsEntityId())
{
var tanulohelper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanulo = tanulohelper.GetTanuloMentorAdatok(model.TanuloId);
if (tanulo.MentorId.IsEntityId())
{
var asposeHelper = new AsposeHelper();
var asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetMentorTamogatoiNyilatkozat));
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var frxNyomtatvanyNeve = "Mentori_tamogato_nyilatkozat_2022_23.docx";
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
DocumentParameters = new AsposeDocumentParameters()
{
Kelt = model.KeltDatum,
KeltFormatum = (KeltFormatumTipusEnum)model.KeltFormatumId,
}
};
if (model.AlulirottMegnevezesId.IsEntityId())
{
var alulirott = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: 0, isNemzetisegiDokumentum: false).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
var index = alulirott.LastIndexOf(" - ");
var nev = alulirott.Substring(0, index).ReplaceMultipleSpacesAndTrim();
var beosztas = alulirott.Substring(index + " - ".Length).ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.AlairoSzemely = new Dictionary<string, string>()
{
{"Nev", nev },
{"Beosztas", beosztas },
};
}
var intezmenyCo = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAktivIntezmenyNevCim();
asposeHelperOptions.DocumentParameters.TagintezmenyNeve = intezmenyCo.Nev;
asposeHelperOptions.DocumentParameters.TagintezmenyCime = intezmenyCo.IntezmenyCim;
asposeHelperOptions.DocumentParameters.TagintezmenyVaros = intezmenyCo.Varos;
asposeHelperOptions.DocumentParameters.TagintezmenyAzonosito = intezmenyCo.OMKod;
asposeHelperOptions.DocumentParameters.Entity = tanulo;
return Nyomtatas(null, frxNyomtatvanyNeve, null, "Mentori_tamogato_nyilatkozat_2022_23", model.Iktatas, formatumId: model.FormatumId, osztalyId: null, dokumentumKategoria: null, dokumentumTipus: null, kulcsSzavak: null, foszamDefinicio: null, egyediLablecKellOldalszam: false, IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
else
{
throw new Exception(NyomtatvanyokResource.TanulohozNincsMentorHozzarendelve);
}
}
throw new Exception(NyomtatvanyokResource.NemTartalmazRelevansAdatokat);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
public MemoryStream NebuloEgyedi(int nebuloId, int statusz)
{
try
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNebuloErtesito(nebuloId);
DataRow dr = ds.Tables[0].Rows[0];
string frxNeve = statusz == FelvetelStatuszaTipusEnum.Felveve.AsInt() ? nameof(NyomtatvanyEnum.NebuloErtesitoFelveve) : nameof(NyomtatvanyEnum.NebuloErtesitoNemFelveve);
string dokumentumNeve = $"{dr["NebuloNeve"].ToString().Trim().Replace(" ", "_")}_{dr["SzulIdo"].ToString().Trim().Replace(".", "")}";
var filePath = System.Web.HttpContext.Current.Server.MapPath($"{ApplicationData.NyomtatasiSablonokKonyvtar}/{frxNeve}.frx");
var result = GetPdfMemoryStreamByPath(ds, filePath, pdfNeve: dokumentumNeve);
return result;
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NebuloFelvettZip(NyomtatvanyModel model)
{
return GetNebuloInZip(model, FelvetelStatuszaTipusEnum.Felveve.AsInt());
}
public ActionResult NebuloElutasitottZip(NyomtatvanyModel model)
{
return GetNebuloInZip(model, FelvetelStatuszaTipusEnum.NemFelveve.AsInt());
}
public MemoryStream NebuloSablon(NyomtatvanyModel model)
{
try
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDokumentumFejlecLablecSablon();
return GetMemoryStreamByName(ds, nameof(NyomtatvanyEnum.NebuloSablon), nyomtatvanyNeve: nameof(NyomtatvanyEnum.NebuloSablon));
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public FileStreamResult GetNebuloInZip(NyomtatvanyModel model, int statusz)
{
var OutPut = new MemoryStream();
ZipOutputStream ZipOutPut = new ZipOutputStream(OutPut);
try
{
List<DataSet> dsList = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNebuloErtesitoZip(statusz);
byte[] buffer = new byte[Constants.General.BufferSize];
string ertesitoTipus = statusz == FelvetelStatuszaTipusEnum.Felveve.AsInt() ? nameof(NyomtatvanyEnum.NebuloErtesitoFelveve) : nameof(NyomtatvanyEnum.NebuloErtesitoNemFelveve);
foreach (DataSet item in dsList)
{
DataRow dr = item.Tables[0].Rows[0];
string dokumentumNeve = $"{dr["NebuloNeve"].ToString().Trim().Replace(" ", "_")}_{dr["SzulIdo"].ToString().Trim().Replace(".", "")}";
var stream = GetMemoryStreamByName(item, ertesitoTipus, nyomtatvanyNeve: dokumentumNeve);
var fajlneve = $"{dokumentumNeve}.{Constants.ImportExport.FileFormatPdf}";
AddZipEntry(ZipOutPut, stream, fajlneve);
}
ZipOutPut.Finish();
OutPut.Position = 0;
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = ertesitoTipus + ".zip"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,760 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using System.Web.Routing;
using System.Xml.Linq;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Configuratiaton.Interface;
using Kreta.Core.FeatureToggle;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Areas.Nyomtatvanyok.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Menu;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
//[AllowAnonymous]
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue, KretaClaimPackages.IsArchivIntezmeny.ClaimValue)]
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
private IFeatureContext FeatureContext { get; }
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
private readonly IKozpontiKretaHelper KozpontiKretaHelper;
private readonly IKozpontiKretaConfiguration KozpontiKretaConfiguration;
private bool RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.osszes_dokumentum_eleresenek_engedelyezese_szaktanarok_es_osztalyfonokok_reszere);
public class NyomtatvanyModel : NyomtatvanyBaseModel
{
public int TanevId { get; set; }
public int OsztalyId { get; set; }
public int OsztalyCsoportId { get; set; }
public List<int> OsztalyCsoportIdList { get; set; }
public List<int> OsztalyIdList { get; set; }
public int CsoportId { get; set; }
public List<int> CsoportIdList { get; set; }
public int FoglalkozasId { get; set; }
public List<int> FoglalkozasIdList { get; set; }
public int PedagogusId { get; set; }
public List<int> PedagogusIdList { get; set; }
public int TanuloId { get; set; }
public List<int> TanuloIdList { get; set; }
public List<int> TanulocsoportIdList { get; set; }
public int TeremId { get; set; }
public List<int> TeremIdList { get; set; }
public int HonapId { get; set; }
public int HaladasiNaploFormatumId { get; set; }
public int HetSorszama { get; set; }
public DateTime KeltDatum { get; set; }
public int KeltFormatumId { get; set; }
public int CimzettId { get; set; }
public int AlulirottMegnevezesId { get; set; }
public int OrarendTipusaId { get; set; }
public int FormatumId { get; set; }
public string ModelXmlString { get; set; }
public int AtsoroltTanuloAdatokModId { get; set; }
public int OsztalyInditasaId { get; set; }
public int MegtartottVagyMegtarthatoModId { get; set; }
public int TeljesNaposMulasztasSzamitashozMiminalisanMulasztottOrakszamaModId { get; set; }
public int NyomtatvanyErtekelesMegjelenitesId { get; set; }
public DateTime IdoszakKezdete { get; set; }
public DateTime IdoszakVege { get; set; }
public int HelyettesitesListaFormatumId { get; set; }
public int TanulokNevsorRendezeseId { get; set; }
public DateTime OrarendErvenyessegiDatum { get; set; }
public BetuMeretEnum BetuMeret { get; set; }
public CsoportnaploTanulokSorrendjeEnum CsoportnaploTanulokSorrendje { get; set; }
public int IgazolatlanOrakSzama { get; set; }
public KotesmargoTipusEnum KotesMargoTipus { get; set; }
public bool KiiratkozottTanulokMegjelenitese { get; set; }
public HelyettesitesiNaploBontasEnum HelyettesitesiNaploBontas { get; set; }
public bool SNIAdatokMegjeleniteseUresen { get; set; }
public bool JegyzekSzerepeltetese { get; set; }
public bool OkjSzakmacsoport { get; set; }
public bool OkjAgazat { get; set; }
public bool OkjSzakkepesites { get; set; }
public bool OkjReszszakkepesites { get; set; }
public bool UjSzktAgazat { get; set; }
public bool UjSzktSzakma { get; set; }
public bool UjSzktSzakmairany { get; set; }
public bool NktTanulmanyiTerulet { get; set; }
public bool NktSzakkepesites { get; set; }
public bool NktSzakirany { get; set; }
public bool KapcsolodoCsoportokMegjelenitese { get; set; }
public bool OsztalyBontasokMegjelenitese { get; set; }
public MunkaidoelszamolasBontasEnum MunkaidoelszamolasBontas { get; set; }
public bool TanoraiFoglalkozasokUresBlokkMegjelenites { get; set; }
public bool TanoranKivuliFoglalkozasokUresBlokkMegjelenites { get; set; }
public bool EgyeniFoglalkozasokUresBlokkMegjelenites { get; set; }
public bool HelyettesitesekUresBlokkMegjelenites { get; set; }
public bool OktNevLeNemKotottMunkaidoUresBlokkMegjelenites { get; set; }
public bool ElmeletiGyakorlatiOrakElkulonitese { get; set; }
public bool FelnottkepzesiOrakElkulonitese { get; set; }
public int OktNevelesiKategoriaId { get; set; }
public List<int> FeladatellatasiHelyIdList { get; set; }
public AnyanyelvEnum NemzetisegiNyelvId { get; set; }
public bool EvfolyamSzerepelteteseTanuloiAdatokKozott { get; set; }
public bool PHMegjelenitese { get; set; } = true;
public bool HelyettesitesTipusanakMegjelenitese { get; set; } = true;
public bool ParhuzamosOrakMegjelenitese { get; set; }
public bool NegyedevreSzamoltMulasztasok { get; set; }
public bool JelenletAdatokMegjelenitese { get; set; }
public JelenletAdatokOsszesiteseEnum JelenletAdatokOsszesitese { get; set; }
public JelenletTablazatElrendezeseEnum JelenletTablazatElrendezese { get; set; }
public string IgazolasSorszama { get; set; }
public DateTime ErvenyessegVege { get; set; }
public int IgazolasKiallitasanakHelyeId { get; set; }
public bool TagintezmenyCimenekMegjelenitese { get; set; }
public int TagintezmenyCimeId { get; set; }
public bool IntezmenyNevenekMegjelenitese { get; set; }
public string MasodikIntezmenyNeve { get; set; }
public bool FeladatellatasiHelyCimenekMegjelenitese { get; set; }
public string MasodikFeladatellatasiHelyCime { get; set; }
public string GyakorlatiKepzesiHelyNeve { get; set; }
public string GyakorlatiKepzesiHelyCime { get; set; }
public IgazolasKiallitasanakOkaEnum IgazolasKiallitasanakOka { get; set; }
public int BetuMeretSzam { get; set; }
public bool IsUjSzkt { get; set; }
public int Oraszam { get; set; }
public int MuveszetiAgId { get; set; }
public bool MegjegyzesekMegjelenitese { get; set; }
public bool IsAmiHianyzasIsMegjelenjen { get; set; }
public bool? MustGondviselo { get; set; }
public bool? MustGondviseloIsTorvenyes { get; set; }
public bool IsTankoteles { get; set; }
}
public NyomtatvanyokController(IKozpontiKretaConfiguration kozpontiKretaConfiguration, IKozpontiKretaHelper kozpontiKretaHelper, IFeatureContext featureContext, IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
IktatoRepositoryFactory = iktatoRepositoryFactory ?? throw new ArgumentNullException(nameof(iktatoRepositoryFactory));
IktatoServiceConfiguration = iktatoServiceConfiguration ?? throw new ArgumentNullException(nameof(iktatoServiceConfiguration));
KozpontiKretaHelper = kozpontiKretaHelper ?? throw new ArgumentNullException(nameof(kozpontiKretaHelper));
KozpontiKretaConfiguration = kozpontiKretaConfiguration ?? throw new ArgumentNullException(nameof(kozpontiKretaConfiguration));
}
public ActionResult Index()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var pbbm = new PanelBarBaseModel { PanelName = "NyomtatvanyPanel" };
var lpbcm = new List<PanelBarChildModel>();
var xdoc = XDocument.Load(Server.MapPath("~/Resources/Nyomtatvanyok.xml"));
var groups = from x in xdoc.Descendants("Group")
select new
{
GroupId = x.Attribute("Id").Value,
GroupName = x.Attribute("Name").Value,
GroupDescription = x.Attribute("Description").Value,
Nyomtatvanyok = x.Descendants("Nyomtatvany"),
isKovTanevbenElerheto = x.Attribute("isKovTanevbenElerheto"),
isVisibleOnlyOnSZIRIntezmeny = x.Attribute("isVisibleOnlyOnSZIRIntezmeny"),
isVisibleOnlyOnNemSZIRIntezmeny = x.Attribute("isVisibleOnlyOnNemSZIRIntezmeny")
};
if (ClaimData.KovTanevID.HasValue && ClaimData.SelectedTanevID.HasValue && ClaimData.KovTanevID.Value == ClaimData.SelectedTanevID.Value)
{ groups = groups.Where(x => (bool?)x.isKovTanevbenElerheto == true); }
groups = groups.Where(y => !(y.isVisibleOnlyOnSZIRIntezmeny != null || y.isVisibleOnlyOnNemSZIRIntezmeny != null) || (y.isVisibleOnlyOnSZIRIntezmeny != null && y.isVisibleOnlyOnSZIRIntezmeny.Value.ToLower() == ClaimData.IsSzakkepzoIntezmeny.ToString().ToLower() && !ClaimData.IsSelectedTanev21_22OrLater) || (y.isVisibleOnlyOnNemSZIRIntezmeny != null && y.isVisibleOnlyOnNemSZIRIntezmeny.Value.ToLower() == (!ClaimData.IsSzakkepzoIntezmeny || !ClaimData.IsSelectedTanev21_22OrLater).ToString().ToLower()));
var IsNemLathatjaDiakokAdatait = MenuHelper.IsAlkalmazottNemLathatjaDiakokAdatait();
AddNemzetisegiDokumentumok(systemSettingsHelper);
AddKozossegiSzolgalatiNaplo();
AddIfIsszakkepzojuttatas();
var isSportAdatokKezelese = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanulo_sportoloi_adatainak_kezelese);
var isOfoKezelhetSportAdatokat = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_sportoloi_adatait);
var isCsopVezKezelhetSportAdatokat = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Csoportvezeto_Tanulo_Adat_Modositas);
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var isPedIgHelyettKiallIsEnabled = helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Nyomtatvany_PedIgHelyettKiall, IntezmenyConfigTipusEnum.IsEnabled);
foreach (var group in groups)
{
var data = new List<object>();
foreach (var nyomtatvany in group.Nyomtatvanyok)
{
var nyomtatvanyIdAttributeValue = nyomtatvany.Attribute("Id").Value;
var nyomtatvanyName = nyomtatvany.Attribute("Name").Value;
if (!int.TryParse(nyomtatvanyIdAttributeValue, out var nyomtatvanyId))
{
nyomtatvanyId = (int)Enum.Parse(typeof(DokumentumFeluletEnum), nyomtatvanyIdAttributeValue);
var dokumentumFeluletEnum = (DokumentumFeluletEnum)Enum.Parse(typeof(DokumentumFeluletEnum), nyomtatvanyIdAttributeValue);
/// TODO: miért hasal el a GetDisplayName()?
nyomtatvanyName = dokumentumFeluletEnum.GetAttribute<DisplayAttribute>()?.GetName() ?? dokumentumFeluletEnum.ToDisplayName();
}
if (!IsNemLathatjaDiakokAdatait && IsValidNyomtatvany(nyomtatvanyId))
{
if (nyomtatvany.Attribute("SeparatorHeader") != null)
{
if (ClaimData.KovTanevID.HasValue && ClaimData.SelectedTanevID.HasValue && ClaimData.KovTanevID.Value == ClaimData.SelectedTanevID.Value)
{
var isKovTanevbenElerheto = (bool?)nyomtatvany.Attribute("isKovTanevbenElerheto");
if (isKovTanevbenElerheto.HasValue && isKovTanevbenElerheto.Value)
{
data.Add(new PanelBarChildHeaderModel { Name = nyomtatvany.Attribute("SeparatorHeader").Value, Description = string.Empty });
}
}
else
{
data.Add(new PanelBarChildHeaderModel { Name = nyomtatvany.Attribute("SeparatorHeader").Value, Description = string.Empty });
}
}
if (nyomtatvanyId == (int)DokumentumFeluletEnum.TanulokSportoloiAdatainakOsszesitojeOsztaly || nyomtatvanyId == (int)DokumentumFeluletEnum.TanulokSportoloiAdatainakOsszesitojeCsoport)
{
if (isSportAdatokKezelese)
{
if (ClaimData.IsAdministrator || (ClaimData.IsOsztalyfonok && isOfoKezelhetSportAdatokat && nyomtatvanyId == (int)DokumentumFeluletEnum.TanulokSportoloiAdatainakOsszesitojeOsztaly) || (isCsopVezKezelhetSportAdatokat && ClaimData.FelhasznaloSzerepCsomagok.Any(x => x == KretaClaimPackages.CsoportVezeto.ClaimValue && nyomtatvanyId == 1001)))
{
data.Add(new PanelBarChildDataModel { Name = nyomtatvanyName, Description = nyomtatvany.Attribute("Description").Value, Id = nyomtatvanyId.ToString(), ControllerAction = nyomtatvany.Attribute("ControllerAction").Value, DocumentType = nyomtatvany.Attribute("DocumentType").Value });
}
}
}
else
{
if (ClaimData.KovTanevID.HasValue && ClaimData.SelectedTanevID.HasValue && ClaimData.KovTanevID.Value == ClaimData.SelectedTanevID.Value)
{
var isKovTanevbenElerheto = (bool?)nyomtatvany.Attribute("isKovTanevbenElerheto");
if (isKovTanevbenElerheto.HasValue && isKovTanevbenElerheto.Value)
{
data.Add(new PanelBarChildDataModel { Name = nyomtatvanyName, Description = nyomtatvany.Attribute("Description").Value, Id = nyomtatvanyId.ToString(), ControllerAction = nyomtatvany.Attribute("ControllerAction").Value, DocumentType = nyomtatvany.Attribute("DocumentType").Value });
}
}
else
{
if (nyomtatvanyId == (int)DokumentumFeluletEnum.PedagogusigazolvanyHelyettKiallitottIgazolas)
{
if (!isPedIgHelyettKiallIsEnabled)
{
continue;
}
data.Add(new PanelBarChildDataModel { Name = nyomtatvanyName, Description = nyomtatvany.Attribute("Description").Value, Id = nyomtatvanyId.ToString(), ControllerAction = nyomtatvany.Attribute("ControllerAction").Value, DocumentType = nyomtatvany.Attribute("DocumentType").Value });
}
else
{
data.Add(new PanelBarChildDataModel { Name = nyomtatvanyName, Description = nyomtatvany.Attribute("Description").Value, Id = nyomtatvanyId.ToString(), ControllerAction = nyomtatvany.Attribute("ControllerAction").Value, DocumentType = nyomtatvany.Attribute("DocumentType").Value });
}
}
}
}
}
if (data.Count > 0)
{
lpbcm.Add(new PanelBarChildModel() { PartialViewName = "PanelBarDefaultView", PartialViewTitle = group.GroupName, Data = data });
}
}
pbbm.ChildModels = lpbcm;
return View("Index", pbbm);
}
[MvcRolePackageAuthorize(TanevEnum.AktTanev, KretaClaimPackages.Tanulo.ClaimValue, KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult TanuloiIndex()
{
var bdm = new BizonyitvanyDownloadModel()
{
ButtonModel = new ModalButtonModel
{
Name = "downloadBtn",
Text = NyomtatvanyokResource.Letoltes,
Enabled = true,
Icon = null,
Parameters = new RouteValueDictionary(),
ImageUrl = "",
SpriteCssClass = "",
EventName = "TanuloiBizonyitvanyokLetolteseHelper.downloadDocuments"
},
};
return View("TanuloiIndex", bdm);
}
#region Listák lekérése
public List<int> GetOsztalyIdList(List<int> osztalyIdList, OktNevelesiKategoriaEnum? feladatKategoria, bool forOrarend = false)
{
var nyomtatvanyHelper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return osztalyIdList ?? (forOrarend
? nyomtatvanyHelper.GetOsztalyByTanevList(null, feladatKategoria)
: nyomtatvanyHelper.GetOsztalyByTanevList(AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot ? -1 : ClaimData.FelhasznaloId, feladatKategoria));
}
public List<int> GetCsoportIdList(List<int> csoportIdList, OktNevelesiKategoriaEnum? feladatKategoria)
{
return csoportIdList ?? new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportByTanevList(AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot ? -1 : ClaimData.FelhasznaloId, feladatKategoria);
}
public List<int> GetOsztalyCsoportIdList(List<int> osztalyCsoportIdList)
{
return osztalyCsoportIdList ?? new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportByTanevList(AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot ? -1 : ClaimData.FelhasznaloId, OktNevelesiKategoriaEnum.NevelesOktatas);
}
public List<int> GetFoglalkozasIdList(List<int> foglalkozasIdList)
{
return foglalkozasIdList ?? new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetoFoglalkozasByTanevList(AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot ? -1 : ClaimData.FelhasznaloId);
}
public List<int> GetPedagogusIdList(List<int> pedagogusIdList)
{
return GetPedagogusIdListCommon(pedagogusIdList);
}
public List<int> GetTeremIdList(List<int> teremIdList)
{
return GetTeremIdListCommon(teremIdList);
}
public List<int> GetPedagogusIdListByFelhasznaloId(List<int> pedagogusIdList, OktNevelesiKategoriaEnum? oktNevKategoria = null)
{
if (AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot)
{
return GetPedagogusIdListCommon(pedagogusIdList, oktNevKategoria: oktNevKategoria);
}
return GetPedagogusIdListCommon(pedagogusIdList, ClaimData.FelhasznaloId, oktNevKategoria);
}
public List<int> GetOsztalyCsoportIdListByFelhasznaloId(List<int> osztalyCsoportIdList, OktNevelesiKategoriaEnum? feladatKategoria)
{
if (AdminisztratorVagySzuperOsztalyfonok() || RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot)
{
return GetOsztalyCsoportIdListCommon(osztalyCsoportIdList, feladatKategoria);
}
return GetOsztalyCsoportIdListCommon(osztalyCsoportIdList, feladatKategoria, ClaimData.FelhasznaloId);
}
private List<int> GetTanulokIdList(List<int> tanuloIdList, int osztalyId)
{
List<int> result = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanulokByOsztalyList(osztalyId);
if (tanuloIdList == null)
{
return result;
}
var sajatTanulokListaja = result.Intersect(tanuloIdList).ToList();
if (sajatTanulokListaja.Count != 0)
{
return sajatTanulokListaja;
}
return result;
}
private List<int> GetPedagogusIdListCommon(List<int> pedagogusIdList, int? felhasznaloId = null, OktNevelesiKategoriaEnum? oktNevKategoria = null)
{
if (pedagogusIdList != null)
{
return pedagogusIdList;
}
var result = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPedagogusByTanevList(felhasznaloId, oktNevKategoria);
return result;
}
private List<int> GetOsztalyCsoportIdListCommon(List<int> osztalyCsoportIdList, OktNevelesiKategoriaEnum? feladatKategoria, int? felhasznaloId = null)
{
if (osztalyCsoportIdList != null)
{
return osztalyCsoportIdList;
}
var result = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportByTanevList(felhasznaloId, feladatKategoria);
return result;
}
private List<int> GetTeremIdListCommon(List<int> teremIdList)
{
if (teremIdList != null)
{
return teremIdList;
}
var result = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremByTanevList();
return result;
}
#endregion
public static string CreateXMLFromList(List<int> data)
{
if (data != null && data.Count > 0)
{
string xmlStringStart = $"<a><b>",
xmlStringEnd = $"</b></a>",
xmlString = string.Empty;
foreach (var d in data)
xmlString += xmlStringStart + d + xmlStringEnd;
return xmlString;
}
return null;
}
#region Közösen használt metódusok
private void AddNemzetisegiDokumentumok(SystemSettingsHelper systemSettingsHelper)
{
var nemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
//Nemzetiségi törzslap
if (nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.horvat) || nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.roman))
{
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiTorzslap);
TanarNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiTorzslap);
}
//Bizonyítvány pótlap - 1. osztály
//if (nemzetiDokumentumNyelvek.Any())
//{
// AdminisztratorNyomtatasDokumentumIds.Add(802);
//}
//Bizonyítvány pótlap - 1-4. osztály
if (nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.nemet) || nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.roman) || nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.szerb))
{
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiBizonyitvany1_4);
TanarNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiBizonyitvany1_4);
}
//Bizonyítvány pótlap - felső tagozatos
if (nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.roman))
{
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiBizonyitvanyFelso);
TanarNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiBizonyitvanyFelso);
}
//Gimnáziumi bizonyítvány pótlap
if (nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.horvat) || nemzetiDokumentumNyelvek.Exists(x => x == (int)AnyanyelvEnum.nemet))
{
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiGimnaziumBizonyitvany);
TanarNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.NemzetisegiGimnaziumBizonyitvany);
}
}
private void AddKozossegiSzolgalatiNaplo()
{
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Tanar.ClaimValue))
{
var tanarKozossegiSzolgalatKezelo = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanarAdatok(ClaimData.FelhasznaloId).KozossegiSzolgalatKezelo;
if (tanarKozossegiSzolgalatKezelo)
{
TanarNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.KozossegiSzolgalatiNaplo);
}
}
}
private void AddIfIsszakkepzojuttatas()
{
var isSzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Adminisztrator.ClaimValue) && isSzakkepzoJuttatas)
{
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.Apaczai16AlattiESZABelepo2022_23);
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.Apaczai16AlattiESZAKilepo2022_23);
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.Apaczai16FelettiESZABelepo2022_23);
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.Apaczai16FelettiESZAKilepo2022_23);
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.ApaczaiHozzajarulasiNyilatkozat2022_23);
AdminisztratorNyomtatasDokumentumIds.Add((int)DokumentumFeluletEnum.ApaczaiMentoriTamogatoNyilatkozat2022_23);
}
}
private bool IsValidNyomtatvany(int nyomtatvanyId)
{
if (nyomtatvanyId == (int)DokumentumFeluletEnum.FenntartoAltalElfogadottTantargyFelosztasExcel && !ClaimData.IsActivTanev && ClaimData.SelectedTanevID != ClaimData.KovTanevID)
{
AdminisztratorNyomtatasDokumentumIds.Remove((int)DokumentumFeluletEnum.FenntartoAltalElfogadottTantargyFelosztasExcel);
AdminisztratorNyomtatasDokumentumIds.Remove((int)DokumentumFeluletEnum.FenntartoAltalElfogadottTantargyFelosztasPDF);
}
if (ApplicationData.SystemType == SystemType.KK || ApplicationData.SystemType == SystemType.AZURE || ApplicationData.SystemType == SystemType.NSZFH_EMA)
{
AdminisztratorNyomtatasDokumentumIds.Remove((int)DokumentumFeluletEnum.ReszletesTanuloiAdatokRiport);
}
if (nyomtatvanyId == (int)DokumentumFeluletEnum.OsztalyokEsOsztalyokLetszamadataiRiport && ClaimData.IsSzakkepzoIntezmeny)
{
// Osztályok és az osztályok létszámadatai riport -> NSZFH-s környezeten nem elérhető
AdminisztratorNyomtatasDokumentumIds.Remove(nyomtatvanyId);
}
if ((ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Adminisztrator.ClaimValue)
|| RendszerbeallitasMindenkiLathatjaAzOsszesDokumentumot) && AdminisztratorNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
if (ClaimData.IsFullKretaVerzio)
{
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue) && OsztalyfonokNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Osztalyfonok.ClaimValue) && OsztalyfonokNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsoportVezeto.ClaimValue) && CsoportvezetoNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Tanar.ClaimValue) && TanarNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue) && (nyomtatvanyId == (int)DokumentumFeluletEnum.KozossegiSzolgalatiNaplo))
{
return true;
}
if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue) && (nyomtatvanyId == (int)DokumentumFeluletEnum.KozossegiSzolgalatiNaplo))
{
return true;
}
if (ClaimData.IsArchivIntezmeny && ClaimData.IsArchivAdminUser)
{
return true;
}
if (ClaimData.IsArchivIntezmeny && !ClaimData.IsArchivAdminUser && TanarNyomtatasDokumentumIds.Contains(nyomtatvanyId))
{
return true;
}
}
return false;
}
private void AddNyomtatvanyMintZipEntry(ZipOutputStream zipOutput, DataSet ds, string frxNeve, Dictionary<string, object> parameters = null, string nyomtatvanyNeve = "Alap", string headerImage = null, string footerImage = null, int formatumId = 1, bool egyediLablecKellOldalszam = true, Enums.DokumentumTipusEnum? dokumentumTipus = null, bool IsAspose = false, System.Reflection.MethodInfo asposeMetodus = null, AsposeHelperOptions asposeHelperOptions = null)
{
using (var stream = GetMemoryStreamByName(ds, frxNeve, parameters, nyomtatvanyNeve, headerImage, footerImage, formatumId, egyediLablecKellOldalszam, dokumentumTipus, IsAspose, asposeMetodus, asposeHelperOptions))
{
AddZipEntry(zipOutput, stream, nyomtatvanyNeve, formatumId);
}
}
private void AddExcelMintZipEntry(ZipOutputStream zipOutput, MemoryStream stream, string nyomtatvanyNeve = "Alap")
{
AddZipEntry(zipOutput, stream, nyomtatvanyNeve, NyomtatvanyFormatumEnum.Excel.AsInt());
}
private void TobbNyomtatvanyEgyDataSetbe(ref DataSet ds, DataSet mergingdDs, string excludedTables = null, string distinctTables = null)
{
if (ds.Tables.Count == 0)
{
ds = mergingdDs.Copy();
return;
}
var excludedTableNames = string.IsNullOrWhiteSpace(excludedTables) ? Array.Empty<string>() : excludedTables.Split(",".ToCharArray());
foreach (DataTable table in mergingdDs.Tables)
{
if (!excludedTableNames.Contains(table.TableName))
{
ds.Tables[table.TableName].Merge(table);
var distinctTableNames = string.IsNullOrWhiteSpace(distinctTables) ? Array.Empty<string>() : distinctTables.Split(",".ToCharArray());
if ((distinctTableNames.Length > 0) && (distinctTableNames.Contains(table.TableName)))
{
DataView dv = ds.Tables[table.TableName].DefaultView;
ds.Tables.Remove(table.TableName);
ds.Tables.Add(dv.ToTable(table.TableName, true, table.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray()));
}
}
}
}
private bool GetIsIskolaerdekuSzamit()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Az_iskolaerdeku_tavollet_tipusu_igazolasok_beleszamitanak_a_tanulo_osszes_mulasztasaba);
}
private int GetMinTanoraSzam()
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return (int)systemSettingsHelper.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Ervenyes_tanitasi_nap_oraszam);
}
private bool AdminisztratorVagySzuperOsztalyfonok()
{
return ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue);
}
private string GetTagintezmenyCime(NyomtatvanyModel model)
{
return model.TagintezmenyCime ? model.TagintezmenyCimeDropdown : string.Empty;
}
#endregion
public FileStreamResult LEPSzakmaiUtmutato()
{
FileStream fs = new FileStream(Server.MapPath("~/Resources/LEP/Lázár_Ervin_Program_-_Szakmai_útmutatóV_1.pdf"), FileMode.Open, FileAccess.Read);
return new FileStreamResult(fs, Constants.ImportExport.FileFormatPdf)
{
FileDownloadName = "LEP_Útmutató.pdf"
};
}
[MvcRolePackageAuthorize(TanevEnum.AktTanev, KretaClaimPackages.Tanulo.ClaimValue, KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult TanuloiBizonyitvanyokLetoltese(BizonyitvanyDownloadModel model)
{
if (model.TanevId.HasValue)
{
try
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
var nyomtatvanyModel = new NyomtatvanyModel
{
FormatumId = (int)NyomtatvanyFormatumEnum.PDF,
KeltFormatumId = (int)KeltFormatumTipusEnum.Szammal,
KeltDatum = DateTime.Today,
BetuMeret = BetuMeretEnum.Normal,
NyomtatvanyErtekelesMegjelenitesId = (int)NyomtatvanyErtekelesMegjelenitesEnum.Tablazatos,
PHMegjelenitese = true,
MulasztasokUjLapon = false,
KiiratkozottTanulokMegjelenitese = true,
isFelmentesekMegjelenitese = false,
TanitasiHetekSzamaVegzos = 32,
TanitasiHetekSzamaNemVegzos = 36,
EvesOraszam = true,
AtlagFeltuntetes = false,
TagintezmenyCime = false,
ElmeletGyakorlatKulon = false,
TanuloZaradekai = false,
KozossegiSzolgalat = false,
CimzettId = (int)ErtesitoCimzettjeEnum.GondviseloReszere,
AltantargyBeszamitasa = true,
AlapszintuNyomtatvanyokKulonDokumentumba = true,
};
var (tanuloId, osztalyai, csoportjai) = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloElozoEvesTanuloEsOsztalyCsoportjai(ClaimData.FelhasznaloId, model.TanevId.Value, new List<int> { (int)OktNevelesiKategoriaEnum.Kollegium });
if (!tanuloId.HasValue)
{
throw NyomtatvanyokLogic.NyomtatvanyError(NyomtatvanyokResource.TanuloNemTalahatoAKivalasztottElozoEvben, HttpStatusCode.BadRequest);
}
nyomtatvanyModel.OsztalyIdList = osztalyai;
nyomtatvanyModel.TanuloIdList = new List<int> { tanuloId.Value };
var origSelectedTanevId = ClaimData.SelectedTanevID;
ClaimData.SelectedTanevID = model.TanevId;
var alulirottak = new ComboBoxHelperApiController().GetAlulirottMegnevezeseEnumListItems(false, (int)NyomtatvanyNyelvEnum.Magyar);
var alulirott = alulirottak.FirstOrDefault(x => x.Selected) ?? alulirottak.Single(x => x.Text.Contains(NyomtatvanyokResource.IntezmenyiAdatokbol));
nyomtatvanyModel.AlulirottMegnevezesId = int.Parse(alulirott.Value);
var dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, true, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1Evfolyamon, true, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, true, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1Evfolyamon, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, false, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2Evfolyamtol, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, true, (int)NyomtatvanyNyelvEnum.Nemet, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1EvfolyamonNemet, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, false, (int)NyomtatvanyNyelvEnum.Nemet, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2EvfolyamtolNemet, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, true, (int)NyomtatvanyNyelvEnum.Angol, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1EvfolyamonAngol, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)BizonyitvanyPotlap(nyomtatvanyModel, false, (int)NyomtatvanyNyelvEnum.Angol, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2EvfolyamtolAngol, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesitoSzoveges, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesito1tol4osztaly, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesito, Enums.DokumentumTipusEnum.EvVegiErtesito, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesitoFuzet, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesitoFuzet1tol4osztaly, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesitoFuzetNyomtatvany, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesitoFuzetNyomtatvanyra, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.EvVegiErtesitoEllenorzobenElhelyezhetoA5Meretben, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvvegiErtesitoEllenorzobe, Enums.DokumentumTipusEnum.EvVegiErtesitoEllenorzobenElhelyezheto, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
if (csoportjai.Count > 0)
{
nyomtatvanyModel.OsztalyIdList = null;
nyomtatvanyModel.CsoportIdList = csoportjai;
dokumentResult = (FileStreamResult)Ertesito(nyomtatvanyModel, NyomtatvanyEnum.EvVegiErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.EviErtesitoMuveszoktatasban, true, egyTanuloTobbNyomtatvanyaEgyben: true);
AddZipEntry(ZipOutPut, dokumentResult.FileStream, dokumentResult.FileDownloadName, null);
}
ClaimData.SelectedTanevID = origSelectedTanevId;
ZipOutPut.Finish();
OutPut.Position = 0;
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = model.TanevId };
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas("TanuloiBizonyitvanyok", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
if (ex is StatusError)
{
throw;
}
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
throw NyomtatvanyokLogic.NyomtatvanyError(NyomtatvanyokResource.TanevKivalasztasaKotelezo);
}
}
public static class XmlParseExtension
{
public static string TryGetElementValue(this XElement parentEl, string elementName, string defaultValue = null)
{
var foundEl = parentEl.Attribute(elementName);
if (foundEl != null)
return foundEl.Value;
return defaultValue;
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,988 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
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 TanuloiErtesito(NyomtatvanyModel model, NyomtatvanyEnum ertesitoTipusEnum, Enums.DokumentumTipusEnum dokumentumTipus)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
var (ErtekelesTipus, ErtesitoSablonTipus, IsSzovegesErtesito) = GetErtesitoDetails(ertesitoTipusEnum, model.ElmeletGyakorlat);
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanuloErtesito));
var dsParameterek = new Dictionary<string, object>
{
{"tanuloId", -1 },
{"ertekelesTipus", ErtekelesTipus},
{"iskolaErdekuSzamit", isIskolaerdekuSzamit},
{"elmeletGyakorlat", model.ElmeletGyakorlatKulon},
{"kozossegiSzolgalat", model.KozossegiSzolgalat},
{"isMagatartasSzorgalomNemLatszik", !model.MagatartasSzorgalomMegjelenitese }
};
var frxParameterek = new Dictionary<string, object>
{
{"Idoszak", ErtekelesTipus},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"TagintezmenyCim", GetTagintezmenyCime(model)},
{"FontSizeDifference", model.BetuMeret.AsInt()},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{"isMulasztasokUjLapon", model.MulasztasokUjLapon},
{"PHMegjelenitese", model.PHMegjelenitese }
};
return AltalanosTanuloiGeneralas(model, ErtesitoSablonTipus, DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec,OsztalyAdatok,TanuloElerhetosegei,TanuloGondviselo", tablakFilterByTanuloId: "TanuloAlapAdatok,TanuloTantargyak,TanuloMulasztasai,TanuloTantargyiFelmentesei,TanuloGondviselo,TanuloElerhetosegei,TantestuletFeljegyzes", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "TanuloAlapAdatok", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult TorzslapGeneralas(NyomtatvanyModel model, bool isSzoveges, int nyomtatvanyNyelvEnum, bool isReszletes, Enums.DokumentumTipusEnum dokumentumTipus, bool isMuveszetOktatas = false, bool isUjTorzslap = false, NyomtatvanyEnum? kretaLogoPozicio = null)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTorzslapAdatok));
if (kretaLogoPozicio == null)
{
if (isUjTorzslap)
{
kretaLogoPozicio = NyomtatvanyEnum.KretaLogoBalOldal;
}
else
{
kretaLogoPozicio = NyomtatvanyEnum.KretaLogoJobbOldal;
}
}
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit},
{ "nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{ "isKozossegiSzolgalat", model.KozossegiSzolgalat},
{ "tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{ "tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{ "altantargyBeszamitasa", model.AltantargyBeszamitasa},
{ "isMuveszetOktatasi", isMuveszetOktatas},
{ "tanulokNevsorRendezesColumnIndex", model.TanulokNevsorRendezeseId},
{ "isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{ "nyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{ "nemzetisegiNyelvId", model.NemzetisegiNyelvId},
{ "isShowTanulmanyiAtlag", false },
{ "is20_21OrLaterTanev", ClaimData.IsSelectedTanev20_21OrLater },
{ "is21_22OrLaterTanev", ClaimData.IsSelectedTanev21_22OrLater },
{ nameof(model.OkjSzakmacsoport),model.OkjSzakmacsoport },
{ nameof(model.OkjAgazat),model.OkjAgazat },
{ nameof(model.OkjSzakkepesites),model.OkjSzakkepesites },
{ nameof(model.OkjReszszakkepesites),model.OkjReszszakkepesites },
{ nameof(model.UjSzktAgazat),model.UjSzktAgazat },
{ nameof(model.UjSzktSzakma),model.UjSzktSzakma },
{ nameof(model.UjSzktSzakmairany),model.UjSzktSzakmairany },
{ nameof(model.NktTanulmanyiTerulet),model.NktTanulmanyiTerulet },
{ nameof(model.NktSzakkepesites),model.NktSzakkepesites },
{ nameof(model.NktSzakirany),model.NktSzakirany },
{ nameof(isUjTorzslap), isUjTorzslap },
{ nameof(model.FejlecMegjelenites), model.FejlecMegjelenites },
{ nameof(model.JegyzekSzerepeltetese), model.JegyzekSzerepeltetese },
{ "isMagatartasSzorgalomNemLatszik", !model.MagatartasSzorgalomMegjelenitese }
};
var frxParameterek = new Dictionary<string, object>
{
{"OraEvesSorszamMegjelenjen", model.EvesOraszamMegjelenjen.ToString()},
{"FejlecMegjelenites", model.FejlecMegjelenites.ToString()},
{"AdatokMegjelenites", model.AdatMegjelenites.ToString()},
{"ElmeletGyakorlat", model.ElmeletGyakorlatKulon.ToString()},
{"GondviseloAdatok", model.GondviseloMegjelenites.ToString()},
{"DatumFormatuma", model.KeltFormatumId.ToString()},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"KeltIdegenNyelv", model.KeltDatum.ToString(Core.Constants.ToStringPattern.OtherLanguageDate)},
{"TagintezmenyCim", GetTagintezmenyCime(model)},
{"OKJ", model.JegyzekSzerepeltetese.ToString()},
{"SNI", model.SNI.ToString()},
{"BTM", model.BTM.ToString()},
{nameof(isMuveszetOktatas), isMuveszetOktatas},
{nameof(model.isFeljegyzesekMegjelenitese), model.isFeljegyzesekMegjelenitese},
{nameof(model.isFelmentesekMegjelenitese), model.isFelmentesekMegjelenitese},
{nameof(model.KozossegiSzolgalat), model.KozossegiSzolgalat},
{"FontSizeDifference", model.BetuMeret.AsInt()},
{nameof(model.BetuMeretSzam), model.BetuMeretSzam },
{nameof(isUjTorzslap), isUjTorzslap },
{nameof(model.IsUjSzkt), model.IsUjSzkt },
{"isCsakTorzslapOldal", GetIsCsakTorzslapOldal(model)},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{nameof(model.KotesMargoTipus), (int) model.KotesMargoTipus},
{"isMulasztasokUjLapon", model.MulasztasokUjLapon},
{nameof(model.SNIAdatokMegjeleniteseUresen), model.SNIAdatokMegjeleniteseUresen},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: nyomtatvanyNyelvEnum).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
{"is20_21OrLater", ClaimData.IsSelectedTanev20_21OrLater},
{"OkjFelriat", ClaimData.IsSelectedTanev20_21OrLater ? NyomtatvanyokResource.JegyzekFelirat : NyomtatvanyokResource.OKJFelirat},
{"IsZaradekDatumVisible", model.ZaradekKeltMegjelenites },
{nameof(kretaLogoPozicio), kretaLogoPozicio.ToString() }
};
return AltalanosTanuloiGeneralas(model, GetTorzslapSablon(isSzoveges, nyomtatvanyNyelvEnum, isReszletes), DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec,Osztaly", isCsoport: isMuveszetOktatas, tablakFilterByTanuloId: "Tanulok,Hatarozat,Feljegyzesek,Mulasztasok,Ertekeles,TanuloLista,TanuloKozossegiSzolgalat,TanuloSNI,TanuloBTM,Felmentesek,FeljegyzesKozossegiSzolgalat,OsszefuggoSzakmaiGyakorlat", tanuloIdColumnName: "TanuloId");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private bool GetIsCsakTorzslapOldal(NyomtatvanyModel model)
{
//NOTE: Ha egy doksiba kell, akkor kell elő-, és utólap. (nem csak törzslap)
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
return false;
}
else
{
//NOTE: Tanulókra való szűrésnél csak törzslap.
if (model.TanuloIdList != null)
{
return true;
}
else
{
//NOTE: Ha egynél több osztály/csoport szerepel, akkor mindegyikhez kell elő-, és utólap.
var idList = model.OsztalyIdList ?? model.CsoportIdList;
return idList.Count <= 1;
}
}
}
private string GetTorzslapSablon(bool isSzoveges, int nyomtatvanyNyelvEnum, bool isReszletes)
{
string sablon;
switch (nyomtatvanyNyelvEnum)
{
case 1:
sablon = isSzoveges ? "Torzslap_szoveges_nemet" : (isReszletes ? "Torzslap_reszletes_nemet" : "Torzslap_nemet");
break;
case 2:
sablon = isSzoveges ? "Torzslap_szoveges_angol" : (isReszletes ? "Torzslap_reszletes_angol" : "Torzslap_angol");
break;
default:
sablon = isSzoveges ? "Torzslap_szoveges" : "Torzslap";
break;
}
return sablon;
}
private (int ErtekelesTipus, string ErtesitoSablonTipus, bool IsSzovegesErtesito) GetErtesitoDetails(NyomtatvanyEnum ertesitoTipusEnum, bool isElmeletGyakorlatKulon)
{
int ertekelesTipus;
string ertesitoSablonTipus;
bool isSzovegesErtesito = false;
switch (ertesitoTipusEnum)
{
case NyomtatvanyEnum.FeleviTanuloErtesito:
case NyomtatvanyEnum.FeleviErtesito:
case NyomtatvanyEnum.FeleviErtesitoEllenorzobe:
case NyomtatvanyEnum.FeleviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.FeleviErtesitoSzoveges:
case NyomtatvanyEnum.FeleviErtesitoFuzet:
case NyomtatvanyEnum.FeleviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.FeleviErtesitoFuzetKetoldalas:
ertekelesTipus = (int)ErtekelesTipusEnum.felevi_jegy_ertekeles;
break;
case NyomtatvanyEnum.EvvegiTanuloErtesito:
case NyomtatvanyEnum.EvvegiErtesito:
case NyomtatvanyEnum.EvvegiErtesitoEllenorzobe:
case NyomtatvanyEnum.EvvegiErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.EvvegiErtesitoSzoveges:
case NyomtatvanyEnum.EvvegiErtesitoFuzet:
case NyomtatvanyEnum.EvvegiErtesitoFuzetNyomtatvany:
case NyomtatvanyEnum.EvVegiErtesitoMuveszOktatasban:
ertekelesTipus = (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles;
break;
case NyomtatvanyEnum.NegyedeviTanuloErtesito:
case NyomtatvanyEnum.NegyedeviErtesito:
case NyomtatvanyEnum.NegyedeviErtesitoEllenorzobe:
case NyomtatvanyEnum.NegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.NegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.NegyedeviErtesitoFuzet:
case NyomtatvanyEnum.NegyedeviErtesitoMuveszOktatasban:
ertekelesTipus = (int)ErtekelesTipusEnum.I_ne_jegy_ertekeles;
break;
case NyomtatvanyEnum.MasodikNegyedeviTanuloErtesito:
case NyomtatvanyEnum.MasodikNegyedeviErtesito:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoEllenorzobe:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoFuzet:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoMuveszOktatasban:
ertekelesTipus = (int)ErtekelesTipusEnum.II_ne_jegy_ertekeles;
break;
case NyomtatvanyEnum.HarmadikNegyedeviTanuloErtesito:
case NyomtatvanyEnum.HarmadikNegyedeviErtesito:
case NyomtatvanyEnum.HarmadikNegyedeviEllenorzobe:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoFuzet:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoMuveszOktatasban:
ertekelesTipus = (int)ErtekelesTipusEnum.III_ne_jegy_ertekeles;
break;
case NyomtatvanyEnum.NegyedikNegyedeviTanuloErtesito:
case NyomtatvanyEnum.NegyedikNegyedeviErtesito:
case NyomtatvanyEnum.NegyedikNegyedeviEllenorzobe:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoFuzet:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoMuveszOktatasban:
ertekelesTipus = (int)ErtekelesTipusEnum.IV_ne_jegy_ertekeles;
break;
default:
ertekelesTipus = -1;
break;
}
switch (ertesitoTipusEnum)
{
case NyomtatvanyEnum.FeleviTanuloErtesito:
case NyomtatvanyEnum.EvvegiTanuloErtesito:
case NyomtatvanyEnum.NegyedeviTanuloErtesito:
case NyomtatvanyEnum.MasodikNegyedeviTanuloErtesito:
case NyomtatvanyEnum.HarmadikNegyedeviTanuloErtesito:
case NyomtatvanyEnum.NegyedikNegyedeviTanuloErtesito:
ertesitoSablonTipus = "TanuloErtesito";
break;
case NyomtatvanyEnum.FeleviErtesito:
case NyomtatvanyEnum.EvvegiErtesito:
case NyomtatvanyEnum.NegyedeviErtesito:
case NyomtatvanyEnum.MasodikNegyedeviErtesito:
case NyomtatvanyEnum.HarmadikNegyedeviErtesito:
case NyomtatvanyEnum.NegyedikNegyedeviErtesito:
case NyomtatvanyEnum.FeleviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.NegyedeviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoMuveszOktatasban:
case NyomtatvanyEnum.EvVegiErtesitoMuveszOktatasban:
ertesitoSablonTipus = isElmeletGyakorlatKulon ? "ertekelesReszletes" : "ertekeles";
break;
case NyomtatvanyEnum.FeleviErtesitoEllenorzobe:
case NyomtatvanyEnum.EvvegiErtesitoEllenorzobe:
case NyomtatvanyEnum.NegyedeviErtesitoEllenorzobe:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoEllenorzobe:
case NyomtatvanyEnum.HarmadikNegyedeviEllenorzobe:
case NyomtatvanyEnum.NegyedikNegyedeviEllenorzobe:
ertesitoSablonTipus = isElmeletGyakorlatKulon ? "ertekelesEllenorzobeReszletes" : "ertekelesEllenorzobe";
break;
case NyomtatvanyEnum.FeleviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.EvvegiErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.NegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoA5Ellenorzobe:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoA5Ellenorzobe:
ertesitoSablonTipus = isElmeletGyakorlatKulon ? "ertekelesA5EllenorzobeReszletes" : "ertekelesA5Ellenorzobe";
break;
case NyomtatvanyEnum.FeleviErtesitoSzoveges:
case NyomtatvanyEnum.EvvegiErtesitoSzoveges:
case NyomtatvanyEnum.NegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoSzoveges:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoSzoveges:
ertesitoSablonTipus = "ertekelesSzoveges";
isSzovegesErtesito = true;
break;
case NyomtatvanyEnum.FeleviErtesitoFuzet:
case NyomtatvanyEnum.EvvegiErtesitoFuzet:
case NyomtatvanyEnum.NegyedeviErtesitoFuzet:
case NyomtatvanyEnum.MasodikNegyedeviErtesitoFuzet:
case NyomtatvanyEnum.HarmadikNegyedeviErtesitoFuzet:
case NyomtatvanyEnum.NegyedikNegyedeviErtesitoFuzet:
ertesitoSablonTipus = "ertekelesFuzet";
isSzovegesErtesito = true;
break;
case NyomtatvanyEnum.FeleviErtesitoFuzetKetoldalas:
ertesitoSablonTipus = "ertekelesFuzetKetoldalas";
isSzovegesErtesito = true;
break;
case NyomtatvanyEnum.EvvegiErtesitoFuzetNyomtatvany:
ertesitoSablonTipus = "ertekelesFuzetNyomtatvany";
isSzovegesErtesito = true;
break;
default:
ertesitoSablonTipus = "ertekeles";
break;
}
return (ErtekelesTipus: ertekelesTipus, ErtesitoSablonTipus: ertesitoSablonTipus, IsSzovegesErtesito: isSzovegesErtesito);
}
private ActionResult Ertesito(NyomtatvanyModel model, NyomtatvanyEnum ertesitoTipusEnum, Enums.DokumentumTipusEnum? dokumentumTipus, bool isMuveszetOktatas = false, bool egyTanuloTobbNyomtatvanyaEgyben = false)
{
try
{
(int ErtekelesTipus, string ErtesitoSablonTipus, bool IsSzovegesErtesito) = GetErtesitoDetails(ertesitoTipusEnum, model.ElmeletGyakorlatKulon);
var nyomtatvanyNyelvEnum = (int)NyomtatvanyNyelvEnum.Magyar;
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetErtesito));
var dsParameterek = new Dictionary<string, object>
{
{"ertekelesTipus", ErtekelesTipus},
{"iskolaErdekuSzamit", isIskolaerdekuSzamit},
{"tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{"tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{"altantargyBeszamitasa", model.AltantargyBeszamitasa},
{"nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{"isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{"elmeletGyakorlat", model.ElmeletGyakorlatKulon},
{"kozossegiSzolgalat", model.KozossegiSzolgalat},
{"isShowTanuloiAtlag", model.AtlagFeltuntetes},
{"isMuveszetOktatasi", isMuveszetOktatas},
{"negyedevreSzamoltMulasztasok", model.NegyedevreSzamoltMulasztasok},
{"kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese},
{"isSzovegesErtesito", IsSzovegesErtesito },
{"isMagatartasSzorgalomNemLatszik", !model.MagatartasSzorgalomMegjelenitese }
};
var frxParameterek = new Dictionary<string, object>
{
{"Idoszak", ErtekelesTipus},
{nameof(isMuveszetOktatas), isMuveszetOktatas},
{"ErtesitesCimzettje", model.CimzettId},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AtlagFeltuntet", model.AtlagFeltuntetes},
{"TantestuletFeljegyzesei", model.TanuloZaradekai},
{"FelmentesekSzerepeltetese", model.isErtesitokFelmentesekMegjelenitese},
{"TagintezmenyCim", GetTagintezmenyCime(model)},
{"FontSizeDifference", model.BetuMeret.AsInt()},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{"OraEvesSorszamMegjelenjen", model.EvesOraszamMegjelenjen},
{"isMulasztasokUjLapon", model.MulasztasokUjLapon},
{"PHMegjelenitese", model.PHMegjelenitese },
{"IsZaradekDatumVisible", model.ZaradekKeltMegjelenites }
};
return AltalanosTanuloiGeneralas(model, ErtesitoSablonTipus, DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec,OsztalyAdatok", isCsoport: isMuveszetOktatas, tablakFilterByTanuloId: "Tanulok,Ertekeles,Mulasztasok,Mentessegek,TanuloGondviselo,TanuloElerhetosegei,OsszefuggoSzakmaiGyakorlat,FeljegyzesekHatarozatok,Zaradekok" + ((model.AtlagFeltuntetes) ? ",TanuloErtekelesAtlag" : ""), tanuloIdColumnName: "TanuloId", emptyDocumentTable: "Tanulok", egyediLablecKellOldalszam: false, egyTanuloTobbNyomtatvanyaEgyben: egyTanuloTobbNyomtatvanyaEgyben);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private string GetBizonyitvanySablon(bool isSzoveges, int nyomtatvanyNyelvEnum, bool isKetoldalas)
{
string sablon;
switch (nyomtatvanyNyelvEnum)
{
case (int)NyomtatvanyNyelvEnum.Nemet:
sablon = isSzoveges ? "BizonyitvanyPotlapElsoEvfolyam_nemet" : "BizonyitvanyPotlapTobbiEvfolyam_nemet";
break;
case (int)NyomtatvanyNyelvEnum.Angol:
sablon = isSzoveges ? "BizonyitvanyPotlapElsoEvfolyam_angol" : "BizonyitvanyPotlapTobbiEvfolyam_angol";
break;
default:
sablon = isSzoveges ? isKetoldalas ? "BizonyitvanyPotlapElsoEvfolyamKetoldalas" : "BizonyitvanyPotlapElsoEvfolyam" : "BizonyitvanyPotlapTobbiEvfolyam";
break;
}
return sablon;
}
private ActionResult BizonyitvanyPotlap(NyomtatvanyModel model, bool isSzoveges, int nyomtatvanyNyelvEnum, Enums.DokumentumTipusEnum dokumentumTipus, bool isKetoldalas = false, bool egyTanuloTobbNyomtatvanyaEgyben = false)
{
try
{
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetErtesito));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>
{
{"ertekelesTipus", (int) ErtekelesTipusEnum.evvegi_jegy_ertekeles},
{"iskolaErdekuSzamit", isIskolaerdekuSzamit},
{"tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{"tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{"altantargyBeszamitasa", model.AltantargyBeszamitasa},
{"nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{"isShowTanuloiAtlag", model.AtlagFeltuntetes},
{"isBizonyitvany", true},
{"kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese},
{"isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{"negyedevreSzamoltMulasztasok", true},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{"isMagatartasSzorgalomNemLatszik", !model.MagatartasSzorgalomMegjelenitese }
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
{"OraEvesSorszamMegjelenjen", model.EvesOraszamMegjelenjen.ToString()},
{"AtlagFeltuntet", model.AtlagFeltuntetes},
{"TagintezmenyCim", GetTagintezmenyCime(model)},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"KeltIdegenNyelv", model.KeltDatum.ToString(Core.Constants.ToStringPattern.OtherLanguageDate)},
{"NyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{"isMulasztasokUjLapon", model.MulasztasokUjLapon},
{"FontSizeDifference", model.BetuMeret.AsInt()},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: nyomtatvanyNyelvEnum).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
};
return AltalanosTanuloiGeneralas(model, GetBizonyitvanySablon(isSzoveges, nyomtatvanyNyelvEnum, isKetoldalas), DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "Tanulok,Ertekeles,Mulasztasok,Mentessegek,TanuloGondviselo,TanuloElerhetosegei,OsszefuggoSzakmaiGyakorlat,FeljegyzesekHatarozatok,Zaradekok" + ((model.AtlagFeltuntetes) ? ",TanuloErtekelesAtlag" : ""), tanuloIdColumnName: "TanuloId", emptyDocumentTable: "Tanulok", egyediLablecKellOldalszam: false, egyTanuloTobbNyomtatvanyaEgyben: egyTanuloTobbNyomtatvanyaEgyben);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#region Félévi értesítők
[HttpPost]
public ActionResult FeleviErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesito, Enums.DokumentumTipusEnum.FeleviErtesito);
}
[HttpPost]
public ActionResult FeleviErtesitoEllenorzobe([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoEllenorzobe, Enums.DokumentumTipusEnum.FeleviErtesitoEellenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult FeleviErtesitoEllenorzobeA5([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.FeleviErtesitoEellenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult FeleviSzovErtekeles([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoSzoveges, Enums.DokumentumTipusEnum.FeleviSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult FeleviErtesitoFuzetbe([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoFuzet, Enums.DokumentumTipusEnum.FeleviSzovegesErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult FeleviErtesitoFuzetbeKetoldalas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoFuzetKetoldalas, Enums.DokumentumTipusEnum.FeleviSzovegesErtesitoFuzetKetoldalasNyomtatashoz);
}
[HttpPost]
public ActionResult FeleviErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.FeleviErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.FeleviErtesitoMuveszoktatasban, true);
}
#endregion
#region Év végi értesítők
[HttpPost]
public ActionResult EvvegiErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesito, Enums.DokumentumTipusEnum.EvVegiErtesito);
}
[HttpPost]
public ActionResult EvvegiErtesitoEllenorzobe([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesitoEllenorzobe, Enums.DokumentumTipusEnum.EvVegiErtesitoEllenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult EvvegiErtesitoEllenorzobeA5([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.EvVegiErtesitoEllenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult EvvegiSzovErtekeles([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesitoSzoveges, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult EvvegiErtesitoFuzetbe([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesitoFuzet, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult EvvegiErtesitoFuzetbeNyomtatvany([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvvegiErtesitoFuzetNyomtatvany, Enums.DokumentumTipusEnum.EvVegiSzovegesErtesitoFuzetNyomtatvanyra);
}
[HttpPost]
public ActionResult EvVegiErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.EvVegiErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.EviErtesitoMuveszoktatasban, true);
}
#endregion
#region I. negyedéves értesítők
[HttpPost]
public ActionResult NegyedeviErtesitoNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesito, Enums.DokumentumTipusEnum.INegyedeviErtesito_);
}
[HttpPost]
public ActionResult NegyedeviErtesitoEllenorzobeNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesitoEllenorzobe, Enums.DokumentumTipusEnum.INegyedeviErtesitoEllenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult NegyedeviErtesitoEllenorzobeA5Nyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.INegyedeviErtesitoEllenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult NegyedeviErtesitoSzovegesNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesitoSzoveges, Enums.DokumentumTipusEnum.INegyedeviSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult NegyedeviErtesitoFuzetNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesitoFuzet, Enums.DokumentumTipusEnum.INegyedevSzovegesiErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult NegyedEviErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedeviErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.INegyedeviErtesitoMuveszoktatasban, true);
}
#endregion
#region II. negyedéves értesítők
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesito, Enums.DokumentumTipusEnum.IINegyedeviErtesito_);
}
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoEllenorzobeNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesitoEllenorzobe, Enums.DokumentumTipusEnum.IINegyedeviErtesitoEllenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoEllenorzobeA5Nyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.IINegyedeviErtesitoEllenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoSzovegesNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesitoSzoveges, Enums.DokumentumTipusEnum.IINegyedeviSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoFuzetNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesitoFuzet, Enums.DokumentumTipusEnum.IINegyedevSzovegesiErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult MasodikNegyedeviErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.MasodikNegyedeviErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.IINegyedeviErtesitoMuveszoktatasban, true);
}
#endregion
#region III. negyedéves értesítők
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviErtesito, Enums.DokumentumTipusEnum.IIINegyedeviErtesito_);
}
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoEllenorzobeNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviEllenorzobe, Enums.DokumentumTipusEnum.IIINegyedeviErtesitoEllenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoEllenorzobeA5Nyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.IIINegyedeviErtesitoEllenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoSzovegesNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviErtesitoSzoveges, Enums.DokumentumTipusEnum.IIINegyedeviSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoFuzetNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviErtesitoFuzet, Enums.DokumentumTipusEnum.IIINegyedevSzovegesiErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult HarmadikNegyedeviErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.HarmadikNegyedeviErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.IIINegyedeviErtesitoMuveszoktatasban, true);
}
#endregion
#region IV. negyedéves értesítők
[HttpPost]
public ActionResult NegyedikNegyedeviErtesitoNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviErtesito, Enums.DokumentumTipusEnum.IVNegyedeviErtesito_);
}
[HttpPost]
public ActionResult NegyedikNegyedeviErtesitoEllenorzobeNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviEllenorzobe, Enums.DokumentumTipusEnum.IVNegyedeviErtesitoEllenorzobenElhelyezheto);
}
[HttpPost]
public ActionResult NegyedikNegyedeviErtesitoEllenorzobeA5Nyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviErtesitoA5Ellenorzobe, Enums.DokumentumTipusEnum.IVNegyedeviErtesitoEllenorzobenElhelyezhetoA5Meretben);
}
[HttpPost]
public ActionResult NegyedikNegyedeviErtesitoSzovegesNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviErtesitoSzoveges, Enums.DokumentumTipusEnum.IVNegyedeviSzovegesErtesito1tol4osztaly);
}
[HttpPost]
public ActionResult NegyedikNegyedeviErtesitoFuzetNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviErtesitoFuzet, Enums.DokumentumTipusEnum.IVNegyedevSzovegesiErtesitoFuzet1tol4osztaly);
}
[HttpPost]
public ActionResult NegyedikNegyedEviErtesitoMuveszOktatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Ertesito(model, NyomtatvanyEnum.NegyedikNegyedeviErtesitoMuveszOktatasban, Enums.DokumentumTipusEnum.IVNegyedeviErtesitoMuveszoktatasban, true);
}
#endregion
#region Bizonyítvány pótlapok
[HttpPost]
public ActionResult BizonyitvanyPotlapSzovegesElso([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, true, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1Evfolyamon);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapSzovegesElsoKetoldalas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, true, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1Evfolyamon, true);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapTobbi([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, false, (int)NyomtatvanyNyelvEnum.Magyar, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2Evfolyamtol);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapSzovegesElsoNemet([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, true, (int)NyomtatvanyNyelvEnum.Nemet, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1EvfolyamonNemet);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapTobbiNemet([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, false, (int)NyomtatvanyNyelvEnum.Nemet, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2EvfolyamtolNemet);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapSzovegesElsoAngol([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, true, (int)NyomtatvanyNyelvEnum.Angol, Enums.DokumentumTipusEnum.BizonyitvanyPotlapAz1EvfolyamonAngol);
}
[HttpPost]
public ActionResult BizonyitvanyPotlapTobbiAngol([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return BizonyitvanyPotlap(model, false, (int)NyomtatvanyNyelvEnum.Angol, Enums.DokumentumTipusEnum.BizonyitvanyPotlapA2EvfolyamtolAngol);
}
#endregion
#region Törzslapok
[HttpPost]
public ActionResult TorzslapSzovegesNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, true, (int)NyomtatvanyNyelvEnum.Magyar, false, Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehez);
}
[HttpPost]
public ActionResult TorzslapSzovegesMuveszOktatasNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, true, (int)NyomtatvanyNyelvEnum.Magyar, false, Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezMuveszetoktatasban, true);
}
[HttpPost]
public ActionResult TorzslapSzovegesNemetNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, true, (int)NyomtatvanyNyelvEnum.Nemet, false, Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezNemetGepi);
}
[HttpPost]
public ActionResult TorzslapSzovegesAngolNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, true, (int)NyomtatvanyNyelvEnum.Angol, false, Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezAngolGepi);
}
[HttpPost]
public ActionResult TorzslapNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, false, (int)NyomtatvanyNyelvEnum.Magyar, model.ElmeletGyakorlatKulon, Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozGepi);
}
[HttpPost]
public ActionResult TorzslapUjNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, false, (int)NyomtatvanyNyelvEnum.Magyar, model.ElmeletGyakorlatKulon, Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozGepi, isUjTorzslap: true, kretaLogoPozicio: NyomtatvanyEnum.KretaLogoJobbOldal);
}
[HttpPost]
public ActionResult TorzslapMuveszetOktatasNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, false, (int)NyomtatvanyNyelvEnum.Magyar, model.ElmeletGyakorlatKulon, Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozGepiMuveszetoktatasban, true);
}
[HttpPost]
public ActionResult TorzslapNemetNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, false, (int)NyomtatvanyNyelvEnum.Nemet, model.ElmeletGyakorlatKulon, Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozNemetGepi);
}
[HttpPost]
public ActionResult TorzslapAngolNyomtatas(NyomtatvanyModel model)
{
return TorzslapGeneralas(model, false, (int)NyomtatvanyNyelvEnum.Angol, model.ElmeletGyakorlatKulon, Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozAngolGepi);
}
[HttpPost]
public ActionResult AmiTorzslapNyomtatas(NyomtatvanyModel model)
{
try
{
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetAmiTorzslap));
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetAmiTorzslapAdatok));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit}
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
};
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Margins = null,
DocumentParameters = new AsposeDocumentParameters()
{
MuveszetiAgId = model.MuveszetiAgId,
Kelt = model.KeltDatum,
KeltFormatum = (KeltFormatumTipusEnum)model.KeltFormatumId,
NyomtatvanyFormatum = (NyomtatvanyFormatumEnum)model.FormatumId,
FejlecMegjelenitese = model.FejlecMegjelenites,
AdatokMegjelenitese = model.AdatMegjelenites,
FelmentesekMegjelenitese = model.isFelmentesekMegjelenitese,
FeljegyzesekMegjelenitese = model.isFeljegyzesekMegjelenitese,
SNIMegjelenites = model.SNI,
KotesmargoTipus = model.KotesMargoTipus,
BetuMeretAdatok = model.BetuMeretAdatok,
BetuMeretFejlec = model.BetuMeretFejlec,
BetuMeretSNI = model.BetuMeretSNI,
MegjegyzesekMegjelenitese = model.MegjegyzesekMegjelenitese,
}
};
return AltalanosTanuloiGeneralas(model, null, DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, Kreta.Enums.DokumentumTipusEnum.AlapitoOkirat, metodus, 0, dsParameterek, frxParameterek, nyomtatvanyNeve: "TozslapKivonat_AMI", distinctTables: "KozosAdatok", tablakFilterByTanuloId: "TanuloiAdatok,SNIAdatok,Zaradekok,Feljegyzesek,Felmentesek,AlapZarovizsa,Tantargyak,Mulasztasok,Naploszamok", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "TanuloiAdatok", egyediLablecKellOldalszam: false, IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult UzenofuzetErtekelolapNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetUzenofuzetErtekelolap));
var dsParameterek = new Dictionary<string, object>();
var frxParameterek = new Dictionary<string, object>
{
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
};
return AltalanosTanuloiGeneralas(model, "UzenofuzetErtekelolap", DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, Enums.DokumentumTipusEnum.UzenofuzetErtekelolap, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec,Osztaly", tablakFilterByTanuloId: "Tanulo,Osztalyzatok,Szoveges", tanuloIdColumnName: "TanuloId", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion
#region Waldorf Értesítők
[HttpPost]
public ActionResult FeleviTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.FeleviTanuloErtesito, Enums.DokumentumTipusEnum.FeleviTanuloiErtesitoWaldorfIskolaknak);
}
[HttpPost]
public ActionResult EvvegiTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.EvvegiTanuloErtesito, Enums.DokumentumTipusEnum.EvVegiTanuloiErtesitoWaldorfIskolaknak);
}
[HttpPost]
public ActionResult NegyedeviTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.NegyedeviTanuloErtesito, Enums.DokumentumTipusEnum.INegyedeviTanuloiErtesitoWaldorfIskolaknak);
}
[HttpPost]
public ActionResult MasodikNegyedeviTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.MasodikNegyedeviTanuloErtesito, Enums.DokumentumTipusEnum.IINegyedeviTanuloiErtesitoWaldorfIskolaknak);
}
[HttpPost]
public ActionResult HarmadikNegyedeviTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.HarmadikNegyedeviTanuloErtesito, Enums.DokumentumTipusEnum.IIINegyedeviTanuloiErtesitoWaldorfIskolaknak);
}
[HttpPost]
public ActionResult NegyedikNegyedeviTanuloErtesito([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanuloiErtesito(model, NyomtatvanyEnum.NegyedikNegyedeviTanuloErtesito, Enums.DokumentumTipusEnum.IVNegyedeviTanuloiErtesitoWaldorfIskolaknak);
}
#endregion
}
}

View file

@ -0,0 +1,843 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Mvc;
using Aspose.Cells;
using FastReport;
using FastReport.Utils;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Iktatas;
using Kreta.BusinessLogic.Logic;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
protected ActionResult StaticDocumentNyomtatas(string documentName, string nyomtatvanyNeve = "Alap", NyomtatvanyFormatumEnum formatum = NyomtatvanyFormatumEnum.PDF)
{
var h = new AsposeHelper();
MemoryStream ms;
if (!string.IsNullOrWhiteSpace(documentName))
{
var sablonPath = Url.Content("~/Resources/AsposeSablonok/" + documentName);
sablonPath = System.Web.Hosting.HostingEnvironment.MapPath(sablonPath);
using (var stream = System.IO.File.OpenRead(sablonPath))
{
ms = (MemoryStream)h.GetStaticDocument(stream, (int)formatum);
}
string extension;
switch (formatum)
{
case NyomtatvanyFormatumEnum.Word:
extension = Constants.ImportExport.FileFormatDocx;
break;
default:
extension = Constants.ImportExport.FileFormatPdf;
break;
}
return new FileContentResult(ms.ToArray(), MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode($"{nyomtatvanyNeve}.{extension}", Encoding.UTF8),
};
}
return null;
}
protected ActionResult Nyomtatas(DataSet ds, string frxNeve, Dictionary<string, object> parameterek = null, string nyomtatvanyNeve = "Alap", bool iktatas = false, string iktatasAzonosito = "Iktatas", string headerImage = null, string footerImage = null, int formatumId = (int)NyomtatvanyFormatumEnum.PDF, int? osztalyId = null, DokumentumKategoriaEnum? dokumentumKategoria = null, Enums.DokumentumTipusEnum? dokumentumTipus = null, NameValueCollection kulcsSzavak = null, FoszamDefinicioValueModel foszamDefinicio = null, bool egyediLablecKellOldalszam = true, bool IsAspose = false, System.Reflection.MethodInfo asposeMetodus = null, AsposeHelperOptions asposeHelperOptions = null, Bitmap qrCode = null)
{
if (ds.IsEmpty())
{
throw new StatusError(
HttpStatusCode.InternalServerError,
CommonResource.Ures);
}
if (!IsAspose)
{
return formatumId == (int)NyomtatvanyFormatumEnum.PDF ? PDFNyomtatas(ds, frxNeve, parameterek, nyomtatvanyNeve, iktatas, iktatasAzonosito, headerImage, footerImage, osztalyId, kulcsSzavak, dokumentumKategoria, dokumentumTipus, foszamDefinicio, egyediLablecKellOldalszam, qrCode) : WordNyomtatas(ds, frxNeve, parameterek, nyomtatvanyNeve, iktatas, iktatasAzonosito, osztalyId: osztalyId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio, egyediLablecKellOldalszam: egyediLablecKellOldalszam, qrCode);
}
else
{
if (asposeMetodus == null)
{
throw new ArgumentNullException(nameof(asposeMetodus));
}
if (asposeHelperOptions == null)
{
throw new ArgumentNullException(nameof(asposeHelperOptions));
}
var h = new AsposeHelper(ds, asposeHelperOptions);
MemoryStream ms;
if (!string.IsNullOrWhiteSpace(frxNeve))
{
var sablonPath = Url.Content("~/Resources/AsposeSablonok/" + frxNeve);
sablonPath = System.Web.Hosting.HostingEnvironment.MapPath(sablonPath);
using (var stream = System.IO.File.OpenRead(sablonPath))
{
ms = (MemoryStream)asposeMetodus.Invoke(h, new object[] { stream, formatumId });
}
}
else
{
ms = (MemoryStream)asposeMetodus.Invoke(h, new object[] { null, formatumId });
}
ms.Position = 0;
string extension;
switch (formatumId)
{
case (int)NyomtatvanyFormatumEnum.Word:
extension = Constants.ImportExport.FileFormatDocx;
break;
default:
extension = Constants.ImportExport.FileFormatPdf;
break;
}
return new FileContentResult(ms.ToArray(), MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode($"{nyomtatvanyNeve}.{extension}", Encoding.UTF8),
};
}
}
protected MemoryStream GetMemoryStreamByName(DataSet ds, string frxNeve, Dictionary<string, object> parameterek = null, string nyomtatvanyNeve = "Alap", string headerImage = null, string footerImage = null, int formatumId = (int)NyomtatvanyFormatumEnum.PDF, bool egyediLablecKellOldalszam = true, Enums.DokumentumTipusEnum? dokumentumTipus = null, bool IsAspose = false, System.Reflection.MethodInfo asposeMetodus = null, AsposeHelperOptions asposeHelperOptions = null)
{
if (!IsAspose)
{
const string fileTemplate = "{0}/{1}.frx";
var filePath = Server.MapPath(string.Format(fileTemplate, ApplicationData.NyomtatasiSablonokKonyvtar, frxNeve));
var result = formatumId == (int)NyomtatvanyFormatumEnum.PDF ? GetPdfMemoryStream(ds, parameterek, nyomtatvanyNeve, filePath, egyediLablecKellOldalszam, dokumentumTipus) : GetWordMemoryStream(ds, parameterek, nyomtatvanyNeve, filePath, egyediLablecKellOldalszam, dokumentumTipus);
return result;
}
else
{
if (asposeMetodus == null)
{
throw new ArgumentNullException(nameof(asposeMetodus));
}
if (asposeHelperOptions == null)
{
throw new ArgumentNullException(nameof(asposeHelperOptions));
}
var h = new AsposeHelper(ds, asposeHelperOptions);
if (!string.IsNullOrWhiteSpace(frxNeve))
{
var sablonPath = Url.Content("~/Resources/AsposeSablonok/" + frxNeve);
sablonPath = System.Web.Hosting.HostingEnvironment.MapPath(sablonPath);
return (MemoryStream)asposeMetodus.Invoke(h, new object[] { System.IO.File.OpenRead(sablonPath), formatumId });
}
else
{
return (MemoryStream)asposeMetodus.Invoke(h, new object[] { null, formatumId });
}
}
}
#region PDF generálás
protected ActionResult PDFNyomtatas(DataSet ds, string frxNeve, Dictionary<string, object> parameterek = null, string nyomtatvanyNeve = "Alap", bool iktatas = false, string iktatasAzonosito = "Iktatas", string headerImage = null, string footerImage = null, int? osztalyId = null, NameValueCollection kulcsSzavak = null, DokumentumKategoriaEnum? dokumentumKategoria = null, Enums.DokumentumTipusEnum? dokumentumTipus = null, FoszamDefinicioValueModel foszamDefinicio = null, bool egyediLablecKellOldalszam = true, Bitmap qrCode = null)
{
Config.WebMode = true;
const string _fileTemplate = "{0}/{1}.frx";
var report = new Report();
var mapPath = string.Format(_fileTemplate, ApplicationData.NyomtatasiSablonokKonyvtar, frxNeve);
report.Load(System.Web.Hosting.HostingEnvironment.MapPath(mapPath));
var (IsDokumentumFejlecMegjelenit, IsDokumentumLablecMegjelenit) = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetActualIntezmenyAdatok();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!iktatas && !NyomtatvanyokLogic.IsEgyediFejlecLablecTiltott(dokumentumTipus))
{
if (IsDokumentumFejlecMegjelenit && IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediFejlecLablec(report, fejlecImage, lablecImage, egyediLablecKellOldalszam);
}
if (IsDokumentumFejlecMegjelenit && !IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
NyomtatvanyokLogic.EgyediFejlec(report, fejlecImage);
}
if (IsDokumentumLablecMegjelenit && !IsDokumentumFejlecMegjelenit)
{
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediLablec(report, lablecImage, egyediLablecKellOldalszam);
}
}
if (qrCode != null)
{
NyomtatvanyokLogic.AddQrCode(report, qrCode);
}
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport
{
ShowProgress = false,
Subject = "Subject",
Title = nyomtatvanyNeve,
Compressed = true,
AllowPrint = true,
EmbeddingFonts = true,
Creator = Constants.ImportExport.Creator
};
var stream = new MemoryStream();
report.Report.Export(pdfExport, stream);
report.Dispose();
pdfExport.Dispose();
stream.Position = 0;
if (dokumentumTipus == Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap)
{
stream = OldalszamHelyettesitesPdf(stream);
}
var result = File(stream, "application/pdf", $"{nyomtatvanyNeve}.{Constants.ImportExport.FileFormatPdf}");
if (iktatas)
{
if (!dokumentumKategoria.HasValue || !dokumentumTipus.HasValue)
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKategoriaTipusSzukseges);
}
PoszeidonIktatas(result.FileStream, iktatasAzonosito, ClaimData.FelhasznaloId, dokumentumKategoria.Value, dokumentumTipus.Value, osztalyId, kulcsSzavak, foszamDefinicio);
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
return result;
}
return null;
}
protected MemoryStream GetPdfMemoryStreamByPath(DataSet ds, string filePath, Dictionary<string, object> parameterek = null, string pdfNeve = "Alap", bool egyediLablecKellOldalszam = true, Enums.DokumentumTipusEnum? dokumentumTipus = null)
{
var result = GetPdfMemoryStream(ds, parameterek, pdfNeve, filePath, egyediLablecKellOldalszam, dokumentumTipus);
return result;
}
private MemoryStream GetPdfMemoryStream(DataSet ds, Dictionary<string, object> parameterek, string pdfNeve, string filePath, bool egyediLablecKellOldalszam, Enums.DokumentumTipusEnum? dokumentumTipus)
{
Config.WebMode = true;
var report = new Report();
report.Load(filePath);
var (IsDokumentumFejlecMegjelenit, IsDokumentumLablecMegjelenit) = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetActualIntezmenyAdatok();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!NyomtatvanyokLogic.IsEgyediFejlecLablecTiltott(dokumentumTipus))
{
if (IsDokumentumFejlecMegjelenit && IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediFejlecLablec(report, fejlecImage, lablecImage, egyediLablecKellOldalszam);
}
if (IsDokumentumFejlecMegjelenit && !IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
NyomtatvanyokLogic.EgyediFejlec(report, fejlecImage);
}
if (IsDokumentumLablecMegjelenit && !IsDokumentumFejlecMegjelenit)
{
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediLablec(report, lablecImage, egyediLablecKellOldalszam);
}
}
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport
{
ShowProgress = false,
Subject = "Subject",
Title = pdfNeve,
Compressed = true,
AllowPrint = true,
EmbeddingFonts = true
};
var stream = new MemoryStream();
report.Report.Export(pdfExport, stream);
report.Dispose();
pdfExport.Dispose();
stream.Position = 0;
if (dokumentumTipus == Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap)
{
stream = OldalszamHelyettesitesPdf(stream);
}
return stream;
}
return null;
}
private MemoryStream OldalszamHelyettesitesPdf(Stream ms)
{
ms.Position = 0;
var ret = new MemoryStream();
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(ms);
var fragmentAbsober = new Aspose.Pdf.Text.TextFragmentAbsorber("{osszoldalszam\\d+}");
fragmentAbsober.TextSearchOptions.IsRegularExpressionUsed = true;
doc.Pages.Accept(fragmentAbsober);
var fragmentCollection = fragmentAbsober.TextFragments;
var sumCounts = fragmentCollection.GroupBy(x => x.Text).Select(group => new { group.Key, Count = group.Count() }).ToList();
foreach (var text in fragmentCollection)
{
text.Text = sumCounts.Single(x => x.Key == text.Text).Count.ToString();
}
doc.Save(ret);
ms.Dispose();
ret.Position = 0;
return ret;
}
#endregion
#region Word generálás
protected ActionResult WordNyomtatas(DataSet ds, string frxNeve, Dictionary<string, object> parameterek = null, string wordNeve = "Alap", bool iktatas = false, string iktatasAzonosito = "Iktatas", int? osztalyId = null, DokumentumKategoriaEnum? dokumentumKategoria = null, Enums.DokumentumTipusEnum? dokumentumTipus = null, NameValueCollection kulcsSzavak = null, FoszamDefinicioValueModel foszamDefinicio = null, bool egyediLablecKellOldalszam = true, Bitmap qrCode = null)
{
Config.WebMode = true;
const string _fileTemplate = "{0}/{1}.frx";
var report = new Report();
report.Load(Server.MapPath(string.Format(_fileTemplate, ApplicationData.NyomtatasiSablonokKonyvtar, frxNeve)));
var (IsDokumentumFejlecMegjelenit, IsDokumentumLablecMegjelenit) = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetActualIntezmenyAdatok();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!iktatas && !NyomtatvanyokLogic.IsEgyediFejlecLablecTiltott(dokumentumTipus))
{
if (IsDokumentumFejlecMegjelenit && IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediFejlecLablec(report, fejlecImage, lablecImage, egyediLablecKellOldalszam);
}
if (IsDokumentumFejlecMegjelenit && !IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
NyomtatvanyokLogic.EgyediFejlec(report, fejlecImage);
}
if (IsDokumentumLablecMegjelenit && !IsDokumentumFejlecMegjelenit)
{
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediLablec(report, lablecImage, egyediLablecKellOldalszam);
}
}
if (qrCode != null)
{
NyomtatvanyokLogic.AddQrCode(report, qrCode);
}
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.RichText.RTFExport textExport = new FastReport.Export.RichText.RTFExport
{
ShowProgress = false,
Creator = Constants.ImportExport.Creator
};
var stream = new MemoryStream();
report.Report.Export(textExport, stream);
report.Dispose();
textExport.Dispose();
stream.Position = 0;
if (dokumentumTipus == Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap)
{
stream = OldalszamHelyettesitesWord(stream);
}
var result = File(stream, "application/doc", $"{wordNeve}.{Constants.ImportExport.FileFormatWord}");
if (iktatas)
{
if (!dokumentumKategoria.HasValue || !dokumentumTipus.HasValue)
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKategoriaTipusSzukseges);
}
PoszeidonIktatas(result.FileStream, iktatasAzonosito, ClaimData.FelhasznaloId, dokumentumKategoria: dokumentumKategoria.Value, dokumentumTipus: dokumentumTipus.Value, osztalyId: osztalyId, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio, formatum: Kreta.Core.Constants.ContentTypes.Word);
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
return result;
}
return null;
}
private MemoryStream GetWordMemoryStream(DataSet ds, Dictionary<string, object> parameterek, string wordNeve, string filePath, bool egyediLablecKellOldalszam, Enums.DokumentumTipusEnum? dokumentumTipus)
{
Config.WebMode = true;
var report = new Report();
report.Load(filePath);
var (IsDokumentumFejlecMegjelenit, IsDokumentumLablecMegjelenit) = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetActualIntezmenyAdatok();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!NyomtatvanyokLogic.IsEgyediFejlecLablecTiltott(dokumentumTipus))
{
if (IsDokumentumFejlecMegjelenit && IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediFejlecLablec(report, fejlecImage, lablecImage, egyediLablecKellOldalszam);
}
if (IsDokumentumFejlecMegjelenit && !IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
NyomtatvanyokLogic.EgyediFejlec(report, fejlecImage);
}
if (IsDokumentumLablecMegjelenit && !IsDokumentumFejlecMegjelenit)
{
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
NyomtatvanyokLogic.EgyediLablec(report, lablecImage, egyediLablecKellOldalszam);
}
}
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.RichText.RTFExport textExport = new FastReport.Export.RichText.RTFExport
{
ShowProgress = false,
Creator = Constants.ImportExport.Creator
};
var stream = new MemoryStream();
report.Report.Export(textExport, stream);
report.Dispose();
textExport.Dispose();
stream.Position = 0;
if (dokumentumTipus == Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap)
{
stream = OldalszamHelyettesitesWord(stream);
}
return stream;
}
return null;
}
private MemoryStream OldalszamHelyettesitesWord(Stream ms)
{
ms.Position = 0;
var ret = new MemoryStream();
var loadOptions = new Aspose.Words.LoadOptions();
loadOptions.LoadFormat = Aspose.Words.LoadFormat.Doc;
Aspose.Words.Document doc = new Aspose.Words.Document(ms, loadOptions);
var runs = doc.GetChildNodes(Aspose.Words.NodeType.Run, true).Where(x => Regex.IsMatch(((Aspose.Words.Run)x).Text, "{osszoldalszam\\d+}")).Cast<Aspose.Words.Run>();
var toCount = runs.GroupBy(x => x.Text.Substring(x.Text.IndexOf("{osszoldalszam"), x.Text.IndexOf("}", x.Text.IndexOf("{osszoldalszam")) - x.Text.IndexOf("{osszoldalszam") + 1)).Select(group => new { group.Key, Count = group.Count() }).ToDictionary(group => group.Key, group => group.Count);
foreach (var b in runs)
{
var key = toCount.Single(x => b.Text.Contains(x.Key)).Key;
b.Text = b.Text.Replace(key, toCount[key].ToString());
}
var saveFormat = Aspose.Words.SaveFormat.Doc;
doc.Save(ret, saveFormat);
ms.Dispose();
ret.Position = 0;
return ret;
}
#endregion
#region Excel generálás
protected ActionResult ExcelNyomtatas(DataSet dataSet,
string excelNeve = "Excel",
bool iktatas = false,
string iktatasAzonosito = "Iktatas",
DokumentumKategoriaEnum? dokumentumKategoria = null,
Enums.DokumentumTipusEnum? dokumentumTipus = null,
int? osztalyId = null,
NameValueCollection kulcsSzavak = null,
FoszamDefinicioValueModel foszamDefinicio = null,
List<ExcelNumericTypeColumn> excelNumericTypeColumns = null,
bool lastRowStyleLikeHeader = false,
List<int> sheetsWithoutLastRowStyleLikeHeader = null)
{
var memoryStream = GetExcelMemoryStream(dataSet, excelNumericTypeColumns, lastRowStyleLikeHeader, sheetsWithoutLastRowStyleLikeHeader);
var result = File(memoryStream, Core.Constants.ContentTypes.Xlsx, $"{excelNeve}.xlsx");
if (iktatas)
{
if (!dokumentumKategoria.HasValue || !dokumentumTipus.HasValue)
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKategoriaTipusSzukseges);
}
PoszeidonIktatas(result.FileStream, iktatasAzonosito, ClaimData.FelhasznaloId, dokumentumKategoria.Value, dokumentumTipus.Value, osztalyId: osztalyId, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio, formatum: Core.Constants.ContentTypes.Xlsx);
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
return result;
}
public MemoryStream ExcelNyomtatasByMemoryStream(
DataSet dataSet,
bool iktatas,
string iktatasAzonosito = null,
DokumentumKategoriaEnum? dokumentumKategoria = null,
Enums.DokumentumTipusEnum? dokumentumTipus = null,
bool lastRowStyleLikeHeader = false,
List<int> sheetsWithoutLastRowStyleLikeHeader = null)
{
var memoryStream = GetExcelMemoryStream(dataSet, lastRowStyleLikeHeader: lastRowStyleLikeHeader, sheetsWithoutLastRowStyleLikeHeader: sheetsWithoutLastRowStyleLikeHeader);
if (iktatas)
{
if (!dokumentumKategoria.HasValue || !dokumentumTipus.HasValue)
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKategoriaTipusSzukseges);
}
PoszeidonIktatas(memoryStream, iktatasAzonosito, ClaimData.FelhasznaloId, dokumentumKategoria.Value, dokumentumTipus.Value);
}
return memoryStream;
}
private static MemoryStream GetExcelMemoryStream(DataSet dataSet, List<ExcelNumericTypeColumn> excelNumericTypeColumns = null, bool lastRowStyleLikeHeader = false, List<int> sheetsWithoutLastRowStyleLikeHeader = null)
{
if (dataSet.IsEmpty())
{
throw new StatusError(
HttpStatusCode.InternalServerError,
CommonResource.Ures);
}
MemoryStream memoryStream;
using (var workbook = new Workbook())
{
var mappedSheetName = new Dictionary<int, string>();
for (int dataTableIndex = 0; dataTableIndex < dataSet.Tables.Count; dataTableIndex++)
{
DataTable dataTable = dataSet.Tables[dataTableIndex];
//NOTE: Eltávolítjuk a nem meg felelő charaktereket a sheetName-ből
// { '.', '?', '!', '*', '/', '[', ']', '\'', ':' };
string sheetName = new Regex(@"[!*,./:?[\\\]]").Replace(dataTable.TableName, string.Empty);
if (string.IsNullOrWhiteSpace(sheetName))
{
//NOTE: Ha nincs benne szöveg, akkor bele kell tenni, mert különben elszáll
sheetName = "Kréta.NET export";
}
//NOTE: Maximum 31 karakter hosszú lehet egy sheetName, ezért levágjuk, hogy max olyan hosszú legyen.
sheetName = sheetName.Length > 31 ? sheetName.Substring(0, 31) : sheetName;
mappedSheetName.Add(dataTableIndex, sheetName);
}
//NOTE: módosítjuk az egyező sheetName értékeket
foreach (var item in mappedSheetName.GroupBy(x => x.Value).ToDictionary(t => t.Key, t => t.Select(r => r.Key)).Where(x => x.Value.Count() > 1).ToList())
{
var egyezoFulekSzama = item.Value.Count();
for (int i = 1; i <= egyezoFulekSzama; i++)
{
var reNamedSheetName = $"{item.Key.Wrap(0, 31 - egyezoFulekSzama.ToString().Length - 1)}-{i}";
do
{
//NOTE: ellenőrizni kell a beállítandó sorszámot, hogy már létezik-e, mert csoportonként ismétlődhet a tartalom
//és duplikáció miatt elhal a generálás
int foundIndex = mappedSheetName.LastOrDefault(x => x.Value.Equals(reNamedSheetName)).Key;
if (foundIndex != 0)
{
string actualIndex = reNamedSheetName.Remove(0, reNamedSheetName.LastIndexOf('-') + 1);
int nextIndex = 0;
Int32.TryParse(actualIndex, out nextIndex);
nextIndex += 1;
reNamedSheetName = $"{item.Key.Wrap(0, 31 - nextIndex.ToString().Length - 1)}-{nextIndex}";
}
else
{
break;
}
} while (true);
mappedSheetName[item.Value.ElementAt(i - 1)] = reNamedSheetName;
}
}
for (int dataTableIndex = 0; dataTableIndex < dataSet.Tables.Count; dataTableIndex++)
{
DataTable dataTable = dataSet.Tables[dataTableIndex];
var sheetName = mappedSheetName[dataTableIndex];
Dictionary<int, string> headerNameDictionary = new Dictionary<int, string>();
int columnIndex = 0;
foreach (DataColumn dataColumn in dataTable.Columns.Cast<DataColumn>())
{
headerNameDictionary.Add(columnIndex, dataColumn.ColumnName);
columnIndex++;
}
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(headerNameDictionary);
Worksheet worksheet = SimpleExportLogic.GetWorksheet(workbook, sheetName, simpleExportColumnCos, dataTableIndex);
//NOTE: Van-e az adott táblán numerikus oszlop amit nem szövegként kell formázni.
var numericTypeColumns = new List<int>();
if (excelNumericTypeColumns.NotNullAndAny())
{
//NOTE: Adott táblára.
var numericTypeColumnsByTable = excelNumericTypeColumns.Where(c => c.TableIndex == dataTableIndex);
if (numericTypeColumnsByTable.Any())
{
numericTypeColumns.AddRange(numericTypeColumnsByTable.Select(c => c.ColumnIndex));
}
else
{
//NOTE: Egészre worksheetre.
var numericTypeColumnForAll = excelNumericTypeColumns.Where(c => c.IsForAll);
if (numericTypeColumnForAll.Any())
{
numericTypeColumns.AddRange(numericTypeColumnForAll.Select(c => c.ColumnIndex));
}
}
}
int rowNumber = 1;
foreach (DataRow dataRow in dataTable.AsEnumerable())
{
for (int columnNumber = 0; columnNumber < headerNameDictionary.Count; columnNumber++)
{
//NOTE: Ahhoz, hogy az excel jól formázza a numerikus értékeket, olyan típussal kell átadni neki.
var stringValue = SDAConvert.ToStringForExcelCell(dataRow[columnNumber]);
if (numericTypeColumns.Contains(columnNumber))
{
if (int.TryParse(stringValue, out int intValue))
{
worksheet.Cells[rowNumber, columnNumber].Value = intValue;
}
else if (double.TryParse(stringValue, out double doubleValue))
{
worksheet.Cells[rowNumber, columnNumber].Value = doubleValue;
}
else
{
worksheet.Cells[rowNumber, columnNumber].Value = stringValue;
}
}
else
{
worksheet.Cells[rowNumber, columnNumber].Value = stringValue;
}
}
if (lastRowStyleLikeHeader
&& (sheetsWithoutLastRowStyleLikeHeader == null || !sheetsWithoutLastRowStyleLikeHeader.Contains(dataTableIndex))
&& dataRow == dataTable.AsEnumerable().Last())
{
for (int columnNumber = 0; columnNumber < headerNameDictionary.Count; columnNumber++)
{
worksheet.Cells[rowNumber, columnNumber].SetStyle(worksheet.Cells[0, columnNumber].GetStyle());
}
}
rowNumber++;
}
}
memoryStream = SimpleExportLogic.GetWorkbookMemoryStream(workbook);
}
return memoryStream;
}
private ActionResult ExcelNyomtatas(MemoryStream stream, string excelNeve, bool iktatas, string iktatasAzonosito, int? osztalyId = null, DokumentumKategoriaEnum? dokumentumKategoria = null, Enums.DokumentumTipusEnum? dokumentumTipus = null, NameValueCollection kulcsSzavak = null, FoszamDefinicioValueModel foszamDefinicio = null)
{
var result = File(stream, Core.Constants.ContentTypes.Xlsx, $"{excelNeve}.{GetNyomtatvanyFileFormat(NyomtatvanyFormatumEnum.Excel.AsInt())}");
if (iktatas)
{
if (!dokumentumKategoria.HasValue || !dokumentumTipus.HasValue)
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKategoriaTipusSzukseges);
}
PoszeidonIktatas(result.FileStream, iktatasAzonosito, ClaimData.FelhasznaloId, dokumentumKategoria.Value, dokumentumTipus.Value, osztalyId: osztalyId, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio, formatum: Core.Constants.ContentTypes.Xlsx);
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
return result;
}
#endregion
#region Zip generálás
#endregion
#region Iktatás
private (NameValueCollection kulcsSzavak, FoszamDefinicioValueModel foszamDefinicio) KulcsszavakEsFoszamGeneralas(NyomtatvanyModel model, Enums.DokumentumTipusEnum dokumentumTipus, DataSet ds, DokumentumElemiSzintEnum foszamDefinicioSzint)
{
if ((model.FoszamDefiniciok.Count < 1)
|| ((model.Kulcsszodefiniciok.Count < 1) && !IsNincsKulcsszoDefinicio(dokumentumTipus)))
{
throw new ApplicationException(ErrorResource.DokumentumIktatasKulcsszoFoszamDefinicioSzukseges);
}
KulcsszoHelper kulcsszoHelper = new KulcsszoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kulcsSzavak = kulcsszoHelper.GetKulcsszavak(dokumentumTipus, model.Kulcsszodefiniciok, ds);
var foszamDefinicio = model.FoszamDefiniciok.FirstOrDefault(x => x.Szint == foszamDefinicioSzint);
var foszamDefinicioErtekek = kulcsszoHelper.FillFoszamDefinicioErtekek(kulcsSzavak, foszamDefinicio);
return (kulcsSzavak, foszamDefinicio: foszamDefinicioErtekek);
}
private bool IsNincsKulcsszoDefinicio(Enums.DokumentumTipusEnum dokumentumTipus)
{
switch (dokumentumTipus)
{
case Enums.DokumentumTipusEnum.TantargyfelosztasFormazottExcel:
case Enums.DokumentumTipusEnum.TantargyfelosztasFormazottPDF:
case Enums.DokumentumTipusEnum.TantargyfelosztasKiegeszitettAdatok:
case Enums.DokumentumTipusEnum.OsztalyokSzamaRiport:
case Enums.DokumentumTipusEnum.CsoportokSzamaRiport:
case Enums.DokumentumTipusEnum.FeladatellatasiHelyekRiport:
case Enums.DokumentumTipusEnum.TanulokMegoszlasaEvfolyamokEsAgazatokSzerint:
case Enums.DokumentumTipusEnum.ElfogadottTantargyfelosztasFormazottExcel:
case Enums.DokumentumTipusEnum.ElfogadottTantargyfelosztasFormazottPDF:
case Enums.DokumentumTipusEnum.ReszletesAlkalmazottAdatok:
case Enums.DokumentumTipusEnum.ReszletesTanuloiAdatok:
return true;
default:
return false;
}
}
private void PoszeidonIktatas(Stream stream, string dokumentumNeve, int iktatoID, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, int? osztalyId = null, NameValueCollection kulcsSzavak = null, FoszamDefinicioValueModel foszamDefinicio = null, string formatum = Core.Constants.ContentTypes.Pdf)
{
if (string.IsNullOrWhiteSpace(dokumentumNeve))
{
throw new BusinessLogic.Exceptions.PosszeidonIktatasException();
}
var helper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
helper.Iktatas(stream, dokumentumNeve, iktatoID, dokumentumKategoria, dokumentumTipus, osztalyId, kulcsSzavak, foszamDefinicio, formatum);
}
#endregion
}
}

View file

@ -0,0 +1,847 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
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 JogviszonyIskolalatogatasiIgazolas(NyomtatvanyModel model, bool isJogviszony, Enums.DokumentumTipusEnum dokumentumTipus, bool isFelnottkepzesesJogviszonySzures)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (isJogviszony)
{
if (ClaimData.IsSzakkepzoIntezmeny)
{
NyomtatvanyokLogic.ValidateJogviszonyLetolthetosegSzakkepzo(model.TanulocsoportIdList, model.OsztalyIdList, helper, ClaimData.IsSelectedTanev21_22OrLater);
}
else
{
NyomtatvanyokLogic.ValidateFelnottkepzes(model.TanulocsoportIdList, model.OsztalyIdList, helper);
}
if (model.TanulocsoportIdList != null)
{
model.TanuloIdList = helper.GetTanuloIdListByTanulocsoportIdList(model.TanulocsoportIdList);
}
}
var metodus = helper.GetType().GetMethod(nameof(helper.GetIskolalatogatasiIgazolas));
var dsParameterek = new Dictionary<string, object>()
{
{"isFelnottkepzesesJogviszonySzures", isFelnottkepzesesJogviszonySzures},
{"isSzakkepzoIntezmeny", ClaimData.IsSzakkepzoIntezmeny }
};
var frxParameterek = new Dictionary<string, object>()
{
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"TagintezmenyCim", GetTagintezmenyCime(model)},
{"Jogviszony", isJogviszony},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
};
var nyomtatvanyNeve = isJogviszony ? NyomtatvanyEnum.Tanuloijogviszonyigazolas.ToString() : NyomtatvanyEnum.Iskolalatogatasiigazolas.ToString();
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.Iskolalatogatasiigazolas.ToString(), DokumentumKategoriaEnum.IgazolasokMulasztasiErtesitok, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, nyomtatvanyNeve: nyomtatvanyNeve, distinctTables: "Fejlec", tablakFilterByTanuloId: "Tanulok", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "Tanulok", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult ErtesitesGyamhatosag10Cst([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model, bool isTankoteles, string nyomtatvanyNeve)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyamhivatalnak10CstNT_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyamhivatalnak10CstNT_TorzsHeaderText},
{"TorzsFooterText", string.Empty},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_CimzoText},
{"GondviseloText", string.Empty},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", true },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
return GetMulasztasErtesito(model, frxParameterek, isTankoteles, 10, nyomtatvanyNeve);
}
private ActionResult GetMulasztasErtesito(NyomtatvanyModel model, Dictionary<string, object> egyediFrxParameterek, bool isTankoteles, int igazolatlanMulasztasokSzama, string nyomtatvanyNeve, bool isSzulonek = false)
{
try
{
if (isSzulonek)
{
model.MustGondviseloIsTorvenyes = true;
}
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
var metodus = helper.GetType().GetMethod(nameof(helper.GetErtesitesSzulonekEsIntezmenynek));
var dsParameterek = new Dictionary<string, object>
{
{"iskolaErdekuSzamit", isIskolaerdekuSzamit},
{"igazolatlanOrakSzama", igazolatlanMulasztasokSzama},
{"tankoteles", isTankoteles},
{"kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese },
{"isMuveszetOktatas", false },
{"gondviselonek", isSzulonek },
{"gondviseloIsTorvenyes", model.MustGondviseloIsTorvenyes ?? false }
};
var vezetoNevTitulusString = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text.Split(new string[] { " - " }, StringSplitOptions.None);
var alulirottSzoveg = string.Format(NyomtatvanyokResource.ErtesitoTanulonakNemTK10_AlulirottText, vezetoNevTitulusString[0], vezetoNevTitulusString[1]);
var frxParameterek = new Dictionary<string, object>
{
{"AlulirottText", alulirottSzoveg},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)}
};
if (model.TagintezmenyCime)
{
var mukodesihelyVarosKeltezeshez = new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMukodesiHelyAdatok(model.TagintezmenyId.Value).Varos;
if (egyediFrxParameterek.ContainsKey("FejlecText"))
{
egyediFrxParameterek["FejlecText"] = $@"{egyediFrxParameterek["FejlecText"]}{model.TagintezmenyCimeDropdown}";
}
egyediFrxParameterek.Add("MukodesiHelyText", $@"{mukodesihelyVarosKeltezeshez}, ");
}
else
{
egyediFrxParameterek.Add("MukodesiHelyText", $@"{NyomtatvanyokResource.Ertesito_IntezmenyCimebolVaros}");
}
foreach (var frxParameter in egyediFrxParameterek)
{
frxParameterek.Add(frxParameter.Key, frxParameter.Value);
}
return AltalanosTanuloiGeneralas(model, "MulasztasErtesito", DokumentumKategoriaEnum.IgazolasokMulasztasiErtesitok, null, metodus, 0, dsParameterek, frxParameterek, nyomtatvanyNeve, excludedTables: "Table1", distinctTables: "", tablakFilterByTanuloId: "MulasztasFej,GondviseloAdatok", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "MulasztasFej", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
if (ex.Message == NyomtatvanyokResource.UresDokumentum)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex, NyomtatvanyokResource.MulasztasErtesitoErrorMessage);
}
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult ErtesitesTanuloAlapon(NyomtatvanyModel model, bool isTankoteles, string nyomtatvanyNeve, int? gondviseloTableIndex, int? mulasztasTableIndex, bool isMuveszetOktatas = false)
{
try
{
var asposeHelper = new AsposeHelper();
var asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetErtesitesTanuloAlapon));
return AltalanosNktMulasztasErtesites(model, isTankoteles, nyomtatvanyNeve, gondviseloTableIndex, mulasztasTableIndex, asposeMethod, isMuveszetOktatas);
}
catch (Exception ex)
{
if (ex.Message == NyomtatvanyokResource.UresDokumentum)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex, NyomtatvanyokResource.MulasztasErtesitoErrorMessage);
}
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult ErtesitesGondviseloAlapon(NyomtatvanyModel model, bool isTankoteles, string nyomtatvanyNeve, bool isMuveszetOktatas = false, bool isSzulonek = false)
{
try
{
if (isTankoteles)
{
model.MustGondviselo = true;
}
var asposeHelper = new AsposeHelper();
var asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetErtesitesGondviseloAlapon));
if (isSzulonek)
{
model.MustGondviseloIsTorvenyes = true;
}
return AltalanosNktMulasztasErtesites(model, isTankoteles, nyomtatvanyNeve, null, null, asposeMethod, isMuveszetOktatas, isSzulonek: isSzulonek);
}
catch (Exception ex)
{
if (ex.Message.Equals(TanuloResource.ATanulonakNincsRogzitettTorvenyesKepviseloje)
|| ex.Message.Equals(NyomtatvanyokResource.TanulonakNincsRogzitveGondviselo))
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
else
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex, NyomtatvanyokResource.MulasztasErtesitoErrorMessage);
}
}
}
private ActionResult AltalanosNktMulasztasErtesites(NyomtatvanyModel model, bool isTankoteles, string nyomtatvanyNeve, int? gondviseloTableIndex, int? mulasztasTableIndex, MethodInfo asposeMethod, bool isMuveszetOktatas, bool isSzulonek = false)
{
try
{
var connection = ConnectionTypeExtensions.GetSessionConnectionType();
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
var dsHelper = new NyomtatvanyokHelper(connection);
var dsMethod = dsHelper.GetType().GetMethod(nameof(dsHelper.GetErtesitesSzulonekEsIntezmenynek));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit },
{ "igazolatlanOrakSzama", model.IgazolatlanOrakSzama },
{ "tankoteles", isTankoteles },
{ "gondviselonek", isSzulonek },
{ "kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese },
{ "isMuveszetOktatas", isMuveszetOktatas },
{ "gondviseloIsTorvenyes", model.MustGondviseloIsTorvenyes ?? false }
};
var frxParameterek = new Dictionary<string, object>
{
};
var (isDokumentumFejlecMegjelenit, isDokumentumLablecMegjelenit) = dsHelper.GetActualIntezmenyAdatok();
var intezmenyHelper = new IntezmenyHelper(connection);
using (var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Margins = null,
DocumentParameters = new AsposeDocumentParameters()
{
Kelt = model.KeltDatum,
KeltFormatum = (KeltFormatumTipusEnum)model.KeltFormatumId,
NyomtatvanyFormatum = (NyomtatvanyFormatumEnum)model.FormatumId,
},
MulasztasErtesitoNktGondviseloTableIndex = gondviseloTableIndex,
MulasztasErtesitoNktMulasztasTableIndex = mulasztasTableIndex,
})
{
if (model.TagintezmenyCime)
{
var mukodesihely = new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMukodesiHelyAdatok(model.TagintezmenyId.Value);
asposeHelperOptions.DocumentParameters.IsTagintezmenyAdatokMegjelenjen = model.TagintezmenyCime;
asposeHelperOptions.DocumentParameters.TagintezmenyCime = model.TagintezmenyCimeDropdown.Replace(mukodesihely.Nev, "").Trim(" ,".ToCharArray()).ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.TagintezmenyNeve = mukodesihely.Nev?.ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.TagintezmenyVaros = mukodesihely.Varos?.ReplaceMultipleSpacesAndTrim();
}
if (model.AlulirottMegnevezesId.IsEntityId())
{
var alulirott = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: 0, isNemzetisegiDokumentum: false).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
var index = alulirott.LastIndexOf(" - ");
var nev = alulirott.Substring(0, index).ReplaceMultipleSpacesAndTrim();
var beosztas = alulirott.Substring(index + " - ".Length).ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.AlairoSzemely = new Dictionary<string, string>()
{
{"Nev", nev },
{"Beosztas", beosztas },
};
}
if (isDokumentumFejlecMegjelenit)
{
asposeHelperOptions.EgyediFejlec = intezmenyHelper.GetIntezmenyFejlecDokumentum();
}
return AltalanosTanuloiGeneralas(model, $"{nyomtatvanyNeve}.docx", DokumentumKategoriaEnum.IgazolasokMulasztasiErtesitok, null, dsMethod, 0, dsParameterek, frxParameterek, nyomtatvanyNeve: nyomtatvanyNeve, distinctTables: "", tablakFilterByTanuloId: "MulasztasFej,MulasztasAdat,GondviseloAdatok", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "MulasztasFej", egyediLablecKellOldalszam: false, IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
}
catch (Exception)
{
throw;
}
}
[HttpPost]
public ActionResult IskolalatogatasiIgazolas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return JogviszonyIskolalatogatasiIgazolas(model, false, Enums.DokumentumTipusEnum.IskolalatogatasiLap, false);
}
[HttpPost]
public ActionResult TanuloiJogviszonyIgazolas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return JogviszonyIskolalatogatasiIgazolas(model, true, Enums.DokumentumTipusEnum.TanuloiJogviszonyIgazoloLap_, true);
}
#region Mulasztási értesítők - Nkt.
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere2OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 2;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesCsaladGyermekjoletReszere2OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere10OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesCsaladGyermekjoletReszere10OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere30OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 30;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesCsaladGyermekjoletReszere30OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere50OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesCsaladGyermekjoletReszere50OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyermekvedelmiSzakszolgReszere10OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesGyermekvedelmiSzakszolgReszere10OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyermekvedelmiSzakszolgReszere30OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 30;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesGyermekvedelmiSzakszolgReszere30OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyermekvedelmiSzakszolgReszere50OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesGyermekvedelmiSzakszolgReszere50OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyamhivatalReszere50OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesGyamhivatalReszere50OraUtanTankoteles), 1, 3);
}
[HttpPost]
public ActionResult NktErtesitesKollegium1OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesKollegium1OraUtanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktKerelemCsaladtamFeladatkorbenEljaroKormhivatal50utanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktKerelemCsaladtamFeladatkorbenEljaroKormhivatal50utanTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesAltalanosSzabalysertesiHatosagnak30OraTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 30;
model.IsTankoteles = true;
return ErtesitesTanuloAlapon(model, true, nameof(NktErtesitesAltalanosSzabalysertesiHatosagnak30OraTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesCsaladiPotlekJogosultjanakReszere10OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
model.IsTankoteles = true;
return ErtesitesGondviseloAlapon(model, true, nameof(NktErtesitesCsaladiPotlekJogosultjanakReszere10OraUtanTankoteles), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesSzulonek1OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
model.IsTankoteles = true;
return ErtesitesGondviseloAlapon(model, true, nameof(NktErtesitesSzulonek1OraUtanTankoteles), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesSzulonek10OraUtanTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
model.IsTankoteles = true;
return ErtesitesGondviseloAlapon(model, true, nameof(NktErtesitesSzulonek10OraUtanTankoteles), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesCsaladiPotlekJogosultjanakReszere10OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesGondviseloAlapon(model, false, nameof(NktErtesitesCsaladiPotlekJogosultjanakReszere10OraUtanNemTankoteles), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesNagykoruMasodikNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 11;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesNagykoruMasodikNemTankoteles), null, null);
}
[HttpPost]
public ActionResult NktKerelemCsaladtamFeladatkorbenEljaroKormhivatal50utanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
return ErtesitesTanuloAlapon(model, false, nameof(NktKerelemCsaladtamFeladatkorbenEljaroKormhivatal50utanNemTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyamhivatalReszere50OraUtanNemTankotelesKiskoru(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesGyamhivatalReszere50OraUtanNemTankotelesKiskoru), 1, 4);
}
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere11OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 11;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesCsaladGyermekjoletReszere11OraUtanNemTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesGyamhivatalReszere50OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 50;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesGyamhivatalReszere50OraUtanNemTankoteles), null, 1);
}
[HttpPost]
public ActionResult NktErtesitesSzulonek11OraUtanNemTankotelesKiskoru(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 11;
return ErtesitesGondviseloAlapon(model, false, nameof(NktErtesitesSzulonek11OraUtanNemTankotelesKiskoru), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesSzulonek10OraUtanNemTankotelesKiskoru(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesGondviseloAlapon(model, false, nameof(NktErtesitesSzulonek10OraUtanNemTankotelesKiskoru), isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesCsaladGyermekjoletReszere10OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesCsaladGyermekjoletReszere10OraUtanNemTankoteles), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesNagykoruTanulo10OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesNagykoruTanulo10OraUtanNemTankoteles), null, null);
}
[HttpPost]
public ActionResult NktErtesitesGyermekvedelmiSzakszolgReszere10OraUtanNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesGyermekvedelmiSzakszolgReszere10OraUtanNemTankoteles), null, 2);
}
[HttpPost]
public ActionResult NktErtesitesKollegium10OraUtanNemTankotelesKiskoru(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 10;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesKollegium10OraUtanNemTankotelesKiskoru), 1, 2);
}
[HttpPost]
public ActionResult NktErtesitesAMIElsoErtesitoNagykorunakNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesAMIElsoErtesitoNagykorunakNemTankoteles), null, null, true);
}
[HttpPost]
public ActionResult NktErtesitesAMIMasodikErtesitoNagykorunakNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
return ErtesitesTanuloAlapon(model, false, nameof(NktErtesitesAMIMasodikErtesitoNagykorunakNemTankoteles), null, null, true);
}
[HttpPost]
public ActionResult NktErtesitesAMIElsoErtesitoSzulonekNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
return ErtesitesGondviseloAlapon(model, false, nameof(NktErtesitesAMIElsoErtesitoSzulonekNemTankoteles), true, isSzulonek: true);
}
[HttpPost]
public ActionResult NktErtesitesAMIMasodikErtesitoSzulonekNemTankoteles(NyomtatvanyModel model)
{
model.IgazolatlanOrakSzama = 1;
return ErtesitesGondviseloAlapon(model, false, nameof(NktErtesitesAMIMasodikErtesitoSzulonekNemTankoteles), true, isSzulonek: true);
}
#endregion
#region Mulasztasi értesítők - Szkt.
[HttpPost]
public ActionResult ErtesitesSzulonekEgyOraUtanTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitoSzulonekTK1_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitoSzulonekTK1_TorzsText},
{"CimzoText", string.Empty},
{"TorzsFooterText", string.Empty},
{"IsCimzoAndIktatoszamVisible", false },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 1, NyomtatvanyokResource.ErtesitoSzulonekTK1_Fajlnev, isSzulonek: true);
}
[HttpPost]
public ActionResult ErtesitesSzulonekNemTK10([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesSzulonekNemTK10_Fejlectext},
{"TorzsHeaderText", model.FormatumId == (int)NyomtatvanyFormatumEnum.PDF ? NyomtatvanyokResource.ErtesitesSzulonekNemTK10_TorzsText : NyomtatvanyokResource.ErtesitesSzulonekNemTK10_TorzsText.Replace("<u>", string.Empty).Replace("</u>", string.Empty)},
{"TorzsFooterText", string.Empty},
{"CimzoText", string.Empty},
{"IsCimzoAndIktatoszamVisible", false },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
return GetMulasztasErtesito(model, frxParameterek, false, 10, NyomtatvanyokResource.ErtesitesSzulonekNemTK10_Fajlnev, isSzulonek: true);
}
[HttpPost]
public ActionResult ErtesitesTanulonakTizOraUtanNemTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitoTanulonakNemTK10_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitoTanulonakNemTK10_TorzsText},
{"CimzoText", string.Empty},
{"TorzsFooterText", string.Empty},
{"IsCimzoAndIktatoszamVisible", false },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
return GetMulasztasErtesito(model, frxParameterek, false, 10, NyomtatvanyokResource.ErtesitoTanulonakNemTK10_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesSzulonekTizOraUtanCstTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitoSzuloknekCstTK10_FejlecText},
{"TorzsHeaderText", model.FormatumId == (int)NyomtatvanyFormatumEnum.PDF ? NyomtatvanyokResource.ErtesitoSzuloknekCstTK10_TorzsText : NyomtatvanyokResource.ErtesitoSzuloknekCstTK10_TorzsText.Replace("<i>", string.Empty).Replace("</i>", string.Empty)},
{"TorzsFooterText", string.Empty},
{"CimzoText", string.Empty},
{"IsCimzoAndIktatoszamVisible", false },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 10, NyomtatvanyokResource.ErtesitoSzuloknekCstTK10_Fajlnev, isSzulonek: true);
}
[HttpPost]
public ActionResult ErtesitesSzulonekTizOraUtanCstNemTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitoSzuloknekCstNemTK10_FejlecText},
{"TorzsHeaderText", model.FormatumId == (int)NyomtatvanyFormatumEnum.PDF ? NyomtatvanyokResource.ErtesitoSzuloknekCstNemTK10_TorzsText : NyomtatvanyokResource.ErtesitoSzuloknekCstNemTK10_TorzsText.Replace("<i>", string.Empty).Replace("</i>", string.Empty)},
{"TorzsFooterText", string.Empty},
{"CimzoText", string.Empty},
{"IsCimzoAndIktatoszamVisible", false },
{"IsGondviseloDetailsVisible", false },
{"IsMulasztasokDetailsVisible", false },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
return GetMulasztasErtesito(model, frxParameterek, false, 10, NyomtatvanyokResource.ErtesitoSzuloknekCstNemTK10_Fajlnev, isSzulonek: true);
}
[HttpPost]
public ActionResult ErtesitesGyamhatosag5OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyamhatosag5OraNemTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5TK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 5, NyomtatvanyokResource.ErtesitesGyamhivatalnak5TK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyamhatosag5OraNemTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyamhatosag5OraNemTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
return GetMulasztasErtesito(model, frxParameterek, false, 5, NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyamhatosag25OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyamhatosag5OraNemTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5TK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyamhivatalnak25TK_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyamhivatalnak5NT_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 25, NyomtatvanyokResource.ErtesitesGyamhatosag25OraTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyamhatosag10CstTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
model.IsTankoteles = true;
return ErtesitesGyamhatosag10Cst(model, true, NyomtatvanyokResource.ErtesitesGyamhivatalnak10CstTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyamhatosag10CstNTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return ErtesitesGyamhatosag10Cst(model, false, NyomtatvanyokResource.ErtesitesGyamhivatalnak10CstNT_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyermekjoletiSzolgalat5OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyermekjoletiSzolgalat5OraTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyermekjoletiSzolgalat5OraTK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyermekjoletiSzolgalat5OraTK_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyermekjoletiSzolgalat5OraTK_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 5, NyomtatvanyokResource.ErtesitesGyermekjoletiSzolgalat5OraTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyermekjoleti15OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", true },
{"MellekletLabelText", NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_MellekletLabelText },
{"IsMellekletLabelVisible", true }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 15, NyomtatvanyokResource.ErtesitesGyermekjoleti15OraTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyermekvedelmiszolg5OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", true },
{"MellekletLabelText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_MellekletLabelText },
{"IsMellekletLabelVisible", true }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 5, NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesGyermekvedelmiszolg5OraNemTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_TorzsFooterText},
{"CimzoText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_CimzoText},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", true },
{"MellekletLabelText", NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_MellekletLabelText },
{"IsMellekletLabelVisible", true }
};
return GetMulasztasErtesito(model, frxParameterek, false, 5, NyomtatvanyokResource.ErtesitesGyermekvedelmiszolg5OraNemTK_Fajlnev);
}
[HttpPost]
public ActionResult ErtesitesAltSzabalysertes15OraTK([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var frxParameterek = new Dictionary<string, object>
{
{"FejlecText", NyomtatvanyokResource.ErtesitesAltSzabalysertes15OraTK_FejlecText},
{"TorzsHeaderText", NyomtatvanyokResource.ErtesitesAltSzabalysertes15OraTK_TorzsHeaderText},
{"TorzsFooterText", NyomtatvanyokResource.ErtesitesAltSzabalysertes15OraTK_TorzsFooterText},
{"CimzoText", string.Empty},
{"IsCimzoAndIktatoszamVisible", true },
{"IsGondviseloDetailsVisible", true },
{"IsMulasztasokDetailsVisible", true },
{"IsTiszteletteltextVisible", false },
{"IsCimzettLabelVisible", false },
{"MellekletLabelText", string.Empty },
{"IsMellekletLabelVisible", false }
};
model.IsTankoteles = true;
return GetMulasztasErtesito(model, frxParameterek, true, 15, NyomtatvanyokResource.ErtesitesAltSzabalysertes15OraTK_Fajlnev);
}
#endregion Mulasztasi értesítők - Szkt.
}
}

View file

@ -0,0 +1,410 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
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 static string RemoveTooLongElementOrTrunc(string text, int maxLength = 80)
{
for (int i = 0; i < text.Split('_').Length - 4; i++)
{
text = text.Wrap(0, text.LastIndexOf('_'));
if (text.Length <= maxLength)
{
return text;
}
}
return text.Wrap(0, maxLength);
}
private static string RemoveSpecialCharacters(string text)
{
return text
.ToComparableString()
.Replace("*", "_")
.Replace(" - ", "_")
.Replace('ö', 'o')
.Replace('ü', 'u')
.Replace(' ', '_')
.Replace('-', '_')
.Replace(":", "_")
.Replace(";", "_")
.Replace(",", "_")
.Replace(".", "_");
}
#region KIRStat
public ActionResult KirStatTanulok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(true);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (KeyValuePair<int, string> item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "KIR_OSA4TANU";
string segedletNeve = "KIR_OSA4TANU_segedlet";
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKirStatForTanulo(Server.MapPath("~/Resources/KIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult KirStatTanulokSegedlet()
{
FileStream fs = new FileStream(Server.MapPath("~/Resources/KIRStat/PDF/KIR_OSA4TANU_segedlet.pdf"), FileMode.Open, FileAccess.Read);
return new FileStreamResult(fs, Constants.ImportExport.FileFormatPdf)
{
FileDownloadName = $"KIR_OSA4TANU_segedlet.pdf"
};
}
public ActionResult KirStatFelhasznalok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(true);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (var item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "KIR_OSA2FELH";
string segedletNeve = "KIR_OSA2FELH_segedlet";
bool isKlebelsberg = ClaimData.IsKlebelsberg;
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKirStatForFelhasznalo(Server.MapPath("~/Resources/KIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id, isKlebelsberg);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult KirStatFelhasznalokSegedlet()
{
FileStream fs = new FileStream(Server.MapPath("~/Resources/KIRStat/PDF/KIR_OSA2FELH_segedlet.pdf"), FileMode.Open, FileAccess.Read);
return new FileStreamResult(fs, Constants.ImportExport.FileFormatPdf)
{
FileDownloadName = $"KIR_OSA2FELH_segedlet.pdf"
};
}
#endregion KIRStat
#region SZIRStat
public ActionResult SzirStatIntezmeny([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
string nyomtatvanyNeve = "SZIR_OSA1INT";
var memoryStreamList = szirSatHelper.GetSzirStatIntezmeny(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"));
return new FileStreamResult(memoryStreamList[0], Constants.ImportExport.FileFormatXlsx)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatXlsx}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult SzirStatTanulok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(false);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (KeyValuePair<int, string> item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "SZIR_OSA4TANU";
string segedletNeve = "SZIR_OSA4TANU_segedlet";
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatForTanulo(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult SzirStatTanulokSegedlet()
{
FileStream fs = new FileStream(Server.MapPath("~/Resources/SZIRStat/PDF/SZIR_OSA4TANU_segedlet.pdf"), FileMode.Open, FileAccess.Read);
return new FileStreamResult(fs, Constants.ImportExport.FileFormatPdf)
{
FileDownloadName = $"SZIR_OSA4TANU_segedlet.pdf"
};
}
public ActionResult SzirStatFelhasznalok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(false);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (var item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "SZIR_OSA2FELH";
string segedletNeve = "SZIR_OSA2FELH_segedlet";
bool isKlebelsberg = ClaimData.IsKlebelsberg;
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatForFelhasznalo(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id, isKlebelsberg);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult SzirStatFelhasznalokSegedlet()
{
FileStream fs = new FileStream(Server.MapPath("~/Resources/SZIRStat/PDF/SZIR_OSA2FELH_segedlet.pdf"), FileMode.Open, FileAccess.Read);
return new FileStreamResult(fs, Constants.ImportExport.FileFormatPdf)
{
FileDownloadName = $"SZIR_OSA2FELH_segedlet.pdf"
};
}
public ActionResult SzirStatSzak([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(false);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (var item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "SZIR_OSA5SZAK";
//string segedletNeve = "SZIR_OSA5SZAK_segedlet";
if (feladatellatasiHelyIdList.Count > 1)
{
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatSzak(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
//AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
else
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[feladatellatasiHelyIdList[0]]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatSzak(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), feladatellatasiHelyIdList[0]);
return new FileStreamResult(memoryStreamList[0], Constants.ImportExport.FileFormatXlsx)
{
FileDownloadName = $"{nyomtatvanyNeve}_{currentFileNameFeladatellatasiHelyDatummal}.{Constants.ImportExport.FileFormatXlsx}"
};
}
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult SzirStatMuv([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var output = new MemoryStream();
var zipOutput = new ZipOutputStream(output);
try
{
SZIRStatHelper szirSatHelper = new SZIRStatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> feladatellatasiHelyFileNevDictionary = szirSatHelper.GetKirSzirFeladatEllatasiHelyDDl(false);
List<int> feladatellatasiHelyIdList = model.FeladatellatasiHelyIdList;
if (feladatellatasiHelyIdList == null || feladatellatasiHelyIdList.Count == 0)
{
feladatellatasiHelyIdList = new List<int>();
foreach (var item in feladatellatasiHelyFileNevDictionary)
{
feladatellatasiHelyIdList.Add(item.Key);
}
}
string nyomtatvanyNeve = "SZIR_OSA11MUV";
//string segedletNeve = "SZIR_OSA11MUV_segedlet";
if (feladatellatasiHelyIdList.Count > 1)
{
foreach (int id in feladatellatasiHelyIdList)
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[id]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatMuv(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), id);
AddExcelMintZipEntry(zipOutput, memoryStreamList[0], nyomtatvanyNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
//AddExcelMintZipEntry(zipOutput, memoryStreamList[1], segedletNeve + "_" + currentFileNameFeladatellatasiHelyDatummal);
}
zipOutput.Finish();
output.Position = 0;
return new FileStreamResult(output, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{nyomtatvanyNeve}_{DateTime.Now:yyyy_MM_dd_HH_mm}.{Constants.ImportExport.FileFormatZip}"
};
}
else
{
string currentFileNameFeladatellatasiHelyDatummal = $"{RemoveTooLongElementOrTrunc(RemoveSpecialCharacters(feladatellatasiHelyFileNevDictionary[feladatellatasiHelyIdList[0]]))}_{DateTime.Now:yyyy_MM_dd_HH_mm}";
var memoryStreamList = szirSatHelper.GetSzirStatMuv(Server.MapPath("~/Resources/SZIRStat/XLS/" + nyomtatvanyNeve + ".xlsx"), feladatellatasiHelyIdList[0]);
return new FileStreamResult(memoryStreamList[0], Constants.ImportExport.FileFormatXlsx)
{
FileDownloadName = $"{nyomtatvanyNeve}_{currentFileNameFeladatellatasiHelyDatummal}.{Constants.ImportExport.FileFormatXlsx}"
};
}
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion SZIRStat
}
}

View file

@ -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
}
}

View file

@ -0,0 +1,204 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.AsposeHelpers;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
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 NemzetisegiBizonyitvanypotlap(NyomtatvanyModel model, string nyomtatvanyNeve, string sablonNeve, System.Reflection.MethodInfo asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum? evfolyamDivId = null, int nyomtatvanyNyelvEnum = 0, DokumentumTipusEnum? dokumentumTipus = null, bool kellAtsorolasiZaradek = true)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTorzslapAdatok));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit},
{ "nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{ "isKozossegiSzolgalat", model.KozossegiSzolgalat},
{ "tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{ "tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{ "altantargyBeszamitasa", model.AltantargyBeszamitasa},
{ "isMuveszetOktatasi", false},
{ "tanulokNevsorRendezesColumnIndex", model.TanulokNevsorRendezeseId},
{ "isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{ "nyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{ "nemzetisegiNyelvId", (int)model.NemzetisegiNyelvId },
{ "isNemzetisegi", true },
{ "isShowTanulmanyiAtlag", model.AtlagFeltuntetes },
{ "kiiratkozottTanulokMegjelenitese", model.KiiratkozottTanulokMegjelenitese},
{ "kellAtsorolasiZaradek", kellAtsorolasiZaradek },
{ "isNszfhUjSzkt", false },
{ "is20_21OrLaterTanev", ClaimData.IsSelectedTanev20_21OrLater },
{ "is21_22OrLaterTanev", ClaimData.IsSelectedTanev21_22OrLater }
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
};
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Nyelv = model.NemzetisegiNyelvId,
PageNumbering = PageNumberingEnum.None,
PageSize = Aspose.Pdf.PageSize.A4,
Margins = new Aspose.Pdf.MarginInfo(18, 18, 18, 18),
DocumentParameters = new AsposeDocumentParameters()
{
IsAtlagMegjelenites = model.AtlagFeltuntetes,
IsEvesOraszamMegjelenites = model.EvesOraszamMegjelenjen,
BetuMeret = model.BetuMeret,
Kelt = model.KeltDatum,
ErtekelesMegjelenitesFormatum = model.NyomtatvanyErtekelesMegjelenitesId,
IsMulasztasokUjLapra = model.MulasztasokUjLapon,
}
};
if (evfolyamDivId.HasValue)
{
asposeHelperOptions.BizonyitvanypotlapEvfolyamDivId = evfolyamDivId.Value;
}
if (model.AlulirottMegnevezesId.IsEntityId())
{
var alulirott = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true, nyomtatvanyNyelvEnum: (int)model.NemzetisegiNyelvId, isNemzetisegiDokumentum: true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
var r = new Regex(@".*?(?=[()])");
var m = r.Matches(alulirott);
var nev = m[0].Value.ReplaceMultipleSpacesAndTrim();
var nevIdegenNyelven = m[2].Value.ReplaceMultipleSpacesAndTrim();
var beosztas = m[4].Value.Substring(3).ReplaceMultipleSpacesAndTrim();
var beosztasIdegenNyelven = m[6].Value.ReplaceMultipleSpacesAndTrim();
asposeHelperOptions.DocumentParameters.AlairoSzemely = new Dictionary<string, string>()
{
{"Nev", nev },
{"NevIdegenNyelven", nevIdegenNyelven },
{"Beosztas", beosztas },
{"BeosztasIdegennNyelven", beosztasIdegenNyelven }
};
}
return AltalanosTanuloiGeneralas(model, sablonNeve, DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, nyomtatvanyNeve: nyomtatvanyNeve, distinctTables: "Fejlec,Osztaly", tablakFilterByTanuloId: "Tanulok,Ertekeles,Mulasztasok,TanuloLista,OsszefuggoSzakmaiGyakorlat,Feljegyzesek,Hatarozat,TanuloKozossegiSzolgalat,TanuloSNI,TanuloBTM,Felmentesek,FeljegyzesKozossegiSzolgalat" + ((model.AtlagFeltuntetes) ? ",TanuloiAtlag" : ""), tanuloIdColumnName: "TanuloId", emptyDocumentTable: "Tanulok", egyediLablecKellOldalszam: false, IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NemzetisegiTorzslap(NyomtatvanyModel model, int nyomtatvanyNyelvEnum = 0, DokumentumTipusEnum dokumentumTipus = DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehez, bool isMuveszetOktatas = false)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTorzslapAdatok));
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetTorzslap));
var dsParameterek = new Dictionary<string, object>
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit},
{ "nyomtatvanyNyelvEnumId", nyomtatvanyNyelvEnum},
{ "isKozossegiSzolgalat", model.KozossegiSzolgalat},
{ "tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{ "tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{ "altantargyBeszamitasa", model.AltantargyBeszamitasa},
{ "isMuveszetOktatasi", isMuveszetOktatas},
{ "tanulokNevsorRendezesColumnIndex", model.TanulokNevsorRendezeseId},
{ "isEvesOraszamMegjelenjen", model.EvesOraszamMegjelenjen},
{ "nyomtatvanyErtekelesMegjelenitesId", model.NyomtatvanyErtekelesMegjelenitesId},
{ "isNemzetisegi", true },
{ "nemzetisegiNyelvId", model.NemzetisegiNyelvId},
{ "isShowTanulmanyiAtlag", false },
{ "isNszfhUjSzkt", false },
{ "is20_21OrLaterTanev", ClaimData.IsSelectedTanev20_21OrLater },
{ "is21_22OrLaterTanev", ClaimData.IsSelectedTanev21_22OrLater }
};
var asposeHelperOptions = new AsposeHelperOptions(ClaimData.SelectedTanevID.Value)
{
Nyelv = model.NemzetisegiNyelvId,
PageNumbering = PageNumberingEnum.None,
PageSize = Aspose.Pdf.PageSize.A4,
Margins = new Aspose.Pdf.MarginInfo(18, 18, 18, 18),
DocumentParameters = new AsposeDocumentParameters()
{
AdatokMegjelenitese = model.AdatMegjelenites,
AltantargyBeszamitasa = model.AltantargyBeszamitasa,
EvesOraszamMegjelenites = model.EvesOraszamMegjelenjen,
FejlecMegjelenitese = model.FejlecMegjelenites,
FeljegyzesekMegjelenitese = model.isFeljegyzesekMegjelenitese,
FelmentesekMegjelenitese = model.isFelmentesekMegjelenitese,
Kelt = model.KeltDatum,
KotesmargoTipus = model.KotesMargoTipus,
KozossegiSzolgalatMegjelenitese = model.KozossegiSzolgalat,
OKJMegjelenitese = model.OKJ,
SNIMegjelenites = model.SNIAdatokMegjeleniteseUresen,
TorvenyesKepviseloMegjelenites = model.GondviseloMegjelenites,
BetuMeret = model.BetuMeret,
}
};
return AltalanosTanuloiGeneralas(model, "NemzetisegiTorzslap.html", DokumentumKategoriaEnum.ErtesitokTorzslapBizonyitvany, dokumentumTipus, metodus, 0, dsParameterek, null, nyomtatvanyNeve: "NemzetisegiTorzslap", distinctTables: "Fejlec,Osztaly", isCsoport: isMuveszetOktatas, tablakFilterByTanuloId: "Tanulok,Hatarozat,Feljegyzesek,Mulasztasok,Ertekeles,TanuloLista,TanuloKozossegiSzolgalat,TanuloSNI,TanuloBTM,Felmentesek,FeljegyzesKozossegiSzolgalat,OsszefuggoSzakmaiGyakorlat", tanuloIdColumnName: "TanuloId", IsAspose: true, asposeMetodus: asposeMethod, asposeHelperOptions: asposeHelperOptions);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NemzetisegiBizonyitvanypotlapElso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.elsoosztaly);
}
public ActionResult NemzetisegiBizonyitvanypotlapAlso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.masodiknegyedikosztaly);
}
public ActionResult NemzetisegiBizonyitvanypotlapFelso(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, BizonyitvanypotlapEvfolyamDivIdEnum.felsoosztalyok);
}
public ActionResult NemzetisegiGimnaziumiBizonyitvanypotlap(NyomtatvanyModel model)
{
model.KozossegiSzolgalat = true;
string nyomtatvanyNeve = "NemzetisegiGimnaziumiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetGimnaziumiBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod, kellAtsorolasiZaradek: false);
}
public ActionResult NemzetisegiErettsegiBizonyitvany(NyomtatvanyModel model)
{
string nyomtatvanyNeve = "NemzetisegiErettsegiBizonyitvany";
var asposeHelper = new AsposeHelper();
System.Reflection.MethodInfo asposeMethod = asposeHelper.GetType().GetMethod(nameof(asposeHelper.GetErettsegiBizonyitvany));
return NemzetisegiBizonyitvanypotlap(model, nyomtatvanyNeve, $"{nyomtatvanyNeve}.html", asposeMethod);
}
}
}

View file

@ -0,0 +1,229 @@
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.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
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
{
public ActionResult TermekOrarendje([ModelBinder(typeof(Helpers.NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Orarendek(model, NyomtatvanyEnum.TeremOrarend, Enums.DokumentumTipusEnum.TermekOrarendje);
}
public ActionResult OsztalyokOrarendje([ModelBinder(typeof(Helpers.NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Orarendek(model, NyomtatvanyEnum.OsztalyOrarendOsszes, Enums.DokumentumTipusEnum.OsztalyokOrarendje);
}
public ActionResult PedagogusokOrarendje([ModelBinder(typeof(Helpers.NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return Orarendek(model, NyomtatvanyEnum.PedagogusOrarendOsszes, Enums.DokumentumTipusEnum.PedagogusOrarendje);
}
private ActionResult Orarendek(NyomtatvanyModel model, NyomtatvanyEnum orarendTipus, Enums.DokumentumTipusEnum dokumentumTipus)
{
try
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
DataSet mergedDs = new DataSet();
var needMergedData = false;
var atLeastOneData = false;
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
DokumentumElemiSzintEnum? elemiSzint;
var parameters = new Dictionary<string, object>
{
{"Kelt", DateTime.Now.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix)}
};
string nyomtatvanyNeve = "OrarendOsszes";
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
DataSet hetSorszamaDs;
var naptariHetHelper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
hetSorszamaDs = naptariHetHelper.GetNaptariHetList();
var het = hetSorszamaDs.Tables[0].AsEnumerable().Where(x => x.Field<int>("HetSorszama") == model.HetSorszama).Select(dataRow => new
{
Kezdete = Convert.ToDateTime(dataRow.Field<DateTime>("HetKezdoNapja")),
Vege = Convert.ToDateTime(dataRow.Field<DateTime>("HetUtolsoNapja"))
}).FirstOrDefault();
DateTime hetKezdete = het.Kezdete;
DateTime hetVege = het.Vege;
List<int> idList;
bool teremId = false;
bool osztalyId = false;
bool pedagogusId = false;
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
switch (orarendTipus)
{
case NyomtatvanyEnum.OsztalyOrarendOsszes:
idList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria, forOrarend: true);
osztalyId = true;
elemiSzint = DokumentumElemiSzintEnum.Osztaly;
break;
case NyomtatvanyEnum.PedagogusOrarendOsszes:
idList = GetPedagogusIdList(model.PedagogusIdList);
pedagogusId = true;
elemiSzint = DokumentumElemiSzintEnum.Tanulo;
break;
case NyomtatvanyEnum.TeremOrarend:
idList = GetTeremIdList(model.TeremIdList);
teremId = true;
elemiSzint = DokumentumElemiSzintEnum.Terem;
break;
default:
idList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria, forOrarend: true);
osztalyId = true;
elemiSzint = DokumentumElemiSzintEnum.Osztaly;
break;
}
if (idList.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
foreach (var id in idList)
{
if (osztalyId)
{
nevmodel.OsztalyID = id;
}
if (teremId)
{
nevmodel.TeremID = id;
}
if (pedagogusId)
{
nevmodel.TanarID = id;
}
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetOrarendOsszes((pedagogusId) ? id : (int?)null, (teremId) ? id : (int?)null, (osztalyId) ? id : (int?)null, model.OrarendTipusaId, hetKezdete, hetVege, model.KapcsolodoCsoportokMegjelenitese, model.OsztalyBontasokMegjelenitese, oktNevKategoria);
if (ds.Tables[0].Rows.Count == 0)
{
if (idList.Count > 1)
{
continue;
}
else
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
}
var orarendUtolsoNapja = helper.GetOrarendUtolsoNapja(ds.Tables["Orarend"], true);
parameters.Add(nameof(orarendUtolsoNapja) + "_" + id, orarendUtolsoNapja);
if (idList.Count > 1)
{
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
TobbNyomtatvanyEgyDataSetbe(ref mergedDs, ds);
needMergedData = true;
}
else
{
if (!model.Iktatas)
{
AddNyomtatvanyMintZipEntry(ZipOutPut, ds, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas(orarendTipus.ToString(), nevmodel), formatumId: model.FormatumId, dokumentumTipus: dokumentumTipus);
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint.Value);
Nyomtatas(ds, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas(orarendTipus.ToString(), nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(orarendTipus.ToString(), nevmodel, true), formatumId: model.FormatumId, osztalyId: (osztalyId) ? id : 0, dokumentumKategoria: DokumentumKategoriaEnum.Orarendek, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
atLeastOneData = true;
}
}
else
{
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint.Value);
}
var customMessage = hetKezdete.Date.ToShortDateString() + "-" + hetVege.Date.ToShortDateString();
var notAppendDateTimeNow = true;
return Nyomtatas(ds, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas(orarendTipus.ToString(), nevmodel, notAppendDateTimeNow: notAppendDateTimeNow, customMessage: customMessage), model.Iktatas, CommonExtensions.NevGeneralas(orarendTipus.ToString(), nevmodel, true, notAppendDateTimeNow: notAppendDateTimeNow, customMessage: customMessage), formatumId: model.FormatumId, osztalyId: (osztalyId) ? id : 0, dokumentumKategoria: DokumentumKategoriaEnum.Orarendek, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
if (!needMergedData)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, mergedDs, DokumentumElemiSzintEnum.Intezmeny);
}
nevmodel.OsztalyID = null;
nevmodel.TeremID = null;
nevmodel.TanarID = null;
return Nyomtatas(mergedDs, nyomtatvanyNeve, parameters, CommonExtensions.NevGeneralas("Tobb" + orarendTipus.ToString(), nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("Tobb" + orarendTipus.ToString(), nevmodel, true), formatumId: model.FormatumId, osztalyId: 0, dokumentumKategoria: DokumentumKategoriaEnum.Orarendek, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
else
{
if (!atLeastOneData)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (!model.Iktatas)
{
ZipOutPut.Finish();
OutPut.Position = 0;
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);
}
}
}
}

View file

@ -0,0 +1,610 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web.Mvc;
using Aspose.BarCode.Generation;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Client.KozpontiKreta.Model;
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.Helpers.Error;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
private string GetIgazolasKiallitasanakOkaText(IgazolasKiallitasanakOkaEnum kiallitasOka)
{
var kiallitasOkaText = string.Empty;
switch (kiallitasOka)
{
case IgazolasKiallitasanakOkaEnum.Folyamatban:
kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaFolyamatban;
break;
case IgazolasKiallitasanakOkaEnum.KormRendeletAlapjan:
kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaKormRendeletAlapjan;
break;
}
return kiallitasOkaText;
}
private string GetEgyebIntezmenyiAdatok(NyomtatvanyModel model)
{
var sb = new StringBuilder();
if (!string.IsNullOrWhiteSpace(model.MasodikIntezmenyNeve))
{
sb.Append($"{NyomtatvanyokResource.MasodikIntezmenyNeve} {model.MasodikIntezmenyNeve}");
}
if (!string.IsNullOrWhiteSpace(model.MasodikFeladatellatasiHelyCime))
{
if (sb.Length != 0)
{
sb.AppendLine().AppendLine();
}
sb.Append($"{NyomtatvanyokResource.FeladatellatasiHelyCime} {model.MasodikFeladatellatasiHelyCime}");
}
if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyNeve))
{
if (sb.Length != 0)
{
sb.AppendLine().AppendLine();
}
sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyNeve} {model.GyakorlatiKepzesiHelyNeve}");
}
if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyCime))
{
if (sb.Length != 0)
{
sb.AppendLine().AppendLine();
}
sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyCime} {model.GyakorlatiKepzesiHelyCime}");
}
return sb.ToString();
}
private Bitmap GenerateQrCodeForPedagogusIgazolas(NyomtatvanyModel model)
{
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var (NyomtatasiNev, OktatasiAzonosito) = felhasznaloHelper.GetFelhasznaloNevOktAzonById(model.PedagogusId);
var qrCodeText = $"{NyomtatasiNev} - {OktatasiAzonosito} - {model.IgazolasSorszama} - {DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDate)}";
var generator = new BarcodeGenerator(EncodeTypes.QR, qrCodeText);
generator.Parameters.Resolution = 400f;
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;
generator.Parameters.Barcode.QR.CodeTextEncoding = Encoding.UTF8;
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Auto;
generator.Parameters.Barcode.QR.QrEncodeType = QREncodeType.ForceQR;
generator.Parameters.Barcode.QR.QrErrorLevel = QRErrorLevel.LevelL;
return generator.GenerateBarCodeImage();
}
private string GetIgazolasKiallitasHelyEsIdo(NyomtatvanyModel model)
{
var telepulesHelper = new TelepulesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var igazolasKiallitasHely = telepulesHelper.GetTelepulesek().First(t => t.Id == model.IgazolasKiallitasanakHelyeId).TelepulesNev;
if (igazolasKiallitasHely.Contains(Core.Constants.General.Budapest))
{
igazolasKiallitasHely = Core.Constants.General.Budapest;
}
var igazolasKiallitasHelyEsIdo = $"{igazolasKiallitasHely}, {NyomtatvanyokLogic.KeltSzoveg(DateTime.Today, model.FormatumId)}";
return igazolasKiallitasHelyEsIdo;
}
private ActionResult HaladasiMunkafuzet(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvanyEnum, Enums.DokumentumTipusEnum dokumentumTipus)
{
try
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
var buffer = new byte[Constants.General.BufferSize];
List<int> idList;
Enums.DokumentumElemiSzintEnum elemiSzint;
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
switch (nyomtatvanyEnum)
{
case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent:
idList = GetOsztalyCsoportIdListByFelhasznaloId(model.OsztalyCsoportIdList, oktNevKategoria);
if (idList.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
break;
case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent:
default:
idList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList);
break;
}
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
foreach (var id in idList)
{
NyomtatvanyNevGeneralasModel nevmodel;
DataSet ds;
int? osztalyId = null;
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
switch (nyomtatvanyEnum)
{
case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent:
var isCsoport = !helper.IsCsoportVagyOsztalyByTanev(id);
elemiSzint = (isCsoport) ? DokumentumElemiSzintEnum.Csoport : DokumentumElemiSzintEnum.Osztaly;
ds = helper.GetHaladasiMunkafuzet(id, (int?)null, isCsoport, oktNevKategoria, true);
nevmodel = new NyomtatvanyNevGeneralasModel() { OsztalyCsoportId = id, TanevID = ClaimData.SelectedTanevID.Value };
osztalyId = id;
break;
case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent:
default:
elemiSzint = DokumentumElemiSzintEnum.Tanulo;
ds = helper.GetHaladasiMunkafuzet((int?)null, id, (bool?)null, null);
nevmodel = new NyomtatvanyNevGeneralasModel() { TanarID = id, TanevID = ClaimData.SelectedTanevID.Value };
break;
}
if (idList.Count > 1)
{
if (ds.Tables[0].Rows.Count == 0)
{
continue;
}
if (!model.Iktatas)
{
ds.Tables.Remove("IktatasAdatok");
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
{
ds.Tables.Remove("Tanarok");
}
var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus);
AddExcelMintZipEntry(ZipOutPut, stream, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel));
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint);
ds.Tables.Remove("IktatasAdatok");
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
{
ds.Tables.Remove("Tanarok");
}
ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
else
{
if (ds.Tables[0].Rows.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint);
}
ds.Tables.Remove("IktatasAdatok");
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
{
ds.Tables.Remove("Tanarok");
}
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
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("HaladasiMunkafuzet", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult NemKotottMunkaidoReszletezo(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvany, Enums.DokumentumTipusEnum dokumentumTipus)
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetNemKotottMunkaidoReszletezo));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>();
string distinctTables = null;
if (nyomtatvany == NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi)
{
dsParameterek.Add("honapId", model.HonapId);
distinctTables = "Idoszak";
}
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
{"Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix)}
};
return AltalanosPedagogusGeneralas(model, nyomtatvany.ToString(), DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: distinctTables);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult HelyettesitesekListajaOsszesito(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio)
{
var parameters = new Dictionary<string, object>
{
{ nameof(model.HelyettesitesListaFormatumId), model.HelyettesitesListaFormatumId },
{ nameof(model.HelyettesitesTipusanakMegjelenitese), model.HelyettesitesTipusanakMegjelenitese }
};
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID };
return Nyomtatas(ds, "HelyettesitesekListaja", parameters, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio);
}
private ActionResult HelyettesitesekListajaPedagogusonkent(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio)
{
ds.Tables.RemoveAt(ds.Tables.Count - 1);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID };
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio);
}
[HttpPost]
public ActionResult PedagogusAltalAdottOsztalyzatok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
var outPut = new MemoryStream();
var zipOutPut = new ZipOutputStream(outPut);
var nincsAdat = true;
try
{
var buffer = new byte[Constants.General.BufferSize];
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var pedagogusIdList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList, oktNevKategoria);
foreach (var pedagogusId in pedagogusIdList)
{
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, TanarID = pedagogusId };
if (model.PedagogusId != 0)
{
nevmodel.TanarID = pedagogusId;
}
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPedagogusAltalAdottOsztalyzatok(pedagogusId, model.ErtekelesmodSuly, oktNevKategoria);
if (pedagogusIdList.Count > 1)
{
if ((model.ErtekelesmodSuly && ds.Tables.Count == 2)
|| (!model.ErtekelesmodSuly && ds.Tables.Count == 1))
{
continue;
}
nincsAdat = false;
if (!model.Iktatas)
{
ds.Tables.Remove("IktatasAdatok");
var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
AddExcelMintZipEntry(zipOutPut, stream, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel));
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo);
ds.Tables.Remove("IktatasAdatok");
ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
}
}
else
{
if ((model.ErtekelesmodSuly && ds.Tables.Count == 2)
|| (!model.ErtekelesmodSuly && ds.Tables.Count == 1))
{
throw new StatusError(
HttpStatusCode.InternalServerError,
StringResourcesUtil.GetString(3653) /*Üres*/);
}
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo);
}
ds.Tables.Remove("IktatasAdatok");
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
}
}
zipOutPut.Finish();
outPut.Position = 0;
if (nincsAdat)
{
throw new StatusError(
HttpStatusCode.InternalServerError,
StringResourcesUtil.GetString(3653) /*Üres*/);
}
if (!model.Iktatas)
{
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return new FileStreamResult(outPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult HaladasiMunkafuzetOsztalyCsoportonkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetOsztalyonkent);
}
[HttpPost]
public ActionResult HaladasiMunkafuzetTanaronkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetTanaronkent);
}
[HttpPost]
public ActionResult TanarOrarendiLefedettseg(NyomtatvanyModel model)
{
try
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarOrarendiLefedettseg();
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("TanarOrarendiLefedettseg", nevmodel), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: null);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult MunkaidoElszamlololap([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool isKlebersbergOrNSZFH =
FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|| FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetMunkaidoElszamololap));
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var kotelezoOraszamokResponse = KozpontiKretaHelper.GetKotelezoOraszam(new KotelezoOraszamRequestModel
{
AlkalmazottLista = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList),
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
TanevId = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().Sorszam,
});
Dictionary<string, object> dsParameterek = new Dictionary<string, object>()
{
{"honapId", model.HonapId},
{"isKlebersbergOrNSZFH", isKlebersbergOrNSZFH},
{"kategoria", oktNevKategoria},
{"bontas", (int)model.MunkaidoelszamolasBontas },
{"felnottkepzesKulon", model.FelnottkepzesiOrakElkulonitese },
{"elmeletGyakorlatKulon", model.ElmeletiGyakorlatiOrakElkulonitese},
{"tanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites },
{"tanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites },
{"egyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites },
{"helyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites },
{"oktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites },
{"szakszeruHelySzorzo", null },
{"nemSzakszeruHelySzorzo", null },
{"osszevonasSzorzo", null },
{"osszevontFelSzorzo", null },
{"parhuzamosOrakMegjelenitese", model.ParhuzamosOrakMegjelenitese },
};
if (kotelezoOraszamokResponse != null && kotelezoOraszamokResponse.AlkalmazottLista != null && kotelezoOraszamokResponse.AlkalmazottLista.Count > 0)
dsParameterek.Add("kotelezoOraszamok", kotelezoOraszamokResponse.AlkalmazottLista.ToDictionary(x => x.AlkalmazottId, x => x.KotelezoOraszamSzoveg));
else if (model.PedagogusIdList != null)
dsParameterek.Add("kotelezoOraszamok", model.PedagogusIdList.ToDictionary(x => int.Parse(x.ToString()), x => x.ToString(NyomtatvanyokResource.NA)));
else
{
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var alkalmazottak = alkHelper.GetAlkalmazottak();
List<string> keys = new List<string>(alkalmazottak.Keys);
foreach (string key in keys) alkalmazottak[key] = NyomtatvanyokResource.NA;
dsParameterek.Add("kotelezoOraszamok", alkalmazottak.ToDictionary(x => int.Parse(x.Key), x => x.Value));
}
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
{"Kelt", DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix + ".")},
{"bontas", (int)model.MunkaidoelszamolasBontas },
{"TanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites },
{"TanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites },
{"EgyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites },
{"HelyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites },
{"OktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites },
{"ElmeletiGyakorlatiOrakElkulonitese", model.ElmeletiGyakorlatiOrakElkulonitese },
{"FelnottkepzesiOrakElkulonitese", model.FelnottkepzesiOrakElkulonitese },
{"szakszeruHelySzorzo", null },
{"nemSzakszeruHelySzorzo", null },
{"osszevonasSzorzo", null },
{"osszevontFelSzorzo", null }
};
return AltalanosPedagogusGeneralas(model, NyomtatvanyEnum.MunkaidoElszamololap.ToString(), DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap, metodus, 2, dsParameterek, frxParameterek, distinctTables: "Honapok,Hetek,EvHonapok", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NemKotottMunkaidoReszletezoHeti([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHeti, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHetiBontas);
}
public ActionResult NemKotottMunkaidoReszletezoHavi([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHaviBontasHonap);
}
[HttpPost]
public ActionResult HelyettesitesekListaja([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
bool isPedagogusonkent = model.FormatumId == (int)NyomtatvanyFormatumEnum.Excel;
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitesekListaDetails(model.IdoszakKezdete, model.IdoszakVege, model.HelyettesitesListaFormatumId, isPedagogusonkent);
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, ds, DokumentumElemiSzintEnum.Intezmeny);
}
return isPedagogusonkent
? HelyettesitesekListajaPedagogusonkent(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio)
: HelyettesitesekListajaOsszesito(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult HelyettesitesiNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetHelyettesitesiNaplo));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>()
{
{"bontas", model.HelyettesitesiNaploBontas}
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
{
{"Intezmeny_OM_Azon", ClaimData.OrganizationCode},
{"Intezmeny_Nev", ClaimData.OrganizationName.ToUpper()},
{"bontas", (int) model.HelyettesitesiNaploBontas}
};
return AltalanosPedagogusGeneralas(model, "HelyettesitesiNaplo", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesiNaplo, metodus, 0, dsParameterek, frxParameterek, emptyDocumentTable: "Fejlec");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult PedagogusigazolvanyHelyettKiallitottIgazolas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var nyomtatvanyokHelper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var maHelper = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.PedagogusIdList = new List<int> { model.PedagogusId };
var alulirottMegnevezese = maHelper.GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
var metodus = nyomtatvanyokHelper.GetType().GetMethod(nameof(nyomtatvanyokHelper.GetPedagogusIgazolas));
var dsParameterek = new Dictionary<string, object>()
{
{ "alkalmazottId", model.PedagogusId },
{ "isIntezmenyNevMegjelenik", model.IntezmenyNevenekMegjelenitese },
{ "isFelhelyCimMegjelenik", model.FeladatellatasiHelyCimenekMegjelenitese }
};
var frxParameterek = new Dictionary<string, object>
{
{ "IgazolasSorszama", model.IgazolasSorszama },
{ "ErvenyessegVege", model.ErvenyessegVege.ToString(Core.Constants.ToStringPattern.HungarianDate) },
{ "IgazolasKiallitasanakOka", GetIgazolasKiallitasanakOkaText(model.IgazolasKiallitasanakOka) },
{ "IgazolasKiallitasHelyIdo", GetIgazolasKiallitasHelyEsIdo(model) },
{ "EgyebIntezmenyiAdatok", GetEgyebIntezmenyiAdatok(model) },
{ "AlulirottMegnevezese" , alulirottMegnevezese },
};
var qrCode = GenerateQrCodeForPedagogusIgazolas(model);
return AltalanosPedagogusGeneralas(model, "PedagogusIgazolas", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.pedagogusigazolvany_helyett_kiallitott_igazolas, metodus, 0, dsParameterek, frxParameterek, qrCode: qrCode, egyediLablecKellOldalszam: false, emptyDocumentTable: "Adatok");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
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 string GetDatumRag(DateTime date)
{
var day = date.Day;
// én, ha 10 az értéke, vagy 1, 2, 4, 5, 7, 9 az utolsó számjegy
if (day == 10)
{
return "én";
}
// kivétel: másodikán
if (day == 2)
{
return "án";
}
var enList = new char[] { '1', '2', '4', '5', '7', '9' };
var dayString = day.ToString();
var lastChar = dayString[dayString.Length - 1];
return enList.Contains(lastChar) ? "én" : "án";
}
public ActionResult EgyuttmukodesiMegallapodas(NyomtatvanyModel model)
{
///TODO: nincs ilyen dokumentum típus
try
{
const string _egyuttmukodesiMegallapodas = "egyuttmukodesiMegallapodas";
const string _EgyuttmukodesiMegallapodas = "EgyuttmukodesiMegallapodas";
var parameters = new Dictionary<string, object>
{
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text}
};
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyuttmukodesiMegallapodas();
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return Nyomtatas(ds, _egyuttmukodesiMegallapodas, parameters, CommonExtensions.NevGeneralas(_EgyuttmukodesiMegallapodas, nevmodel), formatumId: model.FormatumId);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult Tanuloszerzodes(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
try
{
const string _tanuloszerzodes = "tanuloszerzodes";
const string _Tanuloszerzodes = "Tanuloszerzodes";
var tanuloIdList = GetTanulokIdList(model.TanuloIdList, model.OsztalyId);
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloszerzodes(string.Join(",", tanuloIdList), model.OsztalyId, ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny);
var parameters = new Dictionary<string, object>
{
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text},
};
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return Nyomtatas(ds, _tanuloszerzodes, parameters, CommonExtensions.NevGeneralas(_Tanuloszerzodes, nevmodel), formatumId: model.FormatumId);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult NyiltNapSablon(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
try
{
var ds = new DataSet();
const string _nyiltNapSablon = "nyiltNapSablon";
var intezmenyAdatok = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok();
string alulirottMegnevezese = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
int index = alulirottMegnevezese.IndexOf(" - ");
string nev = alulirottMegnevezese.Substring(0, index).Trim();
string beosztas = alulirottMegnevezese.Substring(index + " - ".Length).Trim();
var keltDatum = NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId);
var parameters = new Dictionary<string, object>
{
{"Kelt", string.Format("{0}-{1}", keltDatum.Remove(keltDatum.Length - 1), GetDatumRag(model.KeltDatum))},
{"IntezmenyIgazgato", nev},
{"IntezmenyNeve", intezmenyAdatok.Nev},
{"IntezmenyCim", intezmenyAdatok.IntezmenyCim},
{"IntezmenyTelefon", intezmenyAdatok.Telefonszam},
{"IntezmenyOMKod", intezmenyAdatok.OMKod},
{"IntezmenyEmail", intezmenyAdatok.Email},
{"Titulus", beosztas},
};
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return Nyomtatas(ds, _nyiltNapSablon, parameters, CommonExtensions.NevGeneralas(_nyiltNapSablon, nevmodel), formatumId: model.FormatumId, egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,753 @@
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.BusinessLogic.Helpers.Nyomtatvanyok.Excel;
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Iktatas;
using Kreta.Client.KozpontiKreta;
using Kreta.Core;
using Kreta.Core.KozpontiModels.MdszModels;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
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 MulasztasiOsszesito(NyomtatvanyModel model, NyomtatvanyEnum nye, Enums.DokumentumTipusEnum? dokumentumTipus)
{
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
try
{
DataSet ds;
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
switch (nye)
{
case NyomtatvanyEnum.OsztalyokHaviHianyzasiOsszesitoje:
ds = helper.GetOsztalyokHaviHianyzasiOsszesitoje();
break;
case NyomtatvanyEnum.IntezmenyiMulasztasiOsszesito:
return ExcelNyomtatas(helper.GetIntezmenyMulasztasiOsszesitojeMemoryStream(), CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), false, null, 0);
default:
ds = helper.GetOsztalyokHaviHianyzasiOsszesitoje();
break;
}
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: dokumentumTipus);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult OsztalyStatisztika(NyomtatvanyModel model, ErtekelesTipusEnum ertekelesTipusEnum, NapTipusEnum napTipusEnum, Enums.DokumentumTipusEnum dokumentumTipus, string idoszakNev = "")
{
try
{
var parameters = new Dictionary<string, object>
{
{"pTanevId", ClaimData.SelectedTanevID.Value},
{"pIntezmenyId", ClaimData.IntezmenyId},
{"pErtekelestipusaId", ertekelesTipusEnum.AsInt()},
{"pLezaroNaptipusId", napTipusEnum.AsInt()},
{"pMulasztasTipusIdKeses", MulasztasTipusEnum.keses.AsInt()},
{"pMulasztasTipusIdHianyzas", MulasztasTipusEnum.hianyzas.AsInt()},
{"pTanevrendjeTanevKezdeteNaptipusId", NapTipusEnum.elso_tanitasi_nap.AsInt()},
{"pTanoraiDicseretTipusId", EsemenyTipusEnum.Dicseret.AsInt()},
{"pFelszereleshianyTipusId", EsemenyTipusEnum.Felszereleshiany.AsInt()},
{"pHaziFeladatHianyTipusId", EsemenyTipusEnum.HaziFeladatHiany.AsInt()},
{"pAtsoroltTanuloAdatok", model.AtsoroltTanuloAdatokModId},
{"pOsztalyInditasaId", model.OsztalyInditasaId},
{"pElmeletgyakorlat", model.ElmeletGyakorlatKulon ? "1" : "0"},
{"pOsztalyzatTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).ToString()},
{"pMagatartasErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.MagatartasErtekelesTipus).ToString()},
{"pSzorgalomErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.SzorgalomErtekelesTipus).ToString()},
};
var multisheetExcel = (GetOsztalyIdList(model.OsztalyIdList, null).Count > 1) && !model.AlapszintuNyomtatvanyokKulonDokumentumba;
return AltalanosOsztalyFormazottXlsGeneralas(model, new OsztalyStatisztika(ConnectionTypeExtensions.GetSessionConnectionType(), multisheetExcel, isMagatartasSzorgalomNemLatszik: !model.MagatartasSzorgalomMegjelenitese), DokumentumKategoriaEnum.Statisztikak, dokumentumTipus, parameters, "pOsztalyId", "OsztalyStatisztika" + idoszakNev);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult OsztalyokTantargyiStatisztika(NyomtatvanyModel model, ErtekelesTipusEnum ertekelesTipusEnum, NapTipusEnum napTipusEnum, Enums.DokumentumTipusEnum dokumentumTipus, string idoszakNev = "")
{
try
{
var parameters = new Dictionary<string, string>();
parameters.Add("pTanevId", ClaimData.SelectedTanevID.Value.ToString());
parameters.Add("pIntezmenyId", ClaimData.IntezmenyId.ToString());
parameters.Add("pErtekelestipusaId", ertekelesTipusEnum.AsInt().ToString());
parameters.Add("pLezaroNaptipusId", napTipusEnum.AsInt().ToString());
parameters.Add("pTanoraiCsoportTipusIds", CsoportTipusEnum.iskolai_csoport_tanorai_celu_.AsInt().ToString());
parameters.Add("pMulasztasTipusIdKeses", MulasztasTipusEnum.keses.AsInt().ToString());
parameters.Add("pMulasztasTipusIdHianyzas", MulasztasTipusEnum.hianyzas.AsInt().ToString());
parameters.Add("pNemMulasztaIgazolasTipusIds", IgazolasTipusEnum.iskolaerdeku_tavollet.AsInt().ToString());
parameters.Add("pTanevrendjeTanevKezdeteNaptipusId", NapTipusEnum.elso_tanitasi_nap.AsInt().ToString());
parameters.Add("pElmeletgyakorlat", model.ElmeletGyakorlatKulon ? "1" : "0");
parameters.Add("pOktNevKategoria", model.OktNevelesiKategoriaId.ToString());
parameters.Add("pOsztalyzatTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).ToString());
parameters.Add("pMagatartasErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.MagatartasErtekelesTipus).ToString());
parameters.Add("pSzorgalomErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.SzorgalomErtekelesTipus).ToString());
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (FoszamDefinicioValueModel)null);
var osztalyokTantargyiStatisztika = new OsztalyokTantargyiStatisztika(ConnectionTypeExtensions.GetSessionConnectionType(), isMagatartasSzorgalomNemLatszik: !model.MagatartasSzorgalomMegjelenitese);
var excelContent = osztalyokTantargyiStatisztika.ExcelNyomtatas(parameters);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, osztalyokTantargyiStatisztika.GetSheetDataSet(), DokumentumElemiSzintEnum.Intezmeny);
}
var ret = ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("OsztalyokTantargyiStatisztika" + idoszakNev, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("OsztalyokTantargyiStatisztika" + idoszakNev, nevmodel, true), 0, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
if (!model.Iktatas)
{
return ret;
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult OsztalyokCsoportokTantargyiStatisztika(NyomtatvanyModel model, ErtekelesTipusEnum ertekelesTipusEnum, NapTipusEnum napTipusEnum, Enums.DokumentumTipusEnum dokumentumTipus, string idoszakNev = "")
{
try
{
var parameters = new Dictionary<string, string>();
parameters.Add("pTanevId", ClaimData.SelectedTanevID.Value.ToString());
parameters.Add("pErtekelestipusaId", ertekelesTipusEnum.AsInt().ToString());
parameters.Add("pLezaroNaptipusId", napTipusEnum.AsInt().ToString());
parameters.Add("pTanevrendjeTanevKezdeteNaptipusId", NapTipusEnum.elso_tanitasi_nap.AsInt().ToString());
parameters.Add("pAtsoroltTanuloAdatok", "1");
parameters.Add("pOktNevKategoria", model.OktNevelesiKategoriaId.ToString());
parameters.Add("pOsztalyzatTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).ToString());
parameters.Add("pMagatartasErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.MagatartasErtekelesTipus).ToString());
parameters.Add("pSzorgalomErtekelesTipusTypeID", ((int)GeneratedAdatszotarTipusEnum.SzorgalomErtekelesTipus).ToString());
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (FoszamDefinicioValueModel)null);
var osztalyokTantargyiStatisztika = new OsztalyokCsoportokTantargyiStatisztika(ConnectionTypeExtensions.GetSessionConnectionType());
var excelContent = osztalyokTantargyiStatisztika.ExcelNyomtatas(parameters);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, osztalyokTantargyiStatisztika.GetSheetDataSet(), DokumentumElemiSzintEnum.Intezmeny);
}
var ret = ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("OsztalyokCsoportokTantargyiStatisztika" + idoszakNev, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("OsztalyokCsoportokTantargyiStatisztika" + idoszakNev, nevmodel, true), 0, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
if (!model.Iktatas)
{
return ret;
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private ActionResult TanulokTantargyiStatisztika(NyomtatvanyModel model, ErtekelesTipusEnum ertekelesTipusEnum, NapTipusEnum napTipusEnum, Enums.DokumentumTipusEnum dokumentumTipus, string idoszakNev = "")
{
try
{
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var osztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
var parameters = new Dictionary<string, string>();
parameters.Add("pTanevId", ClaimData.SelectedTanevID.Value.ToString());
parameters.Add("pIntezmenyId", ClaimData.IntezmenyId.ToString());
parameters.Add("pErtekelestipusaId", ertekelesTipusEnum.AsInt().ToString());
parameters.Add("pLezaroNaptipusId", napTipusEnum.AsInt().ToString());
parameters.Add("pTanevrendjeTanevKezdeteNaptipusId", NapTipusEnum.elso_tanitasi_nap.AsInt().ToString());
parameters.Add("pMulasztasTipusIdKeses", MulasztasTipusEnum.keses.AsInt().ToString());
parameters.Add("pMulasztasTipusIdHianyzas", MulasztasTipusEnum.hianyzas.AsInt().ToString());
parameters.Add("pAtsoroltTanuloAdatok", model.AtsoroltTanuloAdatokModId.ToString());
parameters.Add("pElmeletgyakorlat", model.ElmeletGyakorlatKulon ? "1" : "0");
parameters.Add("pEvfolyamTipusTypeId", ((int)GeneratedAdatszotarTipusEnum.EvfolyamTipus).ToString());
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (FoszamDefinicioValueModel)null);
var tanulokTantargyiStatisztika = new TanulokTantargyiStatisztika(ConnectionTypeExtensions.GetSessionConnectionType(), osztalyIdList, isMagatartasSzorgalomNemLatszik: !model.MagatartasSzorgalomMegjelenitese);
var excelContent = tanulokTantargyiStatisztika.ExcelNyomtatas(parameters);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, tanulokTantargyiStatisztika.GetSheetDataSet(), DokumentumElemiSzintEnum.Intezmeny);
}
var ret = ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("TanulokTantargyiStatisztika" + idoszakNev, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("TanulokTantargyiStatisztika" + idoszakNev, nevmodel, true), 0, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: dokumentumTipus, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
if (!model.Iktatas)
{
return ret;
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#region Általános statisztikák
[HttpPost]
public ActionResult IntezmenyiMulasztasiOsszesitoje()
{
return MulasztasiOsszesito(null, NyomtatvanyEnum.IntezmenyiMulasztasiOsszesito, Enums.DokumentumTipusEnum.TanulokMulasztasai);
}
public ActionResult IntezmenyiTanulokNevsoraOsszesitoje()
{
try
{
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiTanulokNevsoraOsszesitoje();
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas(NyomtatvanyEnum.IntezmenyiTanulokNevsoraOsszesito.ToString(), nevmodel));
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult OsztalyTanuloinakMulasztasiSzazalekStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var parameters = new Dictionary<string, object>
{
{"pTanevId", ClaimData.SelectedTanevID.Value},
{"pMegtartottVagyMegtarthato", model.MegtartottVagyMegtarthatoModId},
{"tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{"tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{"isAltantargyBeszamitasa", model.AltantargyBeszamitasa}
};
var multisheetExcel = (GetOsztalyIdList(model.OsztalyIdList, null).Count > 1) && !model.AlapszintuNyomtatvanyokKulonDokumentumba;
return AltalanosOsztalyFormazottXlsGeneralas(model, new OsztalyTanuloinakMulasztasiSzazalekStatisztika(ConnectionTypeExtensions.GetSessionConnectionType(), multisheetExcel), DokumentumKategoriaEnum.Statisztikak, Enums.DokumentumTipusEnum.TanulokTantargyiMulasztasaTanorakAlapjanOsztalyonkent, parameters, "pOsztalyId", "OsztalyTanuloinakMulasztasiSzazalekStatisztika");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult StatPedagogusTanuloinakTantargyiMulasztasaiMegtartott(NyomtatvanyModel model)
{
try
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetStatPedagogusTanuloinakTantargyiMulasztasaiMegtartott(ClaimData.FelhasznaloId);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas(NyomtatvanyEnum.StatPedagogusTanuloinakTantargyiMulasztasaiMegtartott.ToString(), nevmodel), dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: Enums.DokumentumTipusEnum.TanulokTantargyiMulasztasaTanorakAlapjanOsztalyonkent);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult OsztalyTanuloinakMulasztasiGyakorlatiSzazalekStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var parameters = new Dictionary<string, object>
{
{"pTanevId", ClaimData.SelectedTanevID.Value},
{"pMegtartottVagyMegtarthato", model.MegtartottVagyMegtarthatoModId},
{"tanitasiHetekSzamaVegzos", model.TanitasiHetekSzamaVegzos},
{"tanitasiHetekSzamaNemVegzos", model.TanitasiHetekSzamaNemVegzos},
{"isAltantargyBeszamitasa", model.AltantargyBeszamitasa}
};
var multisheetExcel = (GetOsztalyIdList(model.OsztalyIdList, null).Count > 1) && !model.AlapszintuNyomtatvanyokKulonDokumentumba;
return AltalanosOsztalyFormazottXlsGeneralas(model, new OsztalyTanuloinakMulasztasiGyakorlatiSzazalekStatisztika(ConnectionTypeExtensions.GetSessionConnectionType(), multisheetExcel), DokumentumKategoriaEnum.Statisztikak, Enums.DokumentumTipusEnum.TanulokGyakorlatiMulasztasaTanorakAlapjanOsztalyonkent, parameters, "pOsztalyId", "OsztalyTanuloinakMulasztasiGyakorlatiSzazalekStatisztika");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult HianyzokEsJelenlevokSzama(NyomtatvanyModel model)
{
try
{
var parameters = new Dictionary<string, string>
{
{"pTanevId", ClaimData.SelectedTanevID.Value.ToString()},
{"pMinOraszam", model.TeljesNaposMulasztasSzamitashozMiminalisanMulasztottOrakszamaModId.ToString()}
};
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(new HianyzokEsJelenlevokSzama(ConnectionTypeExtensions.GetSessionConnectionType()).ExcelNyomtatas(parameters), CommonExtensions.NevGeneralas("HianyzokEsJelenlevokSzama", nevmodel), false, "Iktatás", dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult OsztalyTanuloinakHaviMulasztasaiOsszesitoje([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var osztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
var statisztika = new OsztalyTanuloinakHaviMulasztasiOsszesitoje(ConnectionTypeExtensions.GetSessionConnectionType());
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
foreach (var osztalyId in osztalyIdList)
{
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, OsztalyID = osztalyId };
var parameters = new Dictionary<string, string>
{
{"pTanevId", ClaimData.SelectedTanevID.Value.ToString()},
{"pIntezmenyId", ClaimData.IntezmenyId.ToString()},
{"pOsztalyId", osztalyId.ToString()},
{"pElmeletgyakorlat", model.ElmeletGyakorlatKulon ? "1" : "0"},
{"pMulasztandoOrakszamaTeljesNaposMulasztashoz", model.TeljesNaposMulasztasSzamitashozMiminalisanMulasztottOrakszamaModId.ToString()},
{"pHonapAdatszotarTypeId", ((int)GeneratedAdatszotarTipusEnum.Honapok).ToString()},
};
var excelContent = statisztika.ExcelNyomtatas(parameters);
if (osztalyIdList.Count > 1)
{
if (!model.Iktatas)
{
AddExcelMintZipEntry(ZipOutPut, excelContent, CommonExtensions.NevGeneralas("OsztalyTanuloinakHaviMulasztasiOsszesitoje", nevmodel));
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.OsztalyTanuloinakHaviMulasztasaiOsszesitoje, statisztika.GetSheetDataSet(), DokumentumElemiSzintEnum.Osztaly);
ExcelNyomtatas(excelContent, CommonExtensions.NevGeneralas("OsztalyTanuloinakHaviMulasztasiOsszesitoje", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("OsztalyTanuloinakHaviMulasztasiOsszesitoje", nevmodel, true), osztalyId, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: Enums.DokumentumTipusEnum.OsztalyTanuloinakHaviMulasztasaiOsszesitoje, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
else
{
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.OsztalyTanuloinakHaviMulasztasaiOsszesitoje, statisztika.GetSheetDataSet(), DokumentumElemiSzintEnum.Osztaly);
}
return ExcelNyomtatas(new OsztalyTanuloinakHaviMulasztasiOsszesitoje(ConnectionTypeExtensions.GetSessionConnectionType()).ExcelNyomtatas(parameters), CommonExtensions.NevGeneralas("OsztalyTanuloinakHaviMulasztasiOsszesitoje", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("OsztalyTanuloinakHaviMulasztasiOsszesitoje", nevmodel, true), osztalyId, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak, dokumentumTipus: Enums.DokumentumTipusEnum.OsztalyTanuloinakHaviMulasztasaiOsszesitoje, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
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("OsztalyTanuloinakHaviMulasztasiOsszesitoje", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult OsztalyokHaviHianyzasiOsszesitoje(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
return MulasztasiOsszesito(model, NyomtatvanyEnum.OsztalyokHaviHianyzasiOsszesitoje, null);
}
[HttpPost]
public ActionResult TanulokSportoloiAdatainakOsszesitoje([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var tanuloIds = new List<int>() { -1 };
if (model.OsztalyIdList != null)
{
var helper = new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID);
foreach (var item in model.OsztalyIdList)
{
var tanulos = helper.OsztalyTanuloi(item).Where(x => x.Aktiv).ToList();
foreach (var tanulo in tanulos)
{
tanuloIds.Add(int.Parse(tanulo.Value));
}
}
}
if (model.CsoportIdList != null)
{
var helper = new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID);
foreach (var item in model.CsoportIdList)
{
var tanulos = helper.CsoportTanuloi(item).Where(x => x.Aktiv).ToList();
foreach (var tanulo in tanulos)
{
tanuloIds.Add(int.Parse(tanulo.Value));
}
}
}
var client = new KozpontiClient(KozpontiKretaConfiguration.KtrUrl, KozpontiKretaConfiguration.ApiKey);
var kozpontiResult = client.GetDiakOlimpiaList(new MdszRequestModel()
{
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
TanuloIds = tanuloIds.ToArray()
});
var ds = new DataSet();
var dt = new DataTable();
dt.Columns.Add("Tanuló neve", typeof(string));
dt.Columns.Add("Oktatási azonosító", typeof(string));
dt.Columns.Add("Születési hely", typeof(string));
dt.Columns.Add("Születési idő", typeof(string));
dt.Columns.Add("Verseny neve", typeof(string));
dt.Columns.Add("Versenyrész neve", typeof(string));
dt.Columns.Add("Jelleg", typeof(string));
dt.Columns.Add("Korcsoport", typeof(string));
dt.Columns.Add("Esemény helyszíne", typeof(string));
dt.Columns.Add("Esemény kezdete", typeof(string));
dt.Columns.Add("Esemény vége", typeof(string));
dt.Columns.Add("Forduló neve", typeof(string));
dt.Columns.Add("Részt vett", typeof(string));
dt.Columns.Add("Továbbjutott", typeof(string));
dt.Columns.Add("Eredmény", typeof(string));
dt.Columns.Add("Helyezés", typeof(string));
if (kozpontiResult.Count > 0)
{
foreach (var item in kozpontiResult)
{
DataRow row;
row = dt.NewRow();
row["Tanuló neve"] = item.TanuloNev;
row["Oktatási azonosító"] = item.OktatasiAzonosito;
row["Születési hely"] = item.SzuletesiHely;
row["Születési idő"] = item.SzuletesiIdo.ToShortDateString();
row["Verseny neve"] = item.VersenyNev;
row["Versenyrész neve"] = item.VersenyReszNev;
row["Jelleg"] = item.Jelleg;
row["Korcsoport"] = item.Korcsoport;
row["Esemény helyszíne"] = item.Helyszin;
row["Esemény kezdete"] = item.Kezdete.ToShortDateString();
row["Esemény vége"] = item.Vege.ToShortDateString();
row["Forduló neve"] = item.Fordulo;
row["Részt vett"] = item.Resztvett ? CommonResource.Igen : CommonResource.Nem;
row["Továbbjutott"] = item.Tovabbjutott ? CommonResource.Igen : CommonResource.Nem;
row["Eredmény"] = item.Eredmeny;
row["Helyezés"] = item.Helyezes;
dt.Rows.Add(row);
}
}
ds.Tables.Add(dt);
return ExcelNyomtatas(ds, "TanulokSportoloiAdatainakOsszesitoje");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion
#region Osztály statisztikák
public ActionResult OsztalyFeleviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.felevi_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyFeleviStatisztika, "Felev");
}
public ActionResult OsztalyEvVegiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.evvegi_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyEvVegiStatisztika, "Evvege");
}
public ActionResult OsztalyElsoNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.I_ne_jegy_ertekeles, NapTipusEnum.I_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyINegyedeviStatisztika, "INegyedev");
}
public ActionResult OsztalyMasodikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.II_ne_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyIINegyedeviStatisztika, "IINegyedev");
}
public ActionResult OsztalyHarmadikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.III_ne_jegy_ertekeles, NapTipusEnum.III_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyIIINegyedeviStatisztika, "IIINegyedev");
}
public ActionResult OsztalyNegyedikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyStatisztika(model, ErtekelesTipusEnum.IV_ne_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyIVNegyedeviStatisztika, "IVNegyedev");
}
#endregion Osztálystatisztikák
#region Osztályok tantárgyi statisztika
public ActionResult OsztalyokFeleviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.felevi_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyokFeleviTantargyiStatisztika, "Felev");
}
public ActionResult OsztalyokEvVegiTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.evvegi_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyokEvVegiTantargyiStatisztika, "Evvege");
}
public ActionResult OsztalyokElsoNegyedeviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.I_ne_jegy_ertekeles, NapTipusEnum.I_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyokINegyedeviTantargyiStatisztika, "INegyedev");
}
public ActionResult OsztalyokMasodikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.II_ne_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyokIINegyedeviTantargyiStatisztika, "IINegyedev");
}
public ActionResult OsztalyokHarmadikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.III_ne_jegy_ertekeles, NapTipusEnum.III_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyokIIINegyedeviTantargyiStatisztika, "IIINegyedev");
}
public ActionResult OsztalyokNegyedikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokTantargyiStatisztika(model, ErtekelesTipusEnum.IV_ne_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyokIVNegyedeviTantargyiStatisztika, "IVNegyedev");
}
#endregion Osztályok tantárgyi statisztika
#region Osztályok-csoportok tantárgyi statisztika
public ActionResult OsztalyokCsoportokFeleviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.felevi_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyokCsoportokFeleviTantargyiStatisztika, "Felev");
}
public ActionResult OsztalyokCsoportokEvVegiTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.evvegi_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyokCsoportokEvVegiTantargyiStatisztika, "Evvege");
}
public ActionResult OsztalyokCsoportokElsoNegyedeviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.I_ne_jegy_ertekeles, NapTipusEnum.I_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyokCsoportokINegyedeviTantargyiStatisztika, "INegyedev");
}
public ActionResult OsztalyokCsoportokMasodikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.II_ne_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.OsztalyokCsoportokIINegyedeviTantargyiStatisztika, "IINegyedev");
}
public ActionResult OsztalyokCsoportokHarmadikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.III_ne_jegy_ertekeles, NapTipusEnum.III_negyedev_vege, Enums.DokumentumTipusEnum.OsztalyokCsoportokIIINegyedeviTantargyiStatisztika, "IIINegyedev");
}
public ActionResult OsztalyokCsoportokNegyedikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return OsztalyokCsoportokTantargyiStatisztika(model, ErtekelesTipusEnum.IV_ne_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.OsztalyokCsoportokIVNegyedeviTantargyiStatisztika, "IVNegyedev");
}
#endregion Osztályok-csoportok tantárgyi statisztika
#region Tanulók tantárgyi statisztika
public ActionResult TanulokFeleviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.felevi_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.TanulokFeleviTantargyiStatisztika, "Felev");
}
public ActionResult TanulokEvVegiTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.evvegi_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.TanulokEvVegiTantargyiStatisztika, "Evvege");
}
public ActionResult TanulokElsoNegyedeviTantargyiStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.I_ne_jegy_ertekeles, NapTipusEnum.I_negyedev_vege, Enums.DokumentumTipusEnum.TanulokINegyedeviTantargyiStatisztika, "INegyedev");
}
public ActionResult TanulokMasodikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.II_ne_jegy_ertekeles, NapTipusEnum.elso_felev_vege, Enums.DokumentumTipusEnum.TanulokIINegyedeviTantargyiStatisztika, "IINegyedev");
}
public ActionResult TanulokHarmadikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.III_ne_jegy_ertekeles, NapTipusEnum.III_negyedev_vege, Enums.DokumentumTipusEnum.TanulokIIINegyedeviTantargyiStatisztika, "IIINegyedev");
}
public ActionResult TanulokNegyedikNegyedeviStatisztika([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return TanulokTantargyiStatisztika(model, ErtekelesTipusEnum.IV_ne_jegy_ertekeles, NapTipusEnum.utolso_tanitasi_nap, Enums.DokumentumTipusEnum.TanulokIVNegyedeviTantargyiStatisztika, "IVNegyedev");
}
public ActionResult TanulokGyorsBejegyzesStatisztika(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvanyTipus = NyomtatvanyEnum.TanulokGyorsBejegyzesStatisztika)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokGyorsBejegyzesStatisztika));
var dsParameterek = new Dictionary<string, object>()
{
{ "osztalyId", model.OsztalyId },
};
var tanulokBejegyzesei = new TanulokGyorsbejegyzeseiExcel(ConnectionTypeExtensions.GetSessionConnectionType());
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
model.OsztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
if (model.OsztalyIdList.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.OsztalyIdList.Count == 1)
{
model.AlapszintuNyomtatvanyokKulonDokumentumba = false;
}
model.TanuloIdList = null;
var frxParameterek = new Dictionary<string, object>();
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.TanulokGyorsBejegyzesStatisztika.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.TanulokMulasztasai, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "TanulokMulasztasai", tanuloIdColumnName: "TanuloId", formazottExcelGenerator: tanulokBejegyzesei, emptyDocumentTable: "TanuloAlapAdatok");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult TanulokBejegyzesStatisztika(NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokBejegyzesStatisztika));
var dsParameterek = new Dictionary<string, object>()
{
{ "osztalyId", model.OsztalyId },
};
var tanulokBejegyzesei = new TanulokBejegyzeseiExcel(ConnectionTypeExtensions.GetSessionConnectionType());
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
model.OsztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
if (model.OsztalyIdList.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
if (model.OsztalyIdList.Count == 1)
{
model.AlapszintuNyomtatvanyokKulonDokumentumba = false;
}
model.TanuloIdList = null;
var frxParameterek = new Dictionary<string, object>() { { "Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix) } };
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.TanulokBejegyzesStatisztika.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.TanulokMulasztasai, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "TanulokMulasztasai", tanuloIdColumnName: "TanuloId", formazottExcelGenerator: tanulokBejegyzesei, emptyDocumentTable: "TanuloBejegyzes");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion Tanulók tantárgyi statisztika
#region Lázár Ervin program statisztikái
public ActionResult EloadasokTanuloinakOsszesitoje(NyomtatvanyModel model)
{
try
{
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEloadasokTanuloinakOsszesitoje(model.OsztalyIdList, model.OktNevelesiKategoriaId);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas(NyomtatvanyEnum.EloadasokTanuloinakOsszesitoje.ToString(), nevmodel));
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion
}
}

View file

@ -0,0 +1,419 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.IO;
using System.Web.Mvc;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Excel;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
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 RedirectToRouteResult KozpontiKretaLetoltottDokumentumIktatas(NyomtatvanyModel model, MemoryStream stream, string riportNeve, Enums.DokumentumTipusEnum dokumentumTipus, string formatum)
{
var ds = new DataSet();
var table = Newtonsoft.Json.Linq.JObject.Parse("{}").ToDataTable();
table.TableName = "IktatasAdatok";
ds.Tables.Add(table);
var (kulcsSzavak, foszamDefinicio) = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, DokumentumElemiSzintEnum.Intezmeny);
PoszeidonIktatas(stream, riportNeve, ClaimData.FelhasznaloId, DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus, 0, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio, formatum: formatum);
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
private ActionResult KozpontiKretaRiportLekeres(NyomtatvanyModel model, KozpontiKretaDokumentumTipusEnum riportNev, Enums.DokumentumTipusEnum dokumentumTipus, string formatum, string kiterjesztes, KozpontiKretaDokumentumTipusEnum? riportTipus = null, string riportFormatumUriPart = "")
{
if (!riportTipus.HasValue)
{
riportTipus = riportNev;
}
var tanevCo = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
var tanevNev = tanevCo.Nev.Replace("/", "_");
var riportNeve = $"{riportNev}_{ClaimData.IntezmenyAzonosito}_{tanevNev}";
try
{
var stream = KozpontiKretaHelper.GetRiportDokumentum(riportTipus.Value, ApplicationData.SystemType, tanevCo, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value, riportFormatumUriPart);
if (model.Iktatas)
{
return KozpontiKretaLetoltottDokumentumIktatas(model, stream, riportNeve, dokumentumTipus, formatum);
}
return File(stream, formatum, riportNeve + $".{kiterjesztes}");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult TanevKozbenKilepettTanulokNyomtatas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
try
{
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevKozbenKilepettTanulok();
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.TanevKozbenKilepettTanulok, ds, DokumentumElemiSzintEnum.Intezmeny);
}
ds.Tables.Remove("IktatasAdat");
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("TanevKozbenKilepettTanulok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("TanevKozbenKilepettTanulok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.TanevKozbenKilepettTanulok, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult OsztalyokEvesOraszama([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
try
{
var oktNevelesiKategoriaId = model.OktNevelesiKategoriaId.IsEntityId() ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokEvesOraszama(model.TanitasiHetekSzamaVegzos, model.TanitasiHetekSzamaNemVegzos, model.AltantargyBeszamitasa, oktNevelesiKategoriaId);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.OsztalyokEvesOraszamaiOsszesitoSegedletATorzslaponMegjelenoEvesOraszamokEllenorzesehez, ds, DokumentumElemiSzintEnum.Intezmeny);
}
ds.Tables.Remove("IktatasAdat");
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("OsztalyokEvesOraszama", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("OsztalyokEvesOraszama", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.OsztalyokEvesOraszamaiOsszesitoSegedletATorzslaponMegjelenoEvesOraszamokEllenorzesehez, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#region Naplóellenőrzés
[HttpPost]
public ActionResult NaplobaNemBejegyzettFoglalkozasokByOsztaly([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var outPut = new MemoryStream();
var zipOutPut = new ZipOutputStream(outPut);
var oktNevKategoria = model.OktNevelesiKategoriaId.IsEntityId() ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
var osztalyIdList = GetOsztalyIdList(model.OsztalyIdList, oktNevKategoria);
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var nyomtatvanyNeve = "NaplobaBeNemJegyzettFoglalkozasok";
try
{
if (osztalyIdList.Count == 0)
{
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
}
var result = new DataSet();
var resultIktatas = new DataSet();
for (var i = 0; i < osztalyIdList.Count; i++)
{
var osztalyId = osztalyIdList[i];
Enum.TryParse(new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(osztalyId).ToString(), out OktNevelesiKategoriaEnum kategoria);
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaplobaNemBejegyzettFoglalkozasok(osztalyId, model.PedagogusId, kategoria);
result.Tables.Add(ds.Tables[0].Copy());
if (osztalyIdList.Count > 1)
{
if (model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
nevmodel.OsztalyID = osztalyId;
if (!model.Iktatas)
{
var excelResult = ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel)) as FileStreamResult;
AddExcelMintZipEntry(zipOutPut, excelResult.FileStream as MemoryStream, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel));
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, ds, Enums.DokumentumElemiSzintEnum.Osztaly);
ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
result = new DataSet();
}
else
{
if (model.Iktatas)
{
resultIktatas.Merge(ds.Tables["IktatasiAdatok"]);
resultIktatas.Merge(ds.Tables["TanarIktatasiAdatok"]);
}
}
}
else
{
nevmodel.OsztalyID = osztalyId;
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, ds, Enums.DokumentumElemiSzintEnum.Osztaly);
}
return ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, resultIktatas, Enums.DokumentumElemiSzintEnum.Intezmeny);
}
return ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "TobbOsztaly", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "TobbOsztaly", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
if (model.Iktatas)
{
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
zipOutPut.Finish();
outPut.Position = 0;
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return new FileStreamResult(outPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult NaplobaNemBejegyzettFoglalkozasokByPedagogus([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
var outPut = new MemoryStream();
var zipOutPut = new ZipOutputStream(outPut);
var pedagogusIdList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList);
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
var nyomtatvanyNeve = NyomtatvanyokResource.NaplobaNemBejegyzettFoglalkozasokByPedagogus_Fajlnev;
try
{
var result = new DataSet();
var resultIktatas = new DataSet();
Enum.TryParse(new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(model.OsztalyId).ToString(), out OktNevelesiKategoriaEnum kategoria);
for (var i = 0; i < pedagogusIdList.Count; i++)
{
var pedagogusId = pedagogusIdList[i];
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaplobaNemBejegyzettFoglalkozasok(model.OsztalyId, pedagogusId, kategoria);
result.Tables.Add(ds.Tables[0].Copy());
if (pedagogusIdList.Count > 1)
{
if (model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
nevmodel.TanarID = pedagogusId;
if (!model.Iktatas)
{
var excelResult = ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel)) as FileStreamResult;
AddExcelMintZipEntry(zipOutPut, excelResult.FileStream as MemoryStream, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel));
}
else
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, ds, Enums.DokumentumElemiSzintEnum.Tanulo);
ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusokNaplobaBeNemJegyzettOraiOsszesOrarendAlapjan, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
result = new DataSet();
}
else
{
if (model.PedagogusIdList == null && !result.Tables.Contains(NyomtatvanyokResource.Osszes))
{
var osszesTable = ds.Tables[0].Clone();
osszesTable.TableName = NyomtatvanyokResource.Osszes;
var elsoTabla = result.Tables[0];
result.Tables.Remove(elsoTabla);
result.Tables.Add(osszesTable);
result.Tables.Add(elsoTabla);
}
if (result.Tables.Contains(NyomtatvanyokResource.Osszes) && ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows[0][0] != DBNull.Value)
{
result.Tables[NyomtatvanyokResource.Osszes].Merge(ds.Tables[0]);
}
if (model.Iktatas)
{
resultIktatas.Merge(ds.Tables["IktatasiAdatok"]);
resultIktatas.Merge(ds.Tables["TanarIktatasiAdatok"]);
}
}
}
else
{
nevmodel.TanarID = pedagogusId;
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, ds, Enums.DokumentumElemiSzintEnum.Tanulo);
}
return ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve, nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusokNaplobaBeNemJegyzettOraiOsszesOrarendAlapjan, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
}
if (!model.AlapszintuNyomtatvanyokKulonDokumentumba)
{
if (model.Iktatas)
{
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.NaplobaBeNemJegyzettFoglalkozasokOrarendAlapjan, resultIktatas, Enums.DokumentumElemiSzintEnum.Intezmeny);
}
return ExcelNyomtatas(result, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "TobbPedagogus", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas(nyomtatvanyNeve + "TobbPedagogus", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.TanugyiEllenorzes, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusokNaplobaBeNemJegyzettOraiOsszesOrarendAlapjan, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
}
if (model.Iktatas)
{
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
}
zipOutPut.Finish();
outPut.Position = 0;
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return new FileStreamResult(outPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nyomtatvanyNeve, zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult PedagogusokBeNemIrtOraiHaviBontasban(NyomtatvanyModel model)
{
try
{
var parameters = new Dictionary<string, string>
{
{"pTanevId", ClaimData.SelectedTanevID.Value.ToString()},
{"pIntezmenyId", ClaimData.IntezmenyId.ToString()},
{"pFeladatKategoriaId", model.OktNevelesiKategoriaId.IsEntityId() ? model.OktNevelesiKategoriaId.ToString() : null }
};
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(new PedagogusokBeNemIrtOraiHaviBontasban(ConnectionTypeExtensions.GetSessionConnectionType()).ExcelNyomtatas(parameters), CommonExtensions.NevGeneralas("PedagogusokBeNemIrtOraiHaviBontasban", nevmodel), false, "Iktatás", 0, dokumentumKategoria: DokumentumKategoriaEnum.Statisztikak);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion Naplóellenőrzés
#region Fenntartói dokumentumok
public ActionResult KozpontiKretaElfogadottTtfExcel([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.TtfExcel, Enums.DokumentumTipusEnum.ElfogadottTantargyfelosztasFormazottExcel, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx, KozpontiKretaDokumentumTipusEnum.TtfElfogadottExcel, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult KozpontiKretaElfogadottTtfPdf([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.TtfPdf, Enums.DokumentumTipusEnum.ElfogadottTantargyfelosztasFormazottPDF, Core.Constants.ContentTypes.Pdf, Constants.ImportExport.FileFormatPdf, KozpontiKretaDokumentumTipusEnum.TtfElfogadottPdf, Constants.ImportExport.FileFormatPdf);
}
public ActionResult KozpontiKretaTtfExcel([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.TtfExcel, Enums.DokumentumTipusEnum.TantargyfelosztasFormazottExcel, Core.Constants.ContentTypes.Xlsx, Core.Constants.ImportExport.FileExtensionExcelX, riportFormatumUriPart: Constants.ImportExport.FileFormatXlsx);
}
public ActionResult KozpontiKretaTtfPdf([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.TtfPdf, Enums.DokumentumTipusEnum.TantargyfelosztasFormazottPDF, Core.Constants.ContentTypes.Pdf, Core.Constants.ImportExport.FileExtensionPdf, riportFormatumUriPart: Constants.ImportExport.FileFormatPdf);
}
public ActionResult KozpontiKretaOsztalyokSzama([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.OsztalyokSzamaRiport, Enums.DokumentumTipusEnum.OsztalyokSzamaRiport, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult KozpontiKretaCsoportokSzama([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.CsoportokSzamaRiport, Enums.DokumentumTipusEnum.CsoportokSzamaRiport, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult KozpontiKretaFeladatellatasiHelyek([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.FeladatellatasiHelyekRiport, Enums.DokumentumTipusEnum.FeladatellatasiHelyekRiport, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult AgazatiTanuloiLetszamEvfolyamonkentNemenkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.AgazatiTanuloiLetszamEvfolyamonkentNemenkentRiport, Enums.DokumentumTipusEnum.TanulokMegoszlasaEvfolyamokEsAgazatokSzerint, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult ReszletesAlkalmazottiport([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.ReszletesAlkalmazottRiport, Enums.DokumentumTipusEnum.ReszletesAlkalmazottAdatok, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult ReszletesTanuloRiport([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))] NyomtatvanyModel model)
{
return KozpontiKretaRiportLekeres(model, KozpontiKretaDokumentumTipusEnum.ReszletesTanulokRiport, Enums.DokumentumTipusEnum.ReszletesTanuloiAdatok, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.FileFormatXlsx);
}
public ActionResult EbedNormativaRiport([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEbedNormativaRiport(model.Oraszam, model.IsAmiHianyzasIsMegjelenjen);
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("EbedNormativaRiport", new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value }));
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
#endregion Fenntartói dokumentumok
}
}

View file

@ -0,0 +1,464 @@
using System;
using System.Collections.Generic;
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.BusinessLogic.Helpers.Nyomtatvanyok.Excel;
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.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
{
private ActionResult JelenletiIv(NyomtatvanyModel model, NyomtatvanyEnum nye)
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
try
{
var buffer = new byte[Constants.General.BufferSize];
ActionResult egyediJelenletiIv = new FileStreamResult(OutPut, Constants.ImportExport.ContentType);
var parameters = new Dictionary<string, object> {
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"PHMegjelenitese", model.PHMegjelenitese }
};
foreach (var foglalkozasId in GetFoglalkozasIdList(model.FoglalkozasIdList))
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloJelenletiIvAlkalmankent(foglalkozasId, model.KeltDatum);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, FoglalkozasID = foglalkozasId };
if (GetFoglalkozasIdList(model.FoglalkozasIdList).Count > 1)
{
using (var stream = GetMemoryStreamByName(ds, nye.ToString(), parameters, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), formatumId: model.FormatumId))
{
AddZipEntry(ZipOutPut, stream, $"{CommonExtensions.NevGeneralas(nye.ToString(), nevmodel)}", model.FormatumId);
}
}
else
{
egyediJelenletiIv = Nyomtatas(ds, nye.ToString(), parameters, CommonExtensions.NevGeneralas(nye.ToString(), nevmodel), formatumId: model.FormatumId);
}
}
ZipOutPut.Finish();
OutPut.Position = 0;
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
if (GetFoglalkozasIdList(model.FoglalkozasIdList).Count > 1)
{
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{CommonExtensions.NevGeneralas(nye.ToString(), zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
};
}
return egyediJelenletiIv;
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult JelenletiIvAlkalmankent(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
return JelenletiIv(model, NyomtatvanyEnum.JelenletiIvAlkalmankent);
}
[HttpPost]
public ActionResult JelenletiIv15Alkalom(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
return JelenletiIv(model, NyomtatvanyEnum.JelenletiIv15Alkalmas);
}
[HttpPost]
public ActionResult AlairoIv15Alkalom(NyomtatvanyModel model)
{
/// TODO: nincs ilyen dokumentum típus
return JelenletiIv(model, NyomtatvanyEnum.AlairoIv15Alkalom);
}
public ActionResult TanuloiKapcsolatKereses(NyomtatvanyModel model)
{
var OutPut = new MemoryStream();
var ZipOutPut = new ZipOutputStream(OutPut);
try
{
var buffer = new byte[Constants.General.BufferSize];
ActionResult fileStremResult = new FileStreamResult(OutPut, Constants.ImportExport.ContentType);
var tanuloiKapcsolatKeresesAdatok = NyomtatvanyokLogic.TanuloiKapcsolatKeresesAdatok(model.KeltDatum);
var nemJelenlevoTanulok = new List<string>();
var tanulok = NyomtatvanyokLogic.GetTanulokKapcsolatKereso(model, tanuloiKapcsolatKeresesAdatok);
var jelenlevoTanulok = tanulok.Count(x => x.tanuloKapcsolatKeresoAdatok.Tables[0].Rows.Count > 0);
if (jelenlevoTanulok > 1)
{
foreach (var tanulo in tanulok.Where(x => x.tanuloKapcsolatKeresoAdatok.Tables[0].Rows.Count > 0))
{
var stream = ExcelNyomtatasByMemoryStream(tanulo.tanuloKapcsolatKeresoAdatok, false);
var fajlNev = RemoveSpecialCharacters("Tanulói kapcsolat " + DateTime.Now.ToString("yyyyMMddHHmm") + " " + tanulo.tanuloNev);
AddExcelMintZipEntry(ZipOutPut, stream, fajlNev);
}
}
else if (jelenlevoTanulok == 1)
{
var tanulo = tanulok.FirstOrDefault(x => x.tanuloKapcsolatKeresoAdatok.Tables[0].Rows.Count > 0);
var fajlNev = RemoveSpecialCharacters("Tanulói kapcsolat " + DateTime.Now.ToString("yyyyMMddHHmm") + " " + tanulo.tanuloNev);
fileStremResult = ExcelNyomtatas(tanulo.tanuloKapcsolatKeresoAdatok, fajlNev);
}
else
{
throw new Exception(NyomtatvanyokResource.JelzettNaponTanulonakNemVoltJelen);
}
ZipOutPut.Finish();
OutPut.Position = 0;
if (jelenlevoTanulok > 1)
{
fileStremResult = new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{RemoveSpecialCharacters("Tanulói kapcsolat " + DateTime.Now.ToString("yyyyMMddHHmm"))}.{Constants.ImportExport.FileFormatZip}"
};
}
return fileStremResult;
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult FeljegyzesekReszletezese([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokFeljegyzesekReszletezese));
var dsParameterek = new Dictionary<string, object>();
var frxParameterek = new Dictionary<string, object>()
{
{"Osztalyfonok", StringResourcesUtil.GetString(29)},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text}
};
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.TanulokFeljegyzesekReszletezese.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.FeljegyzesekReszletezese, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "FeljegyzesReszletezes", tanuloIdColumnName: "TANULO_ID");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult TantargyiMulasztasokReszletezese([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokTantargyMulasztasokReszletezese));
var dsParameterek = new Dictionary<string, object>()
{
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit }
};
var frxParameterek = new Dictionary<string, object>
{
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text}
};
return AltalanosTanuloiGeneralas(model, "TanulokTantargyiMulasztasokReszletezese", DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.TantargyiMulasztasokReszletezese, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "Tanulo,Tantargy,MulasztasokReszletezese", tanuloIdColumnName: "TanuloId");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult TanulokMulasztasai(NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokMulasztasokKesesek));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>();
dsParameterek.Add("elmeletgyakorlat", model.ElmeletGyakorlatKulon);
model.FormatumId = NyomtatvanyFormatumEnum.Excel.AsInt();
var multisheet = (model.OsztalyIdList.Count > 1) && (!model.AlapszintuNyomtatvanyokKulonDokumentumba);
var tanulokMulasztasai = new TanulokMulasztasaiExcel(ConnectionTypeExtensions.GetSessionConnectionType(), isMultisheetExcel: multisheet, elmeletGyakorlat: model.ElmeletGyakorlatKulon);
Dictionary<string, object> frxParameterek = new Dictionary<string, object>() { { "Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix) } };
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.TanulokMulasztasok.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.TanulokMulasztasai, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "TanulokMulasztasai", tanuloIdColumnName: "TanuloId", formazottExcelGenerator: tanulokMulasztasai);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult KozossegiSzolgalatokExcelExport(NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
KozossegiSzolgalatokSearchCo co = new KozossegiSzolgalatokSearchCo();
co.OsztalyCsoportIdList = model.OsztalyIdList;
co.TanuloIdList = model.TanuloIdList;
DataSet dataSet = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKozossegiSzolgalatokExcelExport(co);
//NOTE: Az osztály összesítő táblák 4. oszlopa, illetve az összes többi tábla 5. oszlopa numerikus formában kell megjelennie.
var excelNumericTypeColumns = new List<ExcelNumericTypeColumn>();
excelNumericTypeColumns.AddRange(Enumerable.Range(0, model.OsztalyIdList.Count).Select(x => new ExcelNumericTypeColumn(3, x)));
excelNumericTypeColumns.Add(new ExcelNumericTypeColumn(4));
return ExcelNyomtatas(dataSet, FeljegyzesekResource.KozossegiSzolgalatokExportFileName, excelNumericTypeColumns: excelNumericTypeColumns);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult FelmentesekHatarozatok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokFelmentesekHatarozatok));
var dsParameterek = new Dictionary<string, object>();
var frxParameterek = new Dictionary<string, object>
{
{"Osztalyfonok", StringResourcesUtil.GetString(29)},
{"Tantargy", StringResourcesUtil.GetString(2882)},
{"MentessegOka", StringResourcesUtil.GetString(2883)},
{"Tipus", StringResourcesUtil.GetString(2884)},
{"Kelt", NyomtatvanyokLogic.KeltSzoveg(model.KeltDatum, model.KeltFormatumId)},
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text}
};
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.TanulokFelmentesekHatarozatok.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.FelmentesekHatarozatok, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "FelmentesekDataSource", tanuloIdColumnName: "TANULO_ID");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult TanuloiAdatlapok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanuloiAdatlap));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>()
{
{ "isSzakkepzoIntezmenyAnd21_22TanevOrLater", ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny }
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>()
{
{ "MagantanuloText", ClaimData.IsSelectedTanev20_21OrLater ? TanuloResource.EgyeniMunkarend : TanuloResource.Magantanulo }
};
return AltalanosTanuloiGeneralas(model, "TanuloiAdatlap", DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.TanuloiAdatlapok, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "Tanulok", tanuloIdColumnName: "TanuloId");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult TanuloJegyeiReszletezes([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetTanulokJegyeiReszletezes));
var dsParameterek = new Dictionary<string, object>()
{
{ "isMagatartasSzorgalomNemLatszik" , !model.MagatartasSzorgalomMegjelenitese }
};
var frxParameterek = new Dictionary<string, object>
{
{"AlulirottMegnevezese", new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text}
};
var multisheet = (model.OsztalyIdList.Count > 1) && (!model.AlapszintuNyomtatvanyokKulonDokumentumba);
var tanuloJegyeiReszletezes = new TanuloJegyeiReszletezesExcelbe(ConnectionTypeExtensions.GetSessionConnectionType(), multisheet);
return AltalanosTanuloiGeneralas(model, "TanuloJegyekReszletezese", DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.ErtekelesekReszletezese, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec", tablakFilterByTanuloId: "JegyekReszletezese", tanuloIdColumnName: "TanuloId", formazottExcelGenerator: tanuloJegyeiReszletezes);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
public ActionResult Ellenorzo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var isIskolaerdekuSzamit = GetIsIskolaerdekuSzamit();
var minTanoraSzam = GetMinTanoraSzam();
var nyomtatvanyNeve = NyomtatvanyEnum.Ellenorzo.ToString();
model.FormatumId = (int)NyomtatvanyFormatumEnum.PDF;
// Azért, hogy tanulói szinten legyen generálva
model.AlapszintuNyomtatvanyokKulonDokumentumba = true;
if (model.TanuloIdList == null)
{
model.TanuloIdList = new List<int> { -1 };
}
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetEllenorzo));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>() {
{ "aktivtanevId", ClaimData.AktivTanevID },
{ "iskolaErdekuSzamit", isIskolaerdekuSzamit },
{ "fuggolegesTantargyak", model.FuggolegesTantargyak },
{ "isReszletesMulasztasok", model.ReszletesMulasztasok },
{ "isEgyebFoglalkozasok", model.EgyebFoglalkozasok },
{ "minTanoraSzam", minTanoraSzam },
{ "orarendErvenyessegiDatum", model.OrarendErvenyessegiDatum },
{ "isEllenorzo", true },
{ "isSzovegesNaplo", true },
{ "isMagatartasSzorgalomNemLatszik" , !model.MagatartasSzorgalomMegjelenitese }
};
Dictionary<string, object> frxParameterek = new Dictionary<string, object>() {
{ "ElmeletGyakorlat", model.ElmeletGyakorlatKulon.ToString() }
};
return AltalanosTanuloiGeneralas(model, nyomtatvanyNeve, DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.OsztalyTanuloinakEllenorzokonyve, metodus, 0, dsParameterek, frxParameterek, distinctTables: "Fejlec,Tanarok", tablakFilterByTanuloId: "TanuloAlapAdatok,TanuloElerhetosegei,TanuloMentessegei,TanuloHatarozatok,FeljegyzesekATanulorol,TanuloMulasztasai,TanuloGonviselokAdatai,TanuloZaradek,TanuloSzoveges,TanuloKozossegiSzolgalat,TanuloTantargyiErtekelesei,TanuloHetirend,Orarend,ErtekelesFeljegyzesei1Felev,ErtekelesFeljegyzesei2Felev", tanuloIdColumnName: "TanuloId", emptyDocumentTable: "TanuloAlapAdatok");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult KozossegiSzolgalatJelentkezesLap(NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetKozossegiJelentkezesLap));
Dictionary<string, object> dsParameterek = new Dictionary<string, object>();
Dictionary<string, object> frxParameterek = new Dictionary<string, object> { { "Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix) } };
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.KozossegiJelentkezesLap.ToString(), DokumentumKategoriaEnum.Tanulok, Enums.DokumentumTipusEnum.KozossegiSzolgalatiJelentkezesiLap, metodus, 0, dsParameterek, frxParameterek, distinctTables: "IntezmenyAdatok", tablakFilterByTanuloId: "TanuloAdatok,GondviseloAdatok", tanuloIdColumnName: "TanuloId", egyediLablecKellOldalszam: false);
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult KozossegiSzolgalatNaplo(NyomtatvanyModel model)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetKozossegiSzolgalatNaplo));
var dsParameterek = new Dictionary<string, object>();
var frxParameterek = new Dictionary<string, object> { { "Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix) } };
return AltalanosTanuloiGeneralas(model, NyomtatvanyEnum.KozossegiSzolgalatNaplo.ToString(), DokumentumKategoriaEnum.Tanulok, null, metodus, 0, dsParameterek, frxParameterek, distinctTables: "IntezmenyAdatok", tablakFilterByTanuloId: "Tanulok,Reszletek", tanuloIdColumnName: "TanuloId");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
[HttpPost]
public ActionResult BukasraAlloTanulok(NyomtatvanyModel model)
{
try
{
List<int> osztalyCsoportIdList = model.OsztalyCsoportIdList?.Where(x => x.IsEntityId()).Distinct().ToList();
if (osztalyCsoportIdList == null || osztalyCsoportIdList.Count <= 0)
{
OktNevelesiKategoriaEnum? feladatKategoria = model.OktNevelesiKategoriaId.IsEntityId() ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
DataSet osztalyCsoportDataSet = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKapcsolodoOsztalyCsoportDataSet(true, true, true, feladatKategoria);
var osztalyCsoportIdListByTanar = new List<int>();
foreach (DataRow dataRow in osztalyCsoportDataSet.Tables[0].Rows)
{
osztalyCsoportIdListByTanar.Add(Convert.ToInt32(dataRow["ID"]));
}
osztalyCsoportIdList = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetOsztalyCsoportCoList()
.Where(x => osztalyCsoportIdListByTanar.Contains(x.Id) && x.IsOsztaly)
.OrderBy(x => x.EvfolyamTipusOrder)
.ThenBy(x => x.Nev)
.Select(x => x.Id)
.ToList();
}
DataSet dataSet = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBukasraAlloTanulok(osztalyCsoportIdList);
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
return ExcelNyomtatas(dataSet, CommonExtensions.NevGeneralas("BukasraAlloTanulok", nevmodel));
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,420 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Resources;
using Kreta.Web.Areas.Nyomtatvanyok.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(new string[] { KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue })]
public class TermekportalController : Controller
{
private IFeatureContext FeatureContext { get; }
public TermekportalController(IFeatureContext featureContext)
{
FeatureContext = featureContext;
}
// GET: Nyomtatvanyok/Termekportal
public ActionResult Index()
{
var model = new PanelBarBaseModel();
model.PanelName = Constants.Termekportal.PANELNAME;
model.ChildModels = ChildModelsFeltoltes();
return View("Index", model);
}
private List<PanelBarChildModel> ChildModelsFeltoltes()
{
List<PanelBarChildModel> panelBarChildModels = new List<PanelBarChildModel>();
List<object> data;
var isAdmin = ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Adminisztrator.ClaimValue);
#region GINOP 6.2.3
var HOIdb = FeatureContext.IsEnabled(Core.Constants.FeatureName.HOIAdatbazis);
if (isAdmin && HOIdb)
{
data = new List<object>();
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.GINOPEszkozspecifikacio,
DocumentType = Constants.Termekportal.LINK,
ActionLink = Constants.Termekportal.GINOP_ESZKOZSPECIFIKACIO
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.IKTSegedlet,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.IKT_SEGEDLET
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.EszkozSpecJavaslat,
DocumentType = Constants.Termekportal.XLS,
ActionLink = Constants.Termekportal.ESZKOZ_SPECIFIKACIO_JAVASLAT
});
panelBarChildModels.Add(new PanelBarChildModel
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.GINOP623,
Data = data
});
}
#endregion
#region Tudásbázis csoport
if (isAdmin)
{
data = new List<object>();
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.TudasbazisLeiras,
DocumentType = Constants.Termekportal.LINK,
ActionLink = Constants.Termekportal.TUDASBAZIS
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.TudasbazisCsoport,
Data = data
});
}
#endregion
#region Adatszolgáltatások csoport
if (isAdmin)
{
data = new List<object>();
data.Add(new TermekportalModel
{
Name = TermekportalResource.KRETAElozetesTantargyfelosztasSegedlet,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.ETTF
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.AdatszolgGyorsAttekintesSegedlet,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.ADATSZOLG_GYORSATTEKINTES
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.PedagogusIktKompetencia,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.PEDAGOGUS_IKT
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.BeiratkozasAdatszolg,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.BEIRATKOZAS_ADATASZOLG
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.AdatszolgCsoport,
Data = data
});
}
#endregion
#region E-learning csoport
data = new List<object>();
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.FelkszeszitesKRETAPedagogusmodulKepzes,
DocumentType = Constants.Termekportal.LINK,
ActionLink = Constants.Termekportal.FELKESZITES_A_KRETAHOZ
});
if (isAdmin)
{
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.KretaAdminKepzes,
DocumentType = Constants.Termekportal.LINK,
ActionLink = Constants.Termekportal.KRETA_ADMIN
});
}
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.ELearningCsoport,
Data = data
});
#endregion
#region Felhasználói kézikönyvek csoport
data = new List<object>();
if (isAdmin)
{
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.ENaploGyorsAttekintesSegedlet,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.ENAPLO_GYORSATTEKINTES
});
}
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.PedagogusFelhasznaloiKezikonyv,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.PEDAGOGUS_KEZIKONYV
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.FelhasznaloiKezikonyvekCsoport,
Data = data
});
#endregion
#region KRÉTA Poszeidon iktatórendszer modul
if (isAdmin)
{
data = new List<object>();
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.IntezmenyiUgyiratkezeloiSegedlet,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.INTEZMENYI_UGYIRAT
});
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.PoszeidonWebesFelhasznaloiDokumentacio,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.POSZEIDON_WEBES_KEZIKONYV
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = TermekportalResource.KRETAPoszeidonIratkezeloModulCIM,
Data = data
});
}
#endregion
#region Egyéb dokumentumok csoport
if (isAdmin)
{
data = new List<object>();
data.Add(new TermekportalModel
{
Name = NyomtatvanyokResource.IntezmenyiBemutatoanyag,
DocumentType = Constants.Termekportal.PDF,
ActionLink = Constants.Termekportal.INTEZMENYI_BEMUTATO
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = NyomtatvanyokResource.EgyebDokumentumokCsoport,
Data = data
});
}
#endregion
#region Kréta rendszer moduljainak leírása
if (isAdmin)
{
data = new List<object>();
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAIntezmenyiAdminisztraciosRendszerModulCIM,
Description = TermekportalResource.KRETAIntezmenyiAdminisztraciosRendszerModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAElektronikusNaploModulCIM,
Description = TermekportalResource.KRETAElektronikusNaploModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAElektronikusEllenorzoModulCIM,
Description = TermekportalResource.KRETAElektronikusEllenorzoModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETATantargyfelosztasModulCIM,
Description = TermekportalResource.KRETATantargyfelosztasModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAKozpontiRendszerModulCIM,
Description = TermekportalResource.KRETAKozpontiRendszerModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAAdatszolgaltatasModulCIM,
Description = TermekportalResource.KRETAAdatszolgaltatasModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAKozmuAdatszolgaltatasModulCIM,
Description = TermekportalResource.KRETAKozmuAdatszolgaltatasModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETABeiratkozasModulCIM,
Description = TermekportalResource.KRETABeiratkozasModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETABeleptetoModulCIM,
Description = TermekportalResource.KRETABeleptetoModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETADualisKepzesModulCIM,
Description = TermekportalResource.KRETADualisKepzesModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAPoszeidonIratkezeloModulCIM,
Description = TermekportalResource.KRETAPoszeidonIratkezeloModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAKlebelsbergOsztondijModulCIM,
Description = TermekportalResource.KRETAKlebelsbergOsztondijModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETASzuloiModulCIM,
Description = TermekportalResource.KRETASzuloiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAPenzugyiModulCIM,
Description = TermekportalResource.KRETAPenzugyiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAGazdalkodasiModulCIM,
Description = TermekportalResource.KRETAGazdalkodasiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAHumaneroforrasModulCIM,
Description = TermekportalResource.KRETAHumaneroforrasModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAeUgyintezesiModulCIM,
Description = TermekportalResource.KRETAeUgyintezesiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAIntezmenyiMonitoringModulCIM,
Description = TermekportalResource.KRETAIntezmenyiMonitoringModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAPedagogusMonitoringModulCIM,
Description = TermekportalResource.KRETAPedagogusMonitoringModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETASzakkepzesiModulCIM,
Description = TermekportalResource.KRETASzakkepzesiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAFelnottkepzesiModulCIM,
Description = TermekportalResource.KRETAFelnottkepzesiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETASzakkepzesiJelentkezesModulCIM,
Description = TermekportalResource.KRETASzakkepzesiJelentkezesModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETATanuloMonitoringModulCIM,
Description = TermekportalResource.KRETATanuloMonitoringModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAEszkozNyilvantartoModulCIM,
Description = TermekportalResource.KRETAEszkozNyilvantartoModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETAProjektNyilvantartoModulCIM,
Description = TermekportalResource.KRETAProjektNyilvantartoModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETASzakkepzesiFelnottkepzesiModulCIM,
Description = TermekportalResource.KRETASzakkepzesiFelnottkepzesiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KRETADigitalisKollaboraciosTerModulCIM,
Description = TermekportalResource.KRETADigitalisKollaboraciosTerModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.KretaFenntartoiEllenorzesModulCIM,
Description = TermekportalResource.KretaFenntartoiEllenorzesModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.PedagogusokPalyazatbanTortenoReszvetelenekNyomonkovetesiEllenorzesiModulCIM,
Description = TermekportalResource.PedagogusokPalyazatbanTortenoReszvetelenekNyomonkovetesiEllenorzesiModulSZOVEG
});
data.Add(new TermekLeirasModel()
{
Title = TermekportalResource.UzletiTervezesModulCIM,
Description = TermekportalResource.UzletiTervezesModulSZOVEG
});
data.Add(new TermekLeirasModel
{
Title = TermekportalResource.KRETAIFMModulCIM,
Description = TermekportalResource.KRETAIFMModulSZOVEG,
});
data.Add(new TermekLeirasModel
{
Title = TermekportalResource.FeltarModulCIM,
Description = TermekportalResource.FeltarModulSZOVEG,
});
panelBarChildModels.Add(new PanelBarChildModel()
{
PartialViewName = Constants.Termekportal.PARTIALVIEWNAME,
PartialViewTitle = TermekportalResource.KRETARendszerModuljainakLeirasa,
Data = data
});
}
#endregion
return panelBarChildModels;
}
}
}

View file

@ -0,0 +1,861 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using FastReport;
using FastReport.Table;
using FastReport.Utils;
using ICSharpCode.SharpZipLib.Zip;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Alkalmazott.Models;
using Kreta.Web.Areas.Nyomtatvanyok.Controllers;
using Kreta.Web.Areas.Nyomtatvanyok.Models;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Nyomtatvanyok.Logic
{
public static class NyomtatvanyokLogic
{
private const float LABLEC_OLDALSZAM_MAGASSAG_MILIMETERBEN = 10;
private const float LABLEC_MAGASSAG_MILIMETERBEN = 22;
private const float KEP_MAGASSAG_MILIMETERBEN = 20;
private const float LABLEC_FUGGOLEGES_TAVOLSAG_MILIMETERBEN = 1;
private const float FEJLEC_MAGASSAG = 25;
public class DokumentumModel
{
public string SzervezetNev { get; set; }
public string EloadasHelyszin { get; set; }
public string EloadasNev { get; set; }
public string EloadasIdopontja { get; set; }
public string TanuloNev { get; set; }
public string TanuloOktAzon { get; set; }
}
public static ActionResult GetLepGondviseloEngedelyezesZip(string data)
{
var modelList = JsonConvert.DeserializeObject<List<DokumentumModel>>(data);
var outPut = new MemoryStream();
var zipOutPut = new ZipOutputStream(outPut);
try
{
var intezmenyAdatok = new IntezmenyHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).GetAktivIntezmenyNevCim();
string dokumentumNeve = "LEP_gondviselo_engedelyezes";
byte[] buffer = new byte[Constants.General.BufferSize];
foreach (var item in modelList)
{
var parameters = new Dictionary<string, object>
{
{"IntezmenyNev", intezmenyAdatok.Nev},
{"IntezmenyOmAzonosito", intezmenyAdatok.OMKod},
{"SzervezetNeve", item.SzervezetNev},
{"EloadasHelyszine", item.EloadasHelyszin},
{"EloadasNeve", item.EloadasNev},
{"Idopont", item.EloadasIdopontja},
{"TanuloNev", item.TanuloNev},
{"OktatasiAzonosito", item.TanuloOktAzon}
};
var filePath = System.Web.HttpContext.Current.Server.MapPath($"{ApplicationData.NyomtatasiSablonokKonyvtar}/LEP_gondviselo_engedelyezes.frx");
var stream = GetPdfMemoryStreamByPath(new DataSet(), filePath, parameters, pdfNeve: $"{item.TanuloNev}_{item.TanuloOktAzon}");
var entry = new ZipEntry($"{item.TanuloNev}_{item.TanuloOktAzon}.{Constants.ImportExport.FileFormatPdf}");
zipOutPut.PutNextEntry(entry);
int sourceBytes;
do
{
sourceBytes = stream.Read(buffer, 0, buffer.Length);
zipOutPut.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
zipOutPut.Finish();
outPut.Position = 0;
return new FileStreamResult(outPut, Constants.ImportExport.ContentType)
{
FileDownloadName = $"{dokumentumNeve}.zip"
};
}
catch (Exception ex)
{
throw NyomtatvanyError(ex);
}
}
public static string GetFileLetoltesUrlGondviseo(GondviseloJelszoIgenyloCo co, int tanevId)
{
var nevmodel = new NyomtatvanyNevGeneralasModel { TanevID = tanevId };
var fileName = CommonExtensions.NevGeneralas("BelepesiAdatok", nevmodel, forOrganization: true);
var stream = OnlineUrlapGondviselonek(co, tanevId);
var guid = Cache.Add(stream);
var fileFullName = $"{fileName}.pdf";
var url = new UrlHelper(System.Web.HttpContext.Current.Request.RequestContext);
return url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = fileFullName, contentType = Kreta.Core.Constants.ContentTypes.Pdf, area = "" });
}
private static MemoryStream OnlineUrlapGondviselonek(GondviseloJelszoIgenyloCo co, int tanevId)
{
DateTime datum = DateTime.Today;
var intezmenyAdatok = new IntezmenyHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).GetAktivIntezmenyNevCim();
var parameters = new Dictionary<string, object>
{
{"Kelt", datum.ToString(Core.Constants.ToStringPattern.HungarianDate)},
{"IntezmenyNeve", intezmenyAdatok.Nev},
{"IntezmenyTelefon", intezmenyAdatok.Telefonszam},
{"IntezmenyOMKod", intezmenyAdatok.OMKod},
{"IntezmenyEmail", intezmenyAdatok.Email},
{"OktAzon", co.OktatasiAzonosito},
{"GondviseloEmail", co.GondviseloEmail},
{"GondviseloNev", co.GondviseloNev},
{"RokonsagiFok", co.RokonsagiFok.GetDisplayName<RokonsagiFokEnum>(tanevId)},
{"Orszag", co.Orszag.GetDisplayName<OrszagTipusEnum>(tanevId)},
{
"Helyiseg", co.Iranyitoszam + ", " +
co.HelysegNev + ", " +
co.KozteruletNev + " " +
co.KozteruletTipusNev
},
{"Hazszam", (co.Hazszam != null && (co.Emelet != null || co.Ajto != null)) ? co.Hazszam + "," : co.Hazszam},
{"Emelet", (co.Ajto != null) ? (co.Emelet != null ? co.Emelet + ". emelet, " : string.Empty) : (co.Emelet != null ? co.Emelet + ". emelet" : string.Empty)},
{"Ajto", (co.Ajto != null) ? co.Ajto + ". ajtó" : string.Empty}
};
return PDFNyomtatasGondviselo(new DataSet(), "UrlapGondviselonek", parameters, "Gondviselo_Urlap");
}
public static MemoryStream PDFNyomtatasGondviselo(DataSet ds, string frxNeve, Dictionary<string, object> parameterek = null, string pdfNeve = "Alap")
{
FastReport.Utils.Config.WebMode = true;
var report = new Report();
report.Load(System.Web.Hosting.HostingEnvironment.MapPath(ApplicationData.NyomtatasiSablonokKonyvtar + "/" + frxNeve + ".frx"));
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport
{
ShowProgress = false,
Subject = "Subject",
Title = pdfNeve,
Compressed = true,
AllowPrint = true,
EmbeddingFonts = true
};
var stream = new MemoryStream();
report.Report.Export(pdfExport, stream);
report.Dispose();
pdfExport.Dispose();
stream.Position = 0;
return stream;
}
return null;
}
public static MemoryStream GetIktSzandeknyilatkozatAdatok()
{
try
{
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIktSzandeknyilatkozatAdatok();
var dokumentumNeve = "IktSzandeknyilatkozatok";
var filePath = System.Web.HttpContext.Current.Server.MapPath($"{ApplicationData.NyomtatasiSablonokKonyvtar}/{dokumentumNeve}.frx");
var result = GetPdfMemoryStreamByPath(ds, filePath, pdfNeve: dokumentumNeve, dokumentumTipus: Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozNemetGepi);
return result;
}
catch (Exception ex)
{
throw NyomtatvanyError(ex);
}
}
public static MemoryStream GetPdfMemoryStreamByPath(DataSet ds, string filePath, Dictionary<string, object> parameterek = null, string pdfNeve = "Alap", bool egyediLablecKellOldalszam = true, Enums.DokumentumTipusEnum? dokumentumTipus = null)
{
var result = GetPdfMemoryStream(ds, parameterek, pdfNeve, filePath, egyediLablecKellOldalszam, dokumentumTipus);
return result;
}
private static MemoryStream GetPdfMemoryStream(DataSet ds, Dictionary<string, object> parameterek, string pdfNeve, string filePath, bool egyediLablecKellOldalszam, Enums.DokumentumTipusEnum? dokumentumTipus)
{
FastReport.Utils.Config.WebMode = true;
var report = new Report();
report.Load(filePath);
var temp = report.ReportResourceString;
var (IsDokumentumFejlecMegjelenit, IsDokumentumLablecMegjelenit) = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetActualIntezmenyAdatok();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!IsEgyediFejlecLablecTiltott(dokumentumTipus))
{
if (IsDokumentumFejlecMegjelenit && IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
EgyediFejlecLablec(report, fejlecImage, lablecImage, egyediLablecKellOldalszam);
}
if (IsDokumentumFejlecMegjelenit && !IsDokumentumLablecMegjelenit)
{
Image fejlecImage = helper.GetIntezmenyFejlecDokumentum();
EgyediFejlec(report, fejlecImage);
}
if (IsDokumentumLablecMegjelenit && !IsDokumentumFejlecMegjelenit)
{
Image lablecImage = helper.GetIntezmenyLablecDokumentum();
EgyediLablec(report, lablecImage, egyediLablecKellOldalszam);
}
}
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
if (report.Report.Prepare())
{
FastReport.Export.Pdf.PDFExport pdfExport = new FastReport.Export.Pdf.PDFExport
{
ShowProgress = false,
Subject = "Subject",
Title = pdfNeve,
Compressed = true,
AllowPrint = true,
EmbeddingFonts = true
};
var stream = new MemoryStream();
report.Report.Export(pdfExport, stream);
report.Dispose();
pdfExport.Dispose();
stream.Position = 0;
return stream;
}
return null;
}
public static Report EgyediFejlecLablec(Report reportDetail, Image fejlec, Image lablec, bool kellOldalszam)
{
if (fejlec != null && lablec != null)
{
for (int i = 0; i < reportDetail.Pages.Count; i++)
{
ReportPage addHeaderAndFooterPage = reportDetail.Pages[i] as ReportPage;
EgyediFejlecGeneralas(fejlec, addHeaderAndFooterPage, i);
EgyediLablecGeneralas(lablec, addHeaderAndFooterPage, i, kellOldalszam);
}
}
return reportDetail;
}
public static Report EgyediFejlec(Report reportDetail, Image fejlec)
{
if (fejlec != null)
{
for (int i = 0; i < reportDetail.Pages.Count; i++)
{
ReportPage addHeaderPage = reportDetail.Pages[i] as ReportPage;
EgyediFejlecGeneralas(fejlec, addHeaderPage, i);
}
}
return reportDetail;
}
public static Report EgyediLablec(Report reportDetail, Image lablec, bool kellOldalszam)
{
if (lablec != null)
{
for (int i = 0; i < reportDetail.Pages.Count; i++)
{
ReportPage addFooterPage = reportDetail.Pages[i] as ReportPage;
EgyediLablecGeneralas(lablec, addFooterPage, i, kellOldalszam);
}
}
return reportDetail;
}
private static void EgyediFejlecGeneralas(Image fejlec, ReportPage reportPage, int pageIndex)
{
string reportName = reportPage.Name;
reportPage.CreateUniqueName();
reportPage.Name = reportName;
float pageWidth = reportPage.PaperWidth - Constants.ImportExport.PageWidthCorrect;
reportPage.PageHeader = new PageHeaderBand
{
Name = "newHeader" + pageIndex,
Height = SetSizeToMilimeter(FEJLEC_MAGASSAG)
};
ComponentBase pageHeader;
if (reportPage.Columns.Count > 1)
{
pageHeader = CreateTableObject(fejlec, pageWidth, reportPage.Columns.Count);
}
else
{
pageHeader = CreatePictureObject(fejlec, pageWidth);
}
reportPage.PageHeader.Objects.Add(pageHeader);
}
private static ComponentBase CreateTableObject(Image image, float width, int columnCount)
{
var tableHeader = new TableObject
{
RowCount = 1,
ColumnCount = columnCount,
Width = SetSizeToMilimeter(width)
};
var columnWidth = width / columnCount;
for (int i = 0; i < columnCount; i++)
{
tableHeader.Columns[i].MaxWidth = SetSizeToMilimeter(columnWidth);
tableHeader.Columns[i].Width = SetSizeToMilimeter(columnWidth);
tableHeader[i, 0].AddChild(CreatePictureObject(image, columnWidth));
}
return tableHeader;
}
private static ComponentBase CreatePictureObject(Image image, float width)
{
PictureObject pictureHeader = new PictureObject
{
Width = SetSizeToMilimeter(width),
Height = SetSizeToMilimeter(KEP_MAGASSAG_MILIMETERBEN),
Image = image
};
pictureHeader.CreateUniqueName();
return pictureHeader;
}
private static void EgyediLablecGeneralas(Image lablec, ReportPage reportPage, int pageIndex, bool kellOldalszam)
{
string reportName = reportPage.Name;
reportPage.CreateUniqueName();
reportPage.Name = reportName;
float pageWidth = reportPage.PaperWidth - Constants.ImportExport.PageWidthCorrect;
reportPage.PageFooter = new PageFooterBand
{
Name = "newFooter" + pageIndex,
Height = SetSizeToMilimeter(LABLEC_MAGASSAG_MILIMETERBEN + (kellOldalszam ? LABLEC_OLDALSZAM_MAGASSAG_MILIMETERBEN : 0))
};
ComponentBase pageFooter;
if (reportPage.Columns.Count > 1)
{
pageFooter = CreateTableObject(lablec, pageWidth, reportPage.Columns.Count);
}
else
{
pageFooter = CreatePictureObject(lablec, pageWidth);
}
pageFooter.Top = SetSizeToMilimeter(LABLEC_FUGGOLEGES_TAVOLSAG_MILIMETERBEN);
reportPage.PageFooter.Objects.Add(pageFooter);
if (kellOldalszam)
{
TextObject footerText = new TextObject();
footerText.CreateUniqueName();
footerText.Bounds = new RectangleF(0.0f, 0.5f * Units.Centimeters, 19.0f * Units.Centimeters, SetSizeToMilimeter(LABLEC_OLDALSZAM_MAGASSAG_MILIMETERBEN));
footerText.Top = SetSizeToMilimeter(LABLEC_FUGGOLEGES_TAVOLSAG_MILIMETERBEN + KEP_MAGASSAG_MILIMETERBEN + LABLEC_FUGGOLEGES_TAVOLSAG_MILIMETERBEN);
footerText.Width = SetSizeToMilimeter(pageWidth);
footerText.HorzAlign = HorzAlign.Center;
footerText.VertAlign = VertAlign.Center;
footerText.Text = Constants.ImportExport.FrxPageCount;
reportPage.PageFooter.Objects.Add(footerText);
}
}
public static bool IsEgyediFejlecLablecTiltott(Enums.DokumentumTipusEnum? dokumentumTipus)
{
if (!dokumentumTipus.HasValue)
{
return false;
}
switch (dokumentumTipus.Value)
{
case Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehez:
case Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezAngolGepi:
case Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezMuveszetoktatasban:
case Enums.DokumentumTipusEnum.TorzslapAz1tol3EsFelsobbEvfolyamokSzovegesMinositesehezNemetGepi:
case Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozAngolGepi:
case Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozGepi:
case Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozGepiMuveszetoktatasban:
case Enums.DokumentumTipusEnum.TorzslapkivonatA4EsFelsobbEvfolyamokhozNemetGepi:
return true;
default:
return false;
}
}
public static float SetSizeToMilimeter(float size)
{
return size * Units.Millimeters;
}
public static string KeltSzoveg(DateTime datum, int formatumId)
{
if (formatumId == (int)KeltFormatumTipusEnum.Szammal)
{
return datum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSpaces);
}
return datum.Date.ToString("yyyy. MMMM dd.", new CultureInfo("hu-HU"));
}
public static StatusError NyomtatvanyError(Exception ex, string plusMessage = null)
{
var message = NyomtatvanyokResource.NyomtatvanyGeneralasHiba;
if (ex.Message == NyomtatvanyokResource.UresDokumentum)
{
message = NyomtatvanyokResource.NemTartalmazRelevansAdatokat;
}
else if (ex.Message == NyomtatvanyokResource.ATanulonakFelnottkepzesiJogviszonyaVan)
{
message = NyomtatvanyokResource.ATanulonakFelnottkepzesiJogviszonyaVan;
}
else if (ex.Message == NyomtatvanyokResource.MindenTanulonakFelnottkepzesiJogviszonyaVan)
{
message = NyomtatvanyokResource.MindenTanulonakFelnottkepzesiJogviszonyaVan;
}
else if (ex.Message == NyomtatvanyokResource.JelzettNaponTanulonakNemVoltJelen)
{
message = NyomtatvanyokResource.JelzettNaponTanulonakNemVoltJelen;
}
else if (ex.Message == NyomtatvanyokResource.ATanuloknakNemNappaliRendszeruOktatasVanBeallitva)
{
message = NyomtatvanyokResource.ATanuloknakNemNappaliRendszeruOktatasVanBeallitva;
}
else if (ex.Message == NyomtatvanyokResource.TanulohozNincsMentorHozzarendelve)
{
message = NyomtatvanyokResource.TanulohozNincsMentorHozzarendelve;
}
else if (ex.Message == NyomtatvanyokResource.TanulonakNincsRogzitveGondviselo)
{
message = NyomtatvanyokResource.TanulonakNincsRogzitveGondviselo;
}
else if (ex.Message == TanuloResource.ATanulonakNincsRogzitettTorvenyesKepviseloje)
{
message = TanuloResource.ATanulonakNincsRogzitettTorvenyesKepviseloje;
}
else if (
ex.InnerException.Message.Contains(NyomtatvanyokResource.TanulonalKotelezoKotelezoenValaszthatoTargyakSzamaNagyobbMintMaxSor)
|| ex.InnerException.Message.Contains(NyomtatvanyokResource.TanulonalValaszthatoTargyakSzamaNagyobbMintMaxSor)
|| ex.InnerException.Message.Contains(NyomtatvanyokResource.TanulonalKotelezoTargyakSzamaNagyobbMintMaxSor)
|| ex.InnerException.Message.Contains(NyomtatvanyokResource.TanulonalKotelezoenValaszthatoTargyakSzamaNagyobbMintMaxSor)
|| ex.InnerException.Message.Contains(NyomtatvanyokResource.TanulonalFotargyakSzamaNagyobbMintMaxSor))
{
message = ex.InnerException.Message;
}
if (!string.IsNullOrWhiteSpace(plusMessage))
{
message += plusMessage;
}
var result = new StatusError(
HttpStatusCode.InternalServerError,
message)
{
UnHandledException = ex
};
return result;
}
public static StatusError NyomtatvanyError(string message, HttpStatusCode statusCode = HttpStatusCode.InternalServerError)
{
var result = new StatusError(statusCode, message);
return result;
}
public static (bool HasSzovegesErtekelesHosszLimit, string WarningText) GetSzovegesErtekelesHosszValidationDeatails(int nyomtatvanyId)
{
var defaultResult = (false, string.Empty);
if (!Core.Constants.OsszesErtesitokWithSzovegesErtekelesHosszLimit().Contains(nyomtatvanyId))
{
return defaultResult;
}
if (Core.Constants.FeleviErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"a \"{NyomtatvanyokResource.FeleviErtesito}"));
}
if (Core.Constants.EvVegiErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"az \"{NyomtatvanyokResource.EvVegiErtesito}"));
}
if (Core.Constants.INegyedeviErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"az \"{NyomtatvanyokResource.INegyedeviErtesito}"));
}
if (Core.Constants.IINegyedeviErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"a \"{NyomtatvanyokResource.IINegyedeviErtesito}"));
}
if (Core.Constants.IIINegyedeviErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"a \"{NyomtatvanyokResource.IIINegyedeviErtesito}"));
}
if (Core.Constants.IVNegyedeviErtesitokWithSzovegesErtekelesHosszLimit.Contains(nyomtatvanyId))
{
return (true, string.Format(NyomtatvanyokResource.SzovegesErtekelesHosszLimitText, $"a \"{NyomtatvanyokResource.IVNegyedeviErtesito}"));
}
return defaultResult;
}
public static void AddQrCode(Report report, Bitmap qrCode)
{
if (report.FindObject("PictureQr") is PictureObject pic)
{
pic.Image = qrCode;
}
}
public static void ValidateFelnottkepzes(List<int> tanulocsoportIdList, List<int> osztalyIdList, NyomtatvanyokHelper helper)
{
if (tanulocsoportIdList != null)
{
var kivalasztottTanulokOsztalyai = helper.GetOsztalyIdListByTanulocsoportIdList(tanulocsoportIdList);
var tovabbiKivalasztottOsztalyok = osztalyIdList.Except(kivalasztottTanulokOsztalyai).ToList();
if (tovabbiKivalasztottOsztalyok.Count > 0)
{
var tovabbiOsztalyokTanulocsoportIdList = helper.GetTanulocsoportIdByOsztalyIdList(tovabbiKivalasztottOsztalyok);
tanulocsoportIdList.AddRange(tovabbiOsztalyokTanulocsoportIdList);
}
tanulocsoportIdList = tanulocsoportIdList.Distinct().ToList();
if (tanulocsoportIdList.Count == 0)
{
throw new Exception(NyomtatvanyokResource.UresDokumentum);
}
else if (tanulocsoportIdList.Count == 1)
{
if (helper.IsTanuloFelnottkepzesJogviszonyByTanulocsoportId(tanulocsoportIdList[0]))
{
throw new Exception(NyomtatvanyokResource.ATanulonakFelnottkepzesiJogviszonyaVan);
}
}
else
{
if (helper.IsAllTanuloFelnottkepzesJogviszonyByTanulocsoportIdList(tanulocsoportIdList))
{
throw new Exception(NyomtatvanyokResource.MindenTanulonakFelnottkepzesiJogviszonyaVan);
}
}
return;
}
if (osztalyIdList != null)
{
var tanuloList = helper.GetNumberOfTanuloNemFelnottkepzesJogviszonyByOsztalyIdList(osztalyIdList);
if (tanuloList == null || tanuloList == 0)
{
throw new Exception(NyomtatvanyokResource.UresDokumentum);
}
}
}
public static void ValidateJogviszonyLetolthetosegSzakkepzo(List<int> tanulocsoportIdList, List<int> osztalyIdList, NyomtatvanyokHelper helper, bool isSelectedTanev21_22orLater)
{
var nyomtathatoJogviszonyosTanerviJellegekIdList = new int[] { (int)TanterviJellegEnum.nappali_rendszeru_iskolai_oktatas, (int)TanterviJellegEnum.felnottoktatas_nappali_rendszeru };
if (tanulocsoportIdList != null)
{
var kivalasztottTanulokOsztalyai = helper.GetOsztalyIdListByTanulocsoportIdList(tanulocsoportIdList);
var tovabbiKivalasztottOsztalyok = osztalyIdList.Except(kivalasztottTanulokOsztalyai).ToList();
if (tovabbiKivalasztottOsztalyok.Count > 0)
{
var tovabbiOsztalyokTanulocsoportIdList = helper.GetTanulocsoportIdByOsztalyIdList(tovabbiKivalasztottOsztalyok);
tanulocsoportIdList.AddRange(tovabbiOsztalyokTanulocsoportIdList);
}
tanulocsoportIdList = tanulocsoportIdList.Distinct().ToList();
var adatok = helper.GetJogviszonyTipusTanterviJellegByTanulocsoportIdList(tanulocsoportIdList);
if (adatok.Any(x => x.jogviszonyId == (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony))
{
if (tanulocsoportIdList.Count == 1)
{
throw new Exception(NyomtatvanyokResource.ATanulonakFelnottkepzesiJogviszonyaVan);
}
else
{
if (adatok.All(x => x.jogviszonyId == (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony))
{
throw new Exception(NyomtatvanyokResource.MindenTanulonakFelnottkepzesiJogviszonyaVan);
}
}
}
if (adatok.Any(x => !x.jogviszonyId.IsEntityId() && !nyomtathatoJogviszonyosTanerviJellegekIdList.Contains(x.tanterviJellegId)))
{
if (isSelectedTanev21_22orLater && (tanulocsoportIdList.Count == 1
|| adatok.All(x => !x.jogviszonyId.IsEntityId() && !nyomtathatoJogviszonyosTanerviJellegekIdList.Contains(x.tanterviJellegId))))
{
throw new Exception(NyomtatvanyokResource.ATanuloknakNemNappaliRendszeruOktatasVanBeallitva);
}
}
return;
}
if (osztalyIdList != null)
{
var adatok = helper.GetJogviszonyTipusTanterviJellegByOsztalyIdList(osztalyIdList);
if (!adatok.Any())
{
throw new Exception(NyomtatvanyokResource.UresDokumentum);
}
if (adatok.All(x => x.jogviszonyId == (int)JogviszonyTipusEnum.felnottkepzesi_jogviszony))
{
throw new Exception(NyomtatvanyokResource.MindenTanulonakFelnottkepzesiJogviszonyaVan);
}
if (adatok.All(x => !x.jogviszonyId.IsEntityId() && !nyomtathatoJogviszonyosTanerviJellegekIdList.Contains(x.tanterviJellegId)) && isSelectedTanev21_22orLater)
{
throw new Exception(NyomtatvanyokResource.ATanuloknakNemNappaliRendszeruOktatasVanBeallitva);
}
}
}
#region Tanulói kapcsolat keresés
internal static List<(string tanuloNev, DataSet tanuloKapcsolatKeresoAdatok)> GetTanulokKapcsolatKereso(NyomtatvanyokController.NyomtatvanyModel model, TanuloiKapcsolatKeresesModel tanuloiKapcsolatKeresesAdatok)
{
var tanulokKapcsolatai = new List<(string, DataSet)>();
foreach (var tanuloId in model.TanuloIdList)
{
var tanuloNev = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloNev(tanuloId);
var tanuloKapcsolatKeresoAdatok = GetTanuloiKapcsolatKereso(tanuloId, model.KeltDatum, tanuloiKapcsolatKeresesAdatok);
tanulokKapcsolatai.Add((tanuloNev, tanuloKapcsolatKeresoAdatok));
}
return tanulokKapcsolatai;
}
public static DataSet GetTanuloiKapcsolatKereso(int tanuloId, DateTime keresettNap, TanuloiKapcsolatKeresesModel tanuloiKapcsolatKeresesModel)
{
DataSet mainDataSet = new DataSet();
var foglalkozasokonJelenlevoTanuloId = new List<int>();
var foglalkozasokonJelenlevoAlkalmazottId = new List<int>();
var foglalkozasokonHasznaltTeremId = new List<int>();
var foglalkozasiAdatok = tanuloiKapcsolatKeresesModel.MegtartottTanorak.FoglalkozasiAdatokFilter(tanuloId, keresettNap, foglalkozasokonJelenlevoTanuloId, foglalkozasokonJelenlevoAlkalmazottId, foglalkozasokonHasznaltTeremId);
mainDataSet.Tables.Add(foglalkozasiAdatok.Tables[0].Copy());
mainDataSet.Tables[0].TableName = "Foglalkozási adatok";
var tanuloiAdatok = tanuloiKapcsolatKeresesModel.TanuloiAdatok.AdatokFilter(foglalkozasokonJelenlevoTanuloId);
mainDataSet.Tables.Add(tanuloiAdatok.Tables[0].Copy());
mainDataSet.Tables[1].TableName = "Tanulói adatok";
var gondviseloiAdatok = tanuloiKapcsolatKeresesModel.GondviseloiAdatok.AdatokFilter(foglalkozasokonJelenlevoTanuloId);
mainDataSet.Tables.Add(gondviseloiAdatok.Tables[0].Copy());
mainDataSet.Tables[2].TableName = "Gondviselői adatok";
var alkalmazottiAdatok = tanuloiKapcsolatKeresesModel.AlkalmazottiAdatok.AdatokFilter(foglalkozasokonJelenlevoAlkalmazottId);
mainDataSet.Tables.Add(alkalmazottiAdatok.Tables[0].Copy());
mainDataSet.Tables[3].TableName = "Alkalmazotti adatok";
var tanteremAdatok = tanuloiKapcsolatKeresesModel.MegtartottTanorak.AdatokFilter(foglalkozasokonHasznaltTeremId, "TeremId");
mainDataSet.Tables.Add(tanteremAdatok.Tables[0].Copy());
mainDataSet.Tables[4].TableName = "Tanterem adatok";
NyomtatvanyokTanulokHelper.FoglalkozasiAdatokFeleslegesOszlopokTorlese(mainDataSet.Tables[0]);
NyomtatvanyokTanulokHelper.TanuloiEsGondviseloiEsAlkalmazottiAdatokFeleslegesOszlopokTorlese(mainDataSet.Tables[1]);
NyomtatvanyokTanulokHelper.TanuloiEsGondviseloiEsAlkalmazottiAdatokFeleslegesOszlopokTorlese(mainDataSet.Tables[2]);
NyomtatvanyokTanulokHelper.TanuloiEsGondviseloiEsAlkalmazottiAdatokFeleslegesOszlopokTorlese(mainDataSet.Tables[3]);
NyomtatvanyokTanulokHelper.FoglalkozasiAdatokFeleslegesOszlopokTorlese(mainDataSet.Tables[4]);
return mainDataSet;
}
#region DataSet szűrések
private static DataSet AdatokFilter(this DataSet adatok, List<int> foglalkozasokonJelenlevoAlkalmazottId, string felhasznaloIdOszlopNev = "FelhasznaloId")
{
var adatokFilter = adatok.Clone();
foreach (DataRow adat in adatok.Tables[0].Rows)
{
var felhasznaloId = SDAConvert.ToInt32(adat[felhasznaloIdOszlopNev]);
if (foglalkozasokonJelenlevoAlkalmazottId.Contains(felhasznaloId))
{
adatokFilter.Tables[0].ImportRow(adat);
}
}
return adatokFilter;
}
public static DataSet FoglalkozasiAdatokFilter(this DataSet megtartottTanorak, int tanuloId, DateTime keresettNap, List<int> foglalkozasokonJelenlevoTanuloId, List<int> foglalkozasokonJelenlevoAlkalmazottId, List<int> foglalkozasokonHasznaltTeremId)
{
DataSet foglalkozasiAdatokFilter = megtartottTanorak.Clone();
var systemHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var alapertelmezettMulasztasTipus = (MulasztasTipusEnum)systemHelper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.alapertelmezett_statusz_naplozasok_eseteben);
var tanevCo = tanevHelper.GetTanevInfo();
foreach (DataRow megtartottTanora in megtartottTanorak.Tables[0].Rows)
{
var foglalkozasiAdatokCo = new NyomtatvanyokFoglalkozasiAdatokCo(megtartottTanora);
var megtartottTanoraTanuloi = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType())
.GetMulasztasEsFelmentesOsztalyCsoportTanuloi(foglalkozasiAdatokCo.OsztalycsoportId, foglalkozasiAdatokCo.TanoraId, foglalkozasiAdatokCo.TargyId, foglalkozasiAdatokCo.TanarId, keresettNap, 1, tanevCo, alapertelmezettMulasztasTipus);
var megtartottTanoraTanuloiIdLista = (from DataRow dataRow in megtartottTanoraTanuloi.Tables[0].Rows where (SDAConvert.ToInt32(dataRow["MulasztasTipus"]) == (int)MulasztasTipusEnum.jelenlet || SDAConvert.ToInt32(dataRow["MulasztasTipus"]) == (int)MulasztasTipusEnum.keses) select SDAConvert.ToInt32(dataRow["ID"]));
if (megtartottTanoraTanuloiIdLista.Contains(tanuloId))
{
foglalkozasiAdatokFilter.Tables[0].ImportRow(megtartottTanora);
foglalkozasokonJelenlevoTanuloId.AddRange(megtartottTanoraTanuloiIdLista);
foglalkozasokonJelenlevoAlkalmazottId.Add(foglalkozasiAdatokCo.TanarId);
foglalkozasokonHasznaltTeremId.Add(foglalkozasiAdatokCo.TeremId);
}
}
foglalkozasokonJelenlevoTanuloId = foglalkozasokonJelenlevoTanuloId.Distinct().ToList();
return foglalkozasiAdatokFilter;
}
#endregion
#region DataSet feltöltés
public static TanuloiKapcsolatKeresesModel TanuloiKapcsolatKeresesAdatok(DateTime keresettNap)
{
var tanuloiKapcsolatKeresesModel = new TanuloiKapcsolatKeresesModel();
tanuloiKapcsolatKeresesModel.MegtartottTanorak = MegtartottTanorak(keresettNap);
tanuloiKapcsolatKeresesModel.TanuloiAdatok = TanuloiAdatok();
tanuloiKapcsolatKeresesModel.GondviseloiAdatok = GondviseloiAdatok();
tanuloiKapcsolatKeresesModel.AlkalmazottiAdatok = AlkalmazottiAdatok();
return tanuloiKapcsolatKeresesModel;
}
private static DataSet MegtartottTanorak(DateTime keresettNap)
{
var megtartottTanorakKeresoModel = new TanitasiOraSearchModel() { DatumTol = keresettNap, DatumIg = keresettNap, FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria };
return new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMegtartottTanorakExport(Orarend.Models.TanitasiOraSearchModel.ConvertModelToCo(megtartottTanorakKeresoModel), isShowId: true);
}
private static DataSet TanuloiAdatok()
{
var model = new TanuloSearchModel() { FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria };
return new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanulokLakcimmelExport(model.ConvertModelToCo(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsActivTanev), isShowId: true);
}
private static DataSet GondviseloiAdatok()
{
var model = new TanuloSearchModel() { FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria };
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
return new TanuloHelper(connectionType).GetGondviselokElerhetosegeiExport(model.ConvertModelToCo(connectionType, ClaimData.IsActivTanev), OktNevelesiKategoriaEnum.NevelesOktatas, isShowId: true);
}
private static DataSet AlkalmazottiAdatok()
{
var model = new AlkalmazottSearchModel() { };
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottakLakcimmelExport(model.ConvertModelToCo(), isShowId: true);
}
#endregion
#endregion
}
}

View file

@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
using Kreta.Web.Helpers.Modal;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class BizonyitvanyDownloadModel
{
[Required(ErrorMessageResourceName = nameof(NyomtatvanyokResource.TanevKivalasztasaKotelezo), ErrorMessageResourceType = typeof(NyomtatvanyokResource))]
[Display(Name = nameof(TanevResource.Tanev), ResourceType = typeof(TanevResource))]
public int? TanevId { get; set; }
public ModalButtonModel ButtonModel { get; set; }
}
}

View file

@ -0,0 +1,42 @@
using System;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class IktatottDokumentumokGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(8060)]/*Dokumentum kategória*/
public string Kategoria_DNAME { get; set; }
[KretaDisplayName(8091)]/*Dokumentum típus*/
public string DokumentumTipus_DNAME { get; set; }
[KretaDisplayName(450)]/*Tanév*/
public string TanevNev { get; set; }
[KretaDisplayName(8266)]/*Dokumentum neve*/
public string DokumentumNeve { get; set; }
[KretaDisplayName(8073)]/*Feladatellátási hely*/
public string FeladatellatasihelyNeve { get; set; }
[KretaDisplayName(3888)]/*Iktatószám*/
public string Iktatoszam { get; set; }
[KretaDisplayName(8233)]/*Iktatás dátuma*/
public DateTime IktatasDatuma { get; set; }
[KretaDisplayName(8092)]/*Iktató személy*/
public string IktatoSzemelye { get; set; }
[KretaDisplayName(8056)]/*Dokumentum státusz*/
public string Statusz_DNAME { get; set; }
public string ElektronikusPeldanyId { get; set; }
public bool Torolt_BOOL { get; set; }
}
}

View file

@ -0,0 +1,87 @@
using System;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class IktatottDokumentumokSearchModel
{
[KretaDisplayName(8060)]/*Dokumentum kategória*/
public int? Kategoria { get; set; }
[KretaDisplayName(8091)]/*Dokumentum típus*/
public int? DokumentumTipus { get; set; }
[KretaDisplayName(8266)]/*Dokumentum neve*/
public string DokumentumNeve { get; set; }
[KretaDisplayName(8056)]/*Dokumetum státusz*/
public int? DokumentumStatusz { get; set; }
[KretaDisplayName(3888)]/*Iktatószám*/
public string Iktatoszam { get; set; }
[KretaDisplayName(8233)]/*Iktatás dátuma*/
public DateTime? IktatasDatumaTol { get; set; }
public DateTime? IktatasDatumaIg { get; set; }
[KretaDisplayName(8092)]/*Iktató személy*/
public string IktatoSzemelye { get; set; }
[KretaDisplayName(8073)]/*Feladatellátási hely*/
public int? FeladatellatasihelyId { get; set; }
[KretaDisplayName(2475)]/*Osztály/csoport neve*/
public int? OsztalyId { get; set; }
[KretaDisplayName(8072)]/*Evfolyam*/
public int? EvfolyamId { get; set; }
[KretaDisplayName(8074)]/*Képzés típus*/
public int? KepzesTipusId { get; set; }
[KretaDisplayName(8075)]/*Osztályfőnök*/
public int? OsztalyfonokId { get; set; }
[KretaDisplayName(8076)]/*Tanterv*/
public int? TantervId { get; set; }
[KretaDisplayName(8078)]/*Szakcsoport*/
public int? Szakcsoport { get; set; }
[KretaDisplayName(8079)]/*Ágazat*/
public int? Agazat { get; set; }
[KretaDisplayName(8080)]/*Szakképesítés*/
public int? Szakkepesites { get; set; }
[KretaDisplayName(8081)]/*Részszakképesítés*/
public int? Reszszakkepesites { get; set; }
[KretaDisplayName(8082)]/*Csoport név*/
public int? CsoportId { get; set; }
[KretaDisplayName(8077)]/*Osztályjellemező*/
public int? Osztalyjellemzo { get; set; }
[KretaDisplayName(8085)]/*Csoportjellemező*/
public int? Csoportjellemzo { get; set; }
[KretaDisplayName(8083)]/*Csoport típus*/
public int? CsoporttipusId { get; set; }
[KretaDisplayName(8086)]/*Tanuló*/
public string TanuloNeve { get; set; }
[KretaDisplayName(8089)]/*Tanuló oktatási azonosító*/
public string TanuloOktAzon { get; set; }
[KretaDisplayName(8087)]/*Alkalmazott*/
public int? AlkalmazottId { get; set; }
[KretaDisplayName(8090)]/*Alkalmazott oktatási azonosító*/
public string AlkalmazottOktAzon { get; set; }
[KretaDisplayName(8088)]/*Gondviselő*/
public string GondviseloNeve { get; set; }
}
}

View file

@ -0,0 +1,243 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Foolproof;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class NyomtatvanyBaseModel : LayoutModel
{
public NyomtatvanyBaseModel()
{
Items = new List<NyomtatvanyItemModel>();
Buttons = new List<ModalButtonModel>();
LezartNaplok = new List<int>();
KeresztfelevesOsztalyIdList = new List<int>();
Kulcsszodefiniciok = new List<BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.KulcsszoDefinicioModel>();
FoszamDefiniciok = new List<BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioModel>();
var tanevRendjeHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
UtolsoTanitasiNap = tanevRendjeHelper.GetUtolsoTanitasiNapDate();
ElsoTanitasiNap = tanevRendjeHelper.GetElsoTanitasiNapDate();
IsSelectedTanev21_22OrLater = ClaimData.IsSelectedTanev21_22OrLater;
}
public DateTime UtolsoTanitasiNap { get; set; }
public DateTime ElsoTanitasiNap { get; set; }
public bool INegyedevVegeWarning { get; set; }
public bool IIINegyedevVegeWarning { get; set; }
public bool HasSzovegesErtekelesHosszLimit { get; set; }
public int DokumentumId { get; set; }
public string ControllerAction { get; set; }
public List<NyomtatvanyItemModel> Items { get; set; }
public List<ModalButtonModel> Buttons { get; set; }
public List<BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.KulcsszoDefinicioModel> Kulcsszodefiniciok { get; set; }
public List<int> LezartNaplok { get; set; }
public List<int> KeresztfelevesOsztalyIdList { get; set; }
public bool Iktathato { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.iktatas), ResourceType = typeof(NyomtatvanyokResource))]
public bool Iktatas { get; set; }
public bool ElmeletGyakorlat { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.ElmeletGyakorlatKulon), ResourceType = typeof(NyomtatvanyokResource))]
public bool ElmeletGyakorlatKulon { get; set; }
public string NyomtatvanyTipus { get; set; }
public bool EvesOraszam { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.EvesOraszamMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool EvesOraszamMegjelenjen { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.TantargyakOszlopokban), ResourceType = typeof(NyomtatvanyokResource))]
public bool FuggolegesTantargyak { get; set; }
public bool FuggolegesTantargyakMegjelenjen { get; set; }
public bool IsFejlecMegjelenitesVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.Fejlec), ResourceType = typeof(NyomtatvanyokResource))]
public bool FejlecMegjelenites { get; set; }
public bool IsAdatMegjelenitesVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.Adatok), ResourceType = typeof(NyomtatvanyokResource))]
public bool AdatMegjelenites { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.ErtekelesmodSuly), ResourceType = typeof(NyomtatvanyokResource))]
public bool ErtekelesmodSuly { get; set; }
public bool IsReszletesMulasztasokVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.ReszletesMulasztasok), ResourceType = typeof(NyomtatvanyokResource))]
public bool ReszletesMulasztasok { get; set; }
public bool IsEgyebFoglalkozasokVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.EgyebFoglalkozasok), ResourceType = typeof(NyomtatvanyokResource))]
public bool EgyebFoglalkozasok { get; set; }
public bool IsNaploZarasVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.NaploZaras), ResourceType = typeof(NyomtatvanyokResource))]
public bool NaploZaras { get; set; }
public bool IsNaploZarasDateVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.LezarasDatuma), ResourceType = typeof(NyomtatvanyokResource))]
public DateTime NaploZarasDate { get; set; }
public bool IsKozossegiSzolgalatVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.KozossegiSzolgalat), ResourceType = typeof(NyomtatvanyokResource))]
public bool KozossegiSzolgalat { get; set; }
public bool IsGondviseloVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.GondviseloMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool GondviseloMegjelenites { get; set; }
public bool IsGyakorlatiOrakVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.GyakorlatiOrakMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool GyakorlatiOrakMegjelenites { get; set; }
public bool IsElmeletiOrakVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.ElemeletiOrakMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool ElmeletiOrakMegjelenites { get; set; }
public bool IsAtlagFeltuntetesVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.AtlagFeltuntetMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool AtlagFeltuntetes { get; set; }
public bool IsTanuloZaradekaiVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.TanuloZaradekai), ResourceType = typeof(NyomtatvanyokResource))]
public bool TanuloZaradekai { get; set; }
public bool IsSNIVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.SNIMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool SNI { get; set; }
public bool IsBTMVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.BTMMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool BTM { get; set; }
public bool IsOKJVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.OKJMegjelenik), ResourceType = typeof(NyomtatvanyokResource))]
public bool OKJ { get; set; }
public bool IsTagintezmenyekCimeVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.TaginteymenyCimek), ResourceType = typeof(NyomtatvanyokResource))]
[RequiredIf("IsTagintezmenyCimeKotelezo", true, ErrorMessageResourceName = nameof(ErrorResource.ParameterMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public bool TagintezmenyCime { get; set; }
[RequiredIf("IsTagintezmenyCimeKotelezo", true, ErrorMessageResourceName = nameof(ErrorResource.ParameterMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public string TagintezmenyCimeDropdown { get; set; }
[RequiredIf("IsTagintezmenyCimeKotelezo", true, ErrorMessageResourceName = nameof(ErrorResource.ParameterMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(NyomtatvanyokResource.TagintezmenyCime), ResourceType = typeof(NyomtatvanyokResource))]
public int? TagintezmenyId { get; set; }
public bool IsTagintezmenyCimeKotelezo { get; set; } = false;
public bool isTanitasiHetekSzamaVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.TanitasiHetekSzamaNemVegzos), ResourceType = typeof(NyomtatvanyokResource))]
public int TanitasiHetekSzamaNemVegzos { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.TanitasiHetekSzamaVegzos), ResourceType = typeof(NyomtatvanyokResource))]
public int TanitasiHetekSzamaVegzos { get; set; }
public bool isAltantargyBeszamitasaVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.AltantargyBeszamitasa), ResourceType = typeof(NyomtatvanyokResource))]
public bool AltantargyBeszamitasa { get; set; }
public bool isMulasztasokUjLaponIsVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.MulasztasUjLapon), ResourceType = typeof(NyomtatvanyokResource))]
public bool MulasztasokUjLapon { get; set; }
public bool isFeljegyzesekMegjeleniteseIsVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.FeljegyzesSzerepeltetése), ResourceType = typeof(NyomtatvanyokResource))]
public bool isFeljegyzesekMegjelenitese { get; set; }
public bool isErtesitokFelmentesekMegjeleniteseIsVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.FelmentesekSzerepeltetese), ResourceType = typeof(NyomtatvanyokResource))]
public bool isErtesitokFelmentesekMegjelenitese { get; set; }
public bool isFelmentesekMegjeleniteseIsVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.FelmentesekSzerepeltetese), ResourceType = typeof(NyomtatvanyokResource))]
public bool isFelmentesekMegjelenitese { get; set; }
public bool isLetoltesFeliratIsVisible { get; set; }
public string LetoltesFelirat { get; set; }
public NyomtatvanyEnum LetoltesFeliratPozicio { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.FeljegyzesHaviBontas), ResourceType = typeof(NyomtatvanyokResource))]
public bool FeljegyzesHaviBontas { get; set; }
public bool IsFeljegyzesHaviBontasVisible { get; set; }
public bool AlapszintuNyomtatvanyokKulonDokumentumba { get; set; }
public List<BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioModel> FoszamDefiniciok { get; set; }
public int ColumnNumber { get; set; } = 2;
public string INegyedevVegeWarningText { get { return ErrorResource.INegyedevVegeWarningText; } }
public string IIINegyedevVegeWarningText { get { return ErrorResource.IIINegyedevVegeWarningText; } }
public string SzovegesErtekelesHosszLimitText { get; set; }
public bool IsZaradekKeltVisible { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.ZaradekKeltezesenekMegjelenitese), ResourceType = typeof(NyomtatvanyokResource))]
public bool ZaradekKeltMegjelenites { get; set; }
public bool IsSelectedTanev21_22OrLater { get; set; }
public bool IsBetuMeretFejlecMegjelenitese { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.BetuMeretFejlec), ResourceType = typeof(NyomtatvanyokResource))]
public int BetuMeretFejlec { get; set; } = 9;
public bool IsBetuMeretAdatokMegjelenitese { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.BetuMeretAdatok), ResourceType = typeof(NyomtatvanyokResource))]
public int BetuMeretAdatok { get; set; } = 9;
public bool IsBetuMeretSNIMegjelenitese { get; set; }
[Display(Name = nameof(NyomtatvanyokResource.BetuMeretSNI), ResourceType = typeof(NyomtatvanyokResource))]
public int BetuMeretSNI { get; set; } = 9;
[Display(Name = nameof(NyomtatvanyokResource.MagatartasSzorgalomMegjelenitese), ResourceType = typeof(NyomtatvanyokResource))]
public bool MagatartasSzorgalomMegjelenitese { get; set; } = true;
}
}

View file

@ -0,0 +1,40 @@
using Kreta.Web.Models;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class NyomtatvanyItemModel : LayoutModel
{
public NyomtatvanyItemModel()
{
}
public string Id { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public string Label { get; set; }
public bool Required { get; set; }
public bool Disabled { get; set; }
public string DropdownItemsUrl { get; set; }
public bool? DropdownItemsUseGroup { get; set; }
public string DropdownItemsGroupName { get; set; }
public bool SelectFirstItem { get; set; }
/*Cascade From extra data*/
public string CascadeFrom { get; set; }
public string CascadeFromController { get; set; }
public string CascadeFromAction { get; set; }
public int? DefaultValue { get; set; }
public string OnChangeFunction { get; set; }
public string OnCloseFunction { get; set; }
/*Radiobutton*/
public string Value { get; set; }
public bool Checked { get; set; }
public string GroupName { get; set; }
public string GroupId { get; set; }
/* Textbox */
public int? MaxLength { get; set; }
}
}

View file

@ -0,0 +1,15 @@
using System.Data;
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class TanuloiKapcsolatKeresesModel
{
public DataSet MegtartottTanorak { get; set; }
public DataSet TanuloiAdatok { get; set; }
public DataSet GondviseloiAdatok { get; set; }
public DataSet AlkalmazottiAdatok { get; set; }
}
}

View file

@ -0,0 +1,9 @@

namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class TermekLeirasModel
{
public string Title { get; set; }
public string Description { get; set; }
}
}

View file

@ -0,0 +1,9 @@
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class TermekportalModel
{
public string Name { get; set; }
public string DocumentType { get; set; }
public string ActionLink { get; set; }
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Web.Areas.Nyomtatvanyok.Models
{
public class TobbesLetoltesModel
{
public int IktatottDokumentumId { get; set; }
public string FajlNev { get; set; }
}
}

View file

@ -0,0 +1,24 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.Nyomtatvanyok
{
public class NyomtatvanyokAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Nyomtatvanyok";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Nyomtatvanyok_default",
"Nyomtatvanyok/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View file

@ -0,0 +1,51 @@
@using Kendo.Mvc.UI
@using Kreta.Web.Areas.Nyomtatvanyok.Models
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Enums.ManualEnums
@model int
<div id="partialDetailGrid_@Model.ToString()">
@(
Html.KretaGrid<IktatottDokumentumokGridModel>
(
name: "IktatottDokumentumokDetailGrid" + Model.ToString(),
getUrl: new GridApiUrl(controller: "IktatottDokumentumokApi",
action: "GetIktatottDokumentumokDetailGrid", parameters: new Dictionary<string, string>
{
{ "foszamosDokumentumId", Model.ToString() }
}),
dataParameterFunction: "searchForm",
sort: sort => sort.Add(model => model.IktatasDatuma).Descending(),
allowPaging: true, showSorszam: false,
dataBoundAdditionalFunction: "DokumentumokHelper.setAthuzas(\"" + "IktatottDokumentumokDetailGrid" + Model.ToString()+ "\", true);"
)
.Columns(columns =>
{
columns.Bound(c => c.Kategoria_DNAME);
columns.Bound(c => c.DokumentumTipus_DNAME);
columns.Bound(c => c.TanevNev);
})
.LinkButtonColumn("", c => c.DokumentumNeve, "DokumentumokHelper.Letoltes", GridButtonsEnum.Letoltes)
.Columns(columns =>
{
columns.Bound(c => c.FeladatellatasihelyNeve);
columns.Bound(c => c.Iktatoszam);
columns.Bound(c => c.IktatasDatuma).Format(Kreta.BusinessLogic.Classes.SDAFormat.Format[Kreta.BusinessLogic.Classes.SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.IktatoSzemelye);
columns.Bound(c => c.Statusz_DNAME);
columns.Bound(c => c.ElektronikusPeldanyId).Hidden();
columns.Bound(c => c.ID).Hidden();
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = Kreta.Resources.CommonResource.Adatok, ClientAction= "DokumentumokHelper.openKulcsszoInfoWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = Kreta.Resources.CommonResource.Letoltes, ClientAction= "DokumentumokHelper.Letoltes", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Letoltes },
new RowFunction { Name = Kreta.Resources.CommonResource.Ujra, ClientAction= "DokumentumokHelper.JobUjrainditas", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Ujra, IsConditional=true, IsVisibleRowFunctionJsFunctionName="DokumentumokHelper.UjraRowFunctionMegjelenitese", SendSender = true },
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(true)
)
</div>

View file

@ -0,0 +1,183 @@
@using Kendo.Mvc.UI
@using Kreta.BusinessLogic.Classes;
@using Kreta.Framework;
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid;
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Classes
@using Kreta.Web.Areas.Nyomtatvanyok.Models
@using Kreta.Resources
@model IktatottDokumentumokSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand {Name = NyomtatvanyokResource.KijeloltekLetoltese, ClientAction = "DokumentumokHelper.kijeloltekLetoltese"},
};
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "IktatottDokumentumokGrid"))
{
@Html.KretaComboBoxFor(model => model.Kategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumKategoriaList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.DokumentumTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.DokumentumNeve).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.FeladatellatasihelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.Iktatoszam).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.IktatasDatumaTol, model => model.IktatasDatumaIg)
@Html.KretaTextBoxFor(model => model.IktatoSzemelye).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.DokumentumStatusz, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumStatuszList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.EvfolyamId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetEvfolyamComboBoxList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.OsztalyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.KepzesTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetKepzesListS" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.OsztalyfonokId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyfonokOsztalyfonokHelyettesByTanev" }), "Text", "Value", useGroup: false).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.TantervId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantervList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Osztalyjellemzo, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetOsztalyJellemezoList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Szakcsoport, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumSzakcsoportList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Agazat, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumAgazatList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Szakkepesites, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumSzakkepesitesList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Reszszakkepesites, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetDokumentumReszszakkepesitesList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.CsoporttipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsoportTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.Csoportjellemzo, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "IktatottDokumentumokApi", action = "GetCsoportJellemezoList" })).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.TanuloNeve).RenderSearchPanelSideBar()
@Html.KretaMaskedTextBoxFor(model => model.TanuloOktAzon, "00000000000").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.AlkalmazottId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" })).RenderSearchPanelSideBar()
@Html.KretaMaskedTextBoxFor(model => model.AlkalmazottOktAzon, "00000000000").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.GondviseloNeve).RenderSearchPanelSideBar()
}
}
<h4>
@*Iktatott dokumentumok*@
@StringResourcesUtil.GetString(3902)
</h4>
<div>
@(
Html.KretaGrid<IktatottDokumentumokGridModel>
(
name: "IktatottDokumentumokGrid",
getUrl: new GridApiUrl(controller: "IktatottDokumentumokApi",
action: "GetIktatottDokumentumokGrid", parameters: new Dictionary<string, string>
{ }),
dataParameterFunction: "searchForm",
clientTemplate: "detailGrid-template",
clientTemplateUrl: @Url.Action("IktatottDokumentumokDetail", "IktatottDokumentumok", new { area = "Nyomtatvanyok" }),
sort: sort => sort.Add(model => model.IktatasDatuma).Descending(),
allowPaging: true,
showSorszam: false,
allowScrolling: true,
dataBoundAdditionalFunction: "DokumentumokHelper.setAthuzas(\"IktatottDokumentumokGrid\", false);"
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.Kategoria_DNAME);
columns.Bound(c => c.DokumentumTipus_DNAME);
columns.Bound(c => c.TanevNev);
})
.LinkButtonColumn("", c => c.DokumentumNeve, "DokumentumokHelper.Letoltes", GridButtonsEnum.Letoltes)
.Columns(columns =>
{
columns.Bound(c => c.FeladatellatasihelyNeve);
columns.Bound(c => c.Iktatoszam);
columns.Bound(c => c.IktatasDatuma).Format(Kreta.BusinessLogic.Classes.SDAFormat.Format[Kreta.BusinessLogic.Classes.SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.IktatoSzemelye);
columns.Bound(c => c.Statusz_DNAME);
columns.Bound(c => c.ID).Hidden();
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = Kreta.Resources.CommonResource.Adatok, ClientAction= "DokumentumokHelper.openKulcsszoInfoWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = Kreta.Resources.CommonResource.Letoltes, ClientAction= "DokumentumokHelper.Letoltes", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Letoltes },
new RowFunction { Name = Kreta.Resources.CommonResource.Ujra, ClientAction= "DokumentumokHelper.JobUjrainditas", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Ujra, IsConditional=true, IsVisibleRowFunctionJsFunctionName="DokumentumokHelper.UjraRowFunctionMegjelenitese", SendSender=true },
})
.FunctionCommand(Html, functions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<script type="text/javascript">
var DokumentumokHelper = (function () {
var dokumentumokHelper = function () { };
var url = {
DokumentumLetoltese: "@Url.Action("DokumentumLetoltese", "IktatottDokumentumok" , new { area = "Nyomtatvanyok" })",
DokumentumTobbesLetoltese: "@Url.Action("DokumentumTobbesLetoltese", "IktatottDokumentumok" , new { area = "Nyomtatvanyok" })",
OpenKulcsszoInfoPopUp: "@Url.Action("OpenKulcsszoInfoPopUp", "IktatottDokumentumok", new { area = "Nyomtatvanyok" })",
JobUjraindit: "@Url.Action("IktatasUjrainditasa", "IktatottDokumentumok", new { area = "Nyomtatvanyok" })",
}
dokumentumokHelper.Letoltes = function (rowData) {
AjaxHelper.DownloadFile(url.DokumentumLetoltese, { iktatottDokumentumId: rowData.ID });
}
dokumentumokHelper.kulcsszoInfoCancel = function () {
KretaWindowHelper.destroyWindow("kulcsszoInfoWindow");
}
dokumentumokHelper.openKulcsszoInfoWindow = function (rowData) {
var postData = { IktatottDokumentumId: rowData.ID };
currentDokumentumNev = rowData.DokumentumNeve;
currentIktatoszam = (rowData.Iktatoszam != null) ? rowData.Iktatoszam : "";
AjaxHelper.DoPost(url.OpenKulcsszoInfoPopUp, postData, popUpInfoWindow);
}
dokumentumokHelper.JobUjrainditas = function (sender, rowData) {
var postData = { IktatottDokumentumId: rowData.ID };
AjaxHelper.DoPost(url.JobUjraindit, postData);
sender.hide();
}
dokumentumokHelper.UjraRowFunctionMegjelenitese = function (rowData) {
return (rowData.Statusz == @Html.Raw((int)Kreta.Enums.DokumentumStatuszEnum.Hibas));
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode(@NyomtatvanyokResource.DokumentumKulcsszavakTitleFormat);
config.maxWidth = "960px";
config.height = "600px";
config.content = data;
var modal = KretaWindowHelper.createWindow("kulcsszoInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
dokumentumokHelper.setAthuzas = function (gridName, fromDetail) {
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
if (!fromDetail) {
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first').css("pointer-events", "auto");
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first :first').css("opacity", "1");
}
}
});
}
dokumentumokHelper.kijeloltekLetoltese = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName("IktatottDokumentumokGrid");
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(NyomtatvanyokResource.Kivalasztas)", "@(NyomtatvanyokResource.ATobbesLetolteshezLegalabbEgyElemKivalasztasaSzukseges)");
}
else if (selectedRows.length == 1) {
AjaxHelper.DownloadFile(url.DokumentumLetoltese, { iktatottDokumentumId: selectedRows[0].ID });
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ IktatottDokumentumId: value.ID, FajlNev: value.DokumentumNeve });
});
AjaxHelper.DownloadFile(url.DokumentumTobbesLetoltese, parameters);
}
}
return dokumentumokHelper;
})();
</script>

View file

@ -0,0 +1,19 @@
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title></title>
</head>
<body>
<div>
</div>
</body>
</html>

View file

@ -0,0 +1,19 @@
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title></title>
</head>
<body>
<div>
</div>
</body>
</html>

View file

@ -0,0 +1,15 @@
@using Kreta.Web.Areas.Nyomtatvanyok.Models
@model dynamic
@{
var result = Model as System.Collections.Generic.List<Tuple<string, string>>;
}
<table style="width: 100%;" class="kendoNyomtatvanyokTabla">
@foreach (var item in result)
{
<tr style="border-bottom: 1px solid lightgray;">
<td style="padding: 10px; font-weight: 800;">@item.Item1</td>
<td style="padding: 10px; text-align: center;">@item.Item2</td>
</tr>
}
</table>

View file

@ -0,0 +1,129 @@
@using Kreta.Framework
@using Kreta.Web.Helpers;
@using System.Web.Optimization
@using Kreta.Resources
@model Kreta.Web.Models.EditorTemplates.PanelBarBaseModel
<div class="buttonContainer">
<div class="toRight">
@Html.KretaButton("openPanelBar", NyomtatvanyokResource.OsszesPanelKinyitasa, clickEventName: "NyomtatvanyokHelper.OpenPanelBar")
</div>
<div class="toRight">
@Html.KretaButton("closePanelBar", NyomtatvanyokResource.OsszesPanelBezarasa, clickEventName: "NyomtatvanyokHelper.ClosePanelBar")
</div>
<div class="clear"></div>
</div>
@Html.Partial("EditorTemplates/PanelBar", Model)
@section AddCss{
@Styles.Render(Constants.General.NyomtatvanyokCSS)
}
<script type="text/javascript">
function createKendoWindow(identity, title, actions, resizable, closeFunction) {
var element = $('#' + identity);
if (!element.length) {
element = $('<div></div>').appendTo('body');
element.attr('id', identity);
}
var modal = element.data('kendoWindow');
var position = {
top: 100,
left: '10%',
};
if (!modal) {
modal = element.kendoWindow({
title: title,
width: '80%',
actions: actions ? actions : ['Maximize', 'Close'],
visible: false,
modal: true,
resizable: resizable,
position: position,
close: function () {
if (typeof closeFunction == 'function')
closeFunction();
element.empty();
}
}).data('kendoWindow');
}
else {
modal.setOptions({ position: position });
}
return modal;
}
function openKendoWindow(modal, center) {
if (modal) {
if (center)
modal.center();
modal.open();
}
}
function closeKendoWindow(identity) {
var modal = $('#' + identity).data('kendoWindow');
if (modal)
modal.close();
}
setTimeout(function () {
var openPopup = $(".openPopup");
var window = $("#window");
openPopup.bind("click", function () {
var modal = createKendoWindow('modalNyomtatvany', $(this).closest('tr').children('td').next().first().text(), null, false, $("#modalNyomtatvany").remove());
var request = unescape('@(Url.Action("GetWindowContent", "Nyomtatvanyok", new { Id = "{0}", Area = "Nyomtatvanyok" }))');
request = $('<div />').html(kendo.format(request, $(this).prev().val())).text();
modal.refresh(request);
openKendoWindow(modal);
});
}, 1);
</script>
<script type="text/javascript">
var NyomtatvanyokHelper = (function () {
var nyomtatvanyokHelper = function () { };
nyomtatvanyokHelper.OpenPanelBar = function () {
var panelBar = $('#NyomtatvanyPanel').data('kendoPanelBar');
panelBar.expand($('#NyomtatvanyPanel li'), false);
};
nyomtatvanyokHelper.ClosePanelBar = function () {
var panelBar = $('#NyomtatvanyPanel').data('kendoPanelBar');
panelBar.collapse($('#NyomtatvanyPanel li'));
};
return nyomtatvanyokHelper;
})();
</script>
<style type="text/css">
.buttonContainer {
margin-bottom: 8px;
}
.buttonContainer div {
margin-right: 0.16em;
}
.buttonContainer div.toLeft {
float: left;
}
.buttonContainer div.toRight {
float: right;
}
.buttonContainer div.clear {
clear: both;
}
</style>

View file

@ -0,0 +1,815 @@
@using Kreta.Enums.ManualEnums;
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Nyomtatvanyok.Models;
@using Kreta.Resources;
@model NyomtatvanyBaseModel
@{
var columnNumber = Model.ColumnNumber;
}
@using (Html.KretaForm(Model.ControllerAction, "Nyomtatvanyok", FormMethod.Post, "nyomtatvanyForm"))
{
<div id="NyomtatvanyPopUpValidator">
@Html.KretaValidationSummary()
</div>
@Html.HiddenFor(x => x.ControllerAction)
@Html.HiddenFor(x => x.IsSelectedTanev21_22OrLater)
<script type="text/javascript">
var DropdownHelper = (function() {
var dropdownHelper = function () { };
dropdownHelper.getIsNaploZaras = function () {
var osztalyId = this.value();
var lezartOsztalyokList = [];
@foreach (var item in Model.LezartNaplok)
{
@:lezartOsztalyokList.push("@item");
}
KretaCheckBoxHelper.setValue("NaploZaras", lezartOsztalyokList.indexOf(osztalyId) !== -1);
}
dropdownHelper.GetList = function (elementID, actionName, cascadeFilterValue, grouping = false, multiselect = true, getUrlParam = null) {
var url = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "-" })".slice(0, -1) + actionName;
if (getUrlParam != null) {
url = url + getUrlParam;
}
$.ajax({
url: url,
data: { cascadeFilter: cascadeFilterValue },
success: function (resultJson) {
var dataSource = (grouping) ? new kendo.data.DataSource({
data: resultJson,
group: { field: "GroupName" }
}) : new kendo.data.DataSource({
data: resultJson
});
dataSource.read();
if (multiselect) {
$("#" + elementID).data('kendoMultiSelect').value([]);
$("#" + elementID).data('kendoMultiSelect').trigger("change");
$("#" + elementID).data('kendoMultiSelect').setDataSource(dataSource);
}
else {
$("#" + elementID).data('kendoComboBox').value([]);
$("#" + elementID).data('kendoComboBox').trigger("change");
$("#" + elementID).data('kendoComboBox').setDataSource(dataSource);
}
}
});
}
dropdownHelper.tanuloIdListFromOsztalyIdOnChange = function () {
if (this.value().length > 0) {
dropdownHelper.GetList("TanuloIdList", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent(this.value()), true);
} else {
dropdownHelper.GetList("TanuloIdList", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent([0]), true);
}
dropdownHelper.feladatKategoriaDisabler("OsztalyIdList");
dropdownHelper.muveszetiAgDisabler("OsztalyIdList");
}
dropdownHelper.tanuloIdListForSingleSelectFromOsztalyIdOnChange = function () {
if (this.value().length > 0) {
dropdownHelper.GetList("TanuloId", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent(this.value()), false, false);
} else {
dropdownHelper.GetList("TanuloId", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent([0]), false, false);
}
dropdownHelper.feladatKategoriaDisabler("OsztalyIdList");
dropdownHelper.muveszetiAgDisabler("OsztalyIdList");
}
dropdownHelper.tanuloIdListForSingleSelectFromOsztalyIdOnChange = function () {
if (this.value().length > 0) {
dropdownHelper.GetList("TanuloId", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent(this.value()), false, false);
} else {
dropdownHelper.GetList("TanuloId", "GetTanulokListForNyomtatvanyokCascadeCB", encodeURIComponent([0]), false, false);
}
dropdownHelper.feladatKategoriaDisabler("OsztalyIdList");
dropdownHelper.muveszetiAgDisabler("OsztalyIdList");
}
dropdownHelper.getMentorListFromTanuloIdOnChange = function () {
if (this.value().length > 0) {
dropdownHelper.GetList("ApaczaiMentorId", "GetMentorNameAndIdBytanuloId", null, false, false, "?tanuloId=" + this["_old"]);
$("#ApaczaiMentorId").data('kendoComboBox').select(0);
} else {
$("#ApaczaiMentorId").data('kendoComboBox').value([]);
$("#ApaczaiMentorId").data('kendoComboBox').trigger("change");
$("#ApaczaiMentorId").data('kendoComboBox').setDataSource(null);
}
}
dropdownHelper.tanulocsoportIdListFromOsztalyIdOnChange = function () {
if (this.value().length > 0) {
dropdownHelper.GetList("TanulocsoportIdList", "GetTanulocsoportListForNyomtatvanyokCascadeCB", encodeURIComponent(this.value()), true);
} else {
dropdownHelper.GetList("TanulocsoportIdList", "GetTanulocsoportListForNyomtatvanyokCascadeCB", encodeURIComponent([0]), true);
}
dropdownHelper.feladatKategoriaDisabler("OsztalyIdList");
}
dropdownHelper.osztalyIdListFromTanevIdOnChange = function () {
dropdownHelper.GetList("OsztalyIdList", "GetOsztalyListForNyomtatvanyokCascadeCB");
}
dropdownHelper.setOsztalyInditasa = function () {
var osztalyIdList = $("#OsztalyIdList").data('kendoMultiSelect').value();
var keresztfelevesOsztalyList = [];
@foreach (var item in Model.KeresztfelevesOsztalyIdList)
{
@:keresztfelevesOsztalyList.push("@item");
}
var isAllKeresztfeleves = true;
var keresztfelevesCount = 0;
var nemKeresztfeleves = 0;
for (let i = 0; i < osztalyIdList.length; i++) {
if (keresztfelevesOsztalyList.indexOf(osztalyIdList[i]) == -1) {
isAllKeresztfeleves = false;
nemKeresztfeleves++;
} else {
keresztfelevesCount++;
}
}
if (keresztfelevesCount > 0 && nemKeresztfeleves > 0) {
$("#OsztalyInditasaId").data('kendoComboBox').select(-1);
} else {
if (isAllKeresztfeleves) {
$("#OsztalyInditasaId").data('kendoComboBox').value(@((int)OsztalyInditasaEnum.KeresztfelevesOsztaly));
} else {
$("#OsztalyInditasaId").data('kendoComboBox').value(@((int)OsztalyInditasaEnum.TanevRendjeSzerintInditottOsztaly));
}
}
}
dropdownHelper.default = function () {}
dropdownHelper.csoportIdListFromTanevIdOnChange = function () {
dropdownHelper.GetList("CsoportIdList", "GetCsoportListForNyomtatvanyokCascadeCB");
}
dropdownHelper.teremIdListFromTanevIdOnChange = function () {
dropdownHelper.GetList("TeremIdList", "GetTeremListForNyomtatvanyokCascadeCB");
}
dropdownHelper.foglalkozasIdListFromTanevIdOnChange = function () {
dropdownHelper.GetList("FoglalkozasIdList", "GetFoglalkozasListForNyomtatvanyokCascadeCB");
}
dropdownHelper.osztalyCsoportIdListFromOktNevelesiKategoriaIdOnChange = function () {
dropdownHelper.GetList("OsztalyCsoportIdList", "GetOsztalyCsoportListByEvfolyamCascadeCB", encodeURIComponent(this.value()), true);
}
dropdownHelper.osztalyIdListFromOktNevelesiKategoriaIdOnChange = function () {
dropdownHelper.GetList("OsztalyIdList", "GetOsztalyListByEvfolyamCascadeCB", encodeURIComponent(this.value()), true);
}
dropdownHelper.csoportIdListFromOktNevelesiKategoriaIdOnChange = function () {
dropdownHelper.GetList("CsoportIdList", "GetCsoportListByEvfolyamCascadeCB", encodeURIComponent(this.value()), true);
}
dropdownHelper.pedagogusIdListFromOktNevelesiKategoriaIdOnChange = function () {
dropdownHelper.GetList("PedagogusIdList", "GetPedagogusListByEvfolyamCascadeCB", encodeURIComponent(this.value()), true);
}
dropdownHelper.pedagogusIdListFromOktNevelesiKategoriaIdByFelhasznaloOnChange = function () {
dropdownHelper.GetList("PedagogusIdList", "GetPedagogusListByFeladatKategoriaAndFelhasznaloCascadeCB", encodeURIComponent(this.value()), true);
}
dropdownHelper.osztalyIdListFromMuveszetiAgIdOnChange = function () {
var osztalyIdList = $('#OsztalyIdList');
if (this.value().length > 0) {
if (osztalyIdList.length > 0) {
osztalyIdList.parent().removeClass('disabledItem');
}
dropdownHelper.GetList("OsztalyIdList", "GetOsztalyListByMuveszetiAgCascadeCB", encodeURIComponent(this.value()), true);
} else {
if (osztalyIdList.length > 0) {
osztalyIdList.parent().addClass('disabledItem');
}
}
dropdownHelper.muveszetiAgDisabler("OsztalyIdList");
}
dropdownHelper.munkaidoelszamolasBontasOnChange = function () {
var combobox = $("input[name = 'HonapId']").data("kendoComboBox");
if ($('#MunkaidoelszamolasBontas').val() == 2) {
$('label[for="HonapId"]').removeClass('labelError');
combobox.select(0);
combobox.trigger("change");
combobox.enable(false);
$('#HonapId-error').text("");
$('#HonapId-error').parent().css({ "display": "none" });
}
else {
combobox.enable(true);
}
}
dropdownHelper.csoportIdListOnChange = function () {
dropdownHelper.feladatKategoriaDisabler("CsoportIdList");
}
dropdownHelper.osztalyCsoportIdListOnChange = function () {
dropdownHelper.feladatKategoriaDisabler("OsztalyCsoportIdList");
}
dropdownHelper.osztalyIdListOnChange = function () {
dropdownHelper.feladatKategoriaDisabler("OsztalyIdList");
}
dropdownHelper.pedagogusIdListOnChange = function () {
dropdownHelper.feladatKategoriaDisabler("PedagogusIdList");
}
dropdownHelper.feladatKategoriaDisabler = function (disablerId) {
var oktnevkat = $('#OktNevelesiKategoriaId');
if (oktnevkat.length > 0) {
var cmb = oktnevkat.data('kendoComboBox');
if ($('#' + disablerId).data('kendoMultiSelect').value().length > 0) {
oktnevkat.parent().addClass('disabledItem');
}
else {
oktnevkat.parent().removeClass('disabledItem');
}
}
}
dropdownHelper.muveszetiAgDisabler = function (disablerId) {
var muveszetiAg = $('#MuveszetiAgId');
if (muveszetiAg.length > 0) {
if ($('#' + disablerId).data('kendoMultiSelect').value().length > 0) {
muveszetiAg.parent().addClass('disabledItem');
}
else {
muveszetiAg.parent().removeClass('disabledItem');
}
}
}
dropdownHelper.megtartottVagyMegtarthatoOnChange = function () {
var megtartottVagyMegtarthato = $('#MegtartottVagyMegtarthatoModId');
var altantargyBeszamitasa = $('#AltantargyBeszamitasa');
if (megtartottVagyMegtarthato && altantargyBeszamitasa) {
if (megtartottVagyMegtarthato.data('kendoComboBox').value() === '@((int)MegtartottVagyMegtarthatoModEnum.Megtartott)') {
altantargyBeszamitasa.prop('checked', false);
altantargyBeszamitasa.prop('disabled', true);
}
else {
altantargyBeszamitasa.prop('disabled', false);
}
}
}
dropdownHelper.ujTorzslapJegyzekOnChange = function (jegyzekCheckbox)
{
var isSelectedTanev21_22OrLater = CommonUtils.parseBool($("#IsSelectedTanev21_22OrLater").val());
if ($(jegyzekCheckbox).is(":checked") && !isSelectedTanev21_22OrLater) {
$("#RegiSzktOkj").show();
$("#UjSzktSzakmajegyzek").show();
$("#NktSzakgimnaziumban").show();
}
else {
$("#RegiSzktOkj").hide();
$("#UjSzktSzakmajegyzek").hide();
$("#NktSzakgimnaziumban").hide();
}
}
return dropdownHelper;
})();
</script>
if (@Model.INegyedevVegeWarning)
{
@Html.KretaLabelForWithoutName(x => x.INegyedevVegeWarningText, 12 / columnNumber, 12, htmlAttributes: new Dictionary<string, object> { { "style ", "color: red; text-align: center;" } })
}
if (@Model.IIINegyedevVegeWarning)
{
@Html.KretaLabelForWithoutName(x => x.IIINegyedevVegeWarningText, 12 / columnNumber, 12, htmlAttributes: new Dictionary<string, object> { { "style ", "color: red; text-align: center;" } })
}
if (@Model.HasSzovegesErtekelesHosszLimit)
{
@Html.KretaLabelForWithoutName(x => x.SzovegesErtekelesHosszLimitText, 12 / columnNumber, 12, htmlAttributes: new Dictionary<string, object> { { "style ", "text-align: center;" } })
}
if (Model.isLetoltesFeliratIsVisible && Model.LetoltesFeliratPozicio == NyomtatvanyEnum.LetoltesFeliratFent)
{
@Html.KretaLabelForWithoutName(x => x.LetoltesFelirat, inputWidth: 50)
}
var index = 0;
var isKulonDokumentumInNewRow = false;
var hasOpenDiv = false;
foreach (var group in Model.Items.GroupBy(x => new { x.GroupName, x.GroupId }))
{
if (group.Key.GroupId != null)
{
index += index % columnNumber;
@Html.RenderGroupStart(group.Key.GroupName, paramGroupId: group.Key.GroupId)
}
foreach (var item in group)
{
if (index % columnNumber == 0)
{
@:<div class="row" style="margin: 0px;">
hasOpenDiv = true;
}
var htmlAttributes = new Dictionary<string, object>();
var label = item.Label;
if (item.Required)
{
htmlAttributes.Add("required", "required");
htmlAttributes.Add("data-rule-required", "true");
htmlAttributes.Add("data-msg-required", string.Format("{0} megadása kötelező!", label));
htmlAttributes.Add("aria-required", "true");
label += " *";
}
var url = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = item.CascadeFromController, action = item.CascadeFromAction });
switch (item.Type)
{
case Constants.DokumentumParameterTypes.DropDownList:
if (!string.IsNullOrWhiteSpace(item.CascadeFrom) && !string.IsNullOrWhiteSpace(item.CascadeFromController) && !string.IsNullOrWhiteSpace(item.CascadeFromAction))
{
if (item.Required)
{
@Html.KretaComboBoxCascade(item.Name, url, item.CascadeFrom, new Dictionary<string, object> { { "required", "required" }, { "data-rule-required", "true" }, { "data-msg-required", string.Format("{0} megadása kötelező!", item.Label) }, { "aria-required", "true" },
{ "data-rule-requireddropdown", "true" }, { "data-msg-requireddropdown", string.Format("{0} megadása kötelező!", item.Label) }
}, placeholder: CommonResource.PleaseChoose).Events(x => x.Change(item.OnChangeFunction)).RenderWithName(string.Format("{0} *", item.Label), 6 / columnNumber, 6 / columnNumber)
}
else
{
@Html.KretaComboBoxCascade(item.Name, url, item.CascadeFrom, placeholder: CommonResource.PleaseChoose).Events(x => x.Change(item.OnChangeFunction)).RenderWithName(item.Label, 6 / columnNumber, 6 / columnNumber)
}
}
else
{
if (item.Required)
{
@Html.KretaComboBox(item.Name, url: item.DropdownItemsUrl, useGroup: item.DropdownItemsUseGroup ?? false, htmlAttributes: new Dictionary<string, object> { { "required", "required" }, { "data-rule-required", "true" }, { "data-msg-required", string.Format("{0} megadása kötelező!", item.Label) }, { "aria-required", "true" },
{ "data-rule-requireddropdown", "true" }, { "data-msg-requireddropdown", string.Format("{0} megadása kötelező!", item.Label) }
}, selectFirstItem: item.SelectFirstItem, placeholder: CommonResource.PleaseChoose).Value(item.DefaultValue.ToString()).Events(x => x.Change(item.OnChangeFunction)).RenderWithName(string.Format("{0} *", item.Label), 6 / columnNumber, 6 / columnNumber)
}
else
{
@Html.KretaComboBox(item.Name, url: item.DropdownItemsUrl, useGroup: item.DropdownItemsUseGroup ?? false, selectFirstItem: item.SelectFirstItem, placeholder: CommonResource.PleaseChoose).Value(item.DefaultValue.ToString()).Events(x => x.Change(item.OnChangeFunction)).RenderWithName(item.Label, 6 / columnNumber, 6 / columnNumber)
}
}
break;
case Constants.DokumentumParameterTypes.DropDownListMultiSelect:
if (item.Required)
{
@Html.KretaMultiSelectNyomtatvany(item.Name, url: item.DropdownItemsUrl, htmlAttributes: new Dictionary<string, object> { { "required", "required" }, { "data-rule-required", "true" }, { "data-msg-required", string.Format("{0} megadása kötelező!", item.Label) }, { "aria-required", "true" } }, grouping: item.DropdownItemsUseGroup, groupName: item.DropdownItemsGroupName).Events(x => x.Change(item.OnChangeFunction)).Events(x => x.Close(item.OnCloseFunction)).RenderWithName(string.Format("{0} *", item.Label), 6 / columnNumber, 6 / columnNumber)
}
else
{
@Html.KretaMultiSelectNyomtatvany(item.Name, url: item.DropdownItemsUrl, grouping: item.DropdownItemsUseGroup, groupName: item.DropdownItemsGroupName).Events(x => x.Change(item.OnChangeFunction)).Events(x => x.Close(item.OnCloseFunction)).AutoBind(false).RenderWithName(item.Label, 6 / columnNumber, 6 / columnNumber)
}
break;
case Constants.DokumentumParameterTypes.Datepicker:
var kivalasztottNap = DateTime.Today;
if (item.Required)
{
var dateTimePicker = Html.KretaDatePicker(item.Name, "", true, "hu-HU", DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MinDate), DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MaxDate), new Dictionary<string, object>
{ { "required", "required" }, { "data-rule-required", "true" }, { "data-msg-required", string.Format("{0} megadása kötelező!", item.Label) }, { "aria-required", "true" },
{ "data-rule-dateRange", "true"}, { "data-msg-dateRange", string.Format("{0} nem megfelelő formátumú!", item.Label)} });
if (item.Name == "OrarendErvenyessegiDatum")
{
kivalasztottNap = (DateTime.Today > Model.UtolsoTanitasiNap) ? Model.UtolsoTanitasiNap :
(DateTime.Today < Model.ElsoTanitasiNap) ? Model.ElsoTanitasiNap : DateTime.Today;
dateTimePicker.Min(Model.ElsoTanitasiNap.ToShortDateString()).Max(Model.UtolsoTanitasiNap.ToShortDateString());
}
else if (item.Name == "ErvenyessegVege")
{
dateTimePicker.Min(DateTime.Today.ToShortDateString());
}
@dateTimePicker.Value(kivalasztottNap).RenderWithName(string.Format("{0} *", item.Label), 6 / columnNumber, 6 / columnNumber)
}
else
{
@Html.KretaDatePicker(item.Name, "", true, "hu-HU", DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MinDate), DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MaxDate), new Dictionary<string, object>
{ { "data-rule-daterange", "true"}, { "data-msg-daterange", string.Format("{0} nem megfelelő formátumú!", item.Label)} }).Value(kivalasztottNap).RenderWithName(item.Label, 6 / columnNumber, 6 / columnNumber)
}
break;
case Constants.DokumentumParameterTypes.Checkbox:
var defaultValue = (item.DefaultValue != 0) ? true : false;
if (!string.IsNullOrWhiteSpace(item.OnChangeFunction))
{
htmlAttributes.Add("onchange", item.OnChangeFunction);
}
@Html.KretaCheckBox(item.Name, "", defaultValue, htmlAttributes: htmlAttributes).Checked(defaultValue).RenderWithName(label, (int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber))
break;
case Constants.DokumentumParameterTypes.Radiobutton:
{
if (item.Name == "AlapszintuNyomtatvanyokKulonDokumentumba" && !isKulonDokumentumInNewRow)
{
var remainder = columnNumber - index % columnNumber;
if (remainder != 0)
{
index += remainder;
@:</div>
@:<div class="row" style="margin: 0px;">
}
isKulonDokumentumInNewRow = true;
}
@Html.KretaRadioButtonNyomtatvany(item.Name, value: item.Value, check: item.Checked).RenderWithName(item.Label, (int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber), includeWrapperDiv: false);
}
break;
case Constants.DokumentumParameterTypes.Textbox:
htmlAttributes.Add("placeholder", CommonResource.KeremAdjaMeg);
if (item.MaxLength.HasValue)
{
htmlAttributes.Add("maxlength", item.MaxLength);
}
@Html.KretaTextBox(item.Name, htmlAttributes: htmlAttributes).RenderWithName(label, 6 / columnNumber, 6 / columnNumber)
break;
case Constants.DokumentumParameterTypes.Empty:
@:<div class="@BootsrapHelper.GetSizeClasses(12 / columnNumber)" />
break;
}
++index;
if (index % columnNumber == 0)
{
@:</div>
hasOpenDiv = false;
}
}
if (hasOpenDiv)
{
@Html.RenderGroupEnd();
}
if (group.Key.GroupId != null)
{
@Html.RenderGroupEnd();
}
}
if (Model.Iktathato)
{
@Html.KretaCheckBoxFor(x => x.Iktatas).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.DokumentumId != (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsFejlecMegjelenitesVisible)
{
@Html.KretaCheckBoxFor(x => x.FejlecMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.DokumentumId != (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsAdatMegjelenitesVisible)
{
@Html.KretaCheckBoxFor(x => x.AdatMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.EvesOraszam)
{
@Html.KretaCheckBoxFor(x => x.EvesOraszamMegjelenjen).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isAltantargyBeszamitasaVisible)
{
@Html.KretaCheckBoxFor(x => x.AltantargyBeszamitasa).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.FuggolegesTantargyakMegjelenjen)
{
@Html.KretaCheckBoxFor(x => x.FuggolegesTantargyak).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.ErtekelesmodSuly)
{
@Html.KretaCheckBoxFor(x => x.ErtekelesmodSuly).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsReszletesMulasztasokVisible)
{
@Html.KretaCheckBoxFor(x => x.ReszletesMulasztasok).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.ElmeletGyakorlat)
{
@Html.KretaCheckBoxFor(x => x.ElmeletGyakorlatKulon).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsEgyebFoglalkozasokVisible)
{
@Html.KretaCheckBoxFor(x => x.EgyebFoglalkozasok).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsNaploZarasVisible)
{
@Html.KretaCheckBoxFor(x => x.NaploZaras).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsGondviseloVisible)
{
@Html.KretaCheckBoxFor(x => x.GondviseloMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsGyakorlatiOrakVisible)
{
@Html.KretaCheckBoxFor(x => x.GyakorlatiOrakMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsElmeletiOrakVisible)
{
@Html.KretaCheckBoxFor(x => x.ElmeletiOrakMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsAtlagFeltuntetesVisible)
{
@Html.KretaCheckBoxFor(x => x.AtlagFeltuntetes).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsTanuloZaradekaiVisible)
{
@Html.KretaCheckBoxFor(x => x.TanuloZaradekai).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsOKJVisible)
{
@Html.KretaCheckBoxFor(x => x.OKJ).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isFelmentesekMegjeleniteseIsVisible)
{
@Html.KretaCheckBoxFor(x => x.isFelmentesekMegjelenitese).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isErtesitokFelmentesekMegjeleniteseIsVisible)
{
@Html.KretaCheckBoxFor(x => x.isErtesitokFelmentesekMegjelenitese).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.DokumentumId != (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsSNIVisible)
{
@Html.KretaCheckBoxFor(x => x.SNI).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsBTMVisible)
{
@Html.KretaCheckBoxFor(x => x.BTM).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isFeljegyzesekMegjeleniteseIsVisible)
{
@Html.KretaCheckBoxFor(x => x.isFeljegyzesekMegjelenitese).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber))
}
if (Model.IsKozossegiSzolgalatVisible)
{
@Html.KretaCheckBoxFor(x => x.KozossegiSzolgalat).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isMulasztasokUjLaponIsVisible)
{
@Html.KretaCheckBoxFor(x => x.MulasztasokUjLapon).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.isLetoltesFeliratIsVisible && Model.LetoltesFeliratPozicio == NyomtatvanyEnum.LetoltesFeliratLent)
{
@Html.KretaLabelForWithoutName(x => x.LetoltesFelirat, inputWidth: 50)
}
if (Model.IsFeljegyzesHaviBontasVisible)
{
@Html.KretaCheckBoxFor(x => x.FeljegyzesHaviBontas).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsZaradekKeltVisible)
{
@Html.KretaCheckBoxFor(x => x.ZaradekKeltMegjelenites).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsTagintezmenyekCimeVisible)
{
@Html.KretaCheckBoxFor(x => x.TagintezmenyCime, new Dictionary<string, object> { { "id", "tagintezmenyCheckbox" } }).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
@Html.KretaComboBoxFor(x => x.TagintezmenyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetIntezmenyCimeByTanev" }), "Text", "Value").AutoBind(true).RenderWithName(6 / columnNumber, 6 / columnNumber);
<script>
$(document).ready(function () {
if ($('#tagintezmenyCheckbox').is(':checked')) {
$('#TagintezmenyId').data('kendoComboBox').enable(true);
$('#TagintezmenyId').data('kendoComboBox').select(0);
} else {
$('#TagintezmenyId').data('kendoComboBox').enable(false);
}
if (CommonUtils.parseBool("@Model.IsTagintezmenyCimeKotelezo")) {
$('#TagintezmenyId').addClass("required");
$('#TagintezmenyId').data("msg-required", $('#TagintezmenyId').data("msg-requiredif"));
$('#tagintezmenyCheckbox').parent("div").addClass("disabledItem");
}
$('#tagintezmenyCheckbox').click(function () {
if ($(this).is(':checked')) {
$('#TagintezmenyId').data('kendoComboBox').enable(true);
$('#TagintezmenyId').data('kendoComboBox').select(0);
} else {
$('#TagintezmenyId').data('kendoComboBox').enable(false);
}
})
});
</script>
}
<script>
$(document).ready(function () {
var apaczaiSelect = $('#ApaczaiMentorId').data('kendoComboBox');
if (apaczaiSelect !== undefined) {
apaczaiSelect.enable(false);
}
});
</script>
if (Model.isTanitasiHetekSzamaVisible)
{
@Html.KretaNumericFor(x => x.TanitasiHetekSzamaNemVegzos).Min(1).Max(52).RenderWithName(6 / columnNumber, 2)
<span class="@BootsrapHelper.GetSizeClasses(columnNumber == 1 ? 4 : 1)"></span>
@Html.KretaNumericFor(x => x.TanitasiHetekSzamaVegzos).Min(1).Max(52).RenderWithName(6 / columnNumber, 2)
<span class="@BootsrapHelper.GetSizeClasses(columnNumber == 1 ? 4 : 1)"></span>
}
if (Model.DokumentumId == (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsFejlecMegjelenitesVisible)
{
@Html.KretaCheckBoxFor(x => x.FejlecMegjelenites, new Dictionary<string, object> { { "id", "FejlecMegjelenitesCheckbox" } }).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsBetuMeretFejlecMegjelenitese)
{
<div class="BetuMeretFejlecDiv">
@Html.KretaComboBoxFor(x => x.BetuMeretFejlec, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetUjTorzslapBetuMeretFilteredList" }), "Text", "Value").AutoBind(true).RenderWithName(6 / columnNumber, 6 / columnNumber)
</div>
}
if (Model.DokumentumId == (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsAdatMegjelenitesVisible)
{
@Html.KretaCheckBoxFor(x => x.AdatMegjelenites, new Dictionary<string, object> { { "id", "AdatMegjelenitesCheckbox" } }).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsBetuMeretAdatokMegjelenitese)
{
<div class="BetuMeretAdatokDiv">
@Html.KretaComboBoxFor(x => x.BetuMeretAdatok, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetUjTorzslapBetuMeretFilteredList" }), "Text", "Value").AutoBind(true).RenderWithName(6 / columnNumber, 6 / columnNumber)
</div>
}
if (Model.DokumentumId == (int)DokumentumFeluletEnum.TorzslapMuveszetOktatas && Model.IsSNIVisible)
{
@Html.KretaCheckBoxFor(x => x.SNI, new Dictionary<string, object> { { "id", "SNICheckbox" } }).RenderWithName((int)Math.Ceiling(7d / columnNumber), (int)Math.Floor(5d / columnNumber));
}
if (Model.IsBetuMeretSNIMegjelenitese)
{
<div class="BetuMeretSNIDiv">
@Html.KretaComboBoxFor(x => x.BetuMeretSNI, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetUjTorzslapBetuMeretFilteredList" }), "Text", "Value").AutoBind(true).RenderWithName(6 / columnNumber, 6 / columnNumber)
</div>
}
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined($('#FejlecMegjelenitesCheckbox'))) {
setControlVisible('BetuMeretFejlecDiv', $('#FejlecMegjelenitesCheckbox').is(':checked'));
$('#FejlecMegjelenitesCheckbox').click(function () {
setControlVisible('BetuMeretFejlecDiv', $(this).is(':checked'));
});
}
if (!CommonUtils.isNullOrUndefined($('#AdatMegjelenitesCheckbox'))) {
setControlVisible('BetuMeretAdatokDiv', $('#AdatMegjelenitesCheckbox').is(':checked'));
$('#AdatMegjelenitesCheckbox').click(function () {
setControlVisible('BetuMeretAdatokDiv', $(this).is(':checked'));
});
}
if (!CommonUtils.isNullOrUndefined($('#SNICheckbox'))) {
setControlVisible('BetuMeretSNIDiv', $('#SNICheckbox').is(':checked'));
$('#SNICheckbox').click(function () {
setControlVisible('BetuMeretSNIDiv', $(this).is(':checked'));
});
}
var errorContainer = $("#NyomtatvanyPopUpValidator").find(".kreta-validation-summary");
var errorList = errorContainer.find("ul")
if ($("#RegiSzktOkj").length && $("#UjSzktSzakmajegyzek").length && $("#NktSzakgimnaziumban").length) {
$("#RegiSzktOkj").hide();
$("#UjSzktSzakmajegyzek").hide();
$("#NktSzakgimnaziumban").hide();
}
var combobox = $("input[name = 'AlulirottMegnevezesId']").data("kendoComboBox");
if (combobox) {
combobox.bind("dataBound", function (e) {
var data = e.sender.dataSource.data();
var selected = data.find(function (e) {
return e.Selected === true;
});
combobox.select(data.indexOf(selected));
combobox.trigger("change");
combobox.unbind("dataBound");
});
}
function setControlVisible(controlsDivClass, show) {
if (show) {
$('.' + controlsDivClass).show();
}
else {
$('.' + controlsDivClass).hide();
}
}
function checkDates(isStartDateChange) {
if (CommonUtils.isNullOrWhiteSpace(startDate.val()) && CommonUtils.isNullOrWhiteSpace(endDate.val())) {
document.getElementById("downloadBtn").disabled = true;
return;
}
clearErrors();
var startVal = Date.parse(startDate.val().split(".").join("/"));
var endVal = Date.parse(endDate.val().split(".").join("/"));
if (!(startVal <= endVal)) {
if (isNaN(startVal)) isStartDateChange = false;
else if (isNaN(endVal)) isStartDateChange = true;
isStartDateChange ? endDate.val(startDate.val()) : startDate.val(endDate.val());
}
document.getElementById("downloadBtn").disabled = false;
}
$("#IdoszakKezdete").change(function () {
checkDates(true);
});
$("#IdoszakVege").change(function () {
checkDates(false);
});
var startDate = $("#IdoszakKezdete").kendoDatePicker({
change: function () { checkDates(true) }
});
var endDate = $("#IdoszakVege").kendoDatePicker({
change: function () { checkDates(false) }
});
function showErrors() {
errorContainer.addClass("validation-summary-errors").removeClass("validation-summary-valid");
errorContainer.css({ "display": "block" });
}
function addError(errorMessage) {
$("<li />").html("<label class='error labelError'>" + errorMessage + "</label>").appendTo(errorList);
}
function clearErrors() {
errorContainer.addClass("validation-summary-valid").removeClass("validation-summary-errors");
errorContainer.css({ "display": "none" });
errorList.empty();
}
if ($('#MuveszetiAgId').length > 0) {
$('#OsztalyIdList').parent().addClass('disabledItem');
}
});
var NyomtatvanyParameterHelper = (function() {
var nyomtatvanyParameterHelper = function() { };
nyomtatvanyParameterHelper.submitForm = function () {
if ($('#nyomtatvanyForm').valid()) {
if ($('#downloadBtn').is(':disabled')) {
return;
}
$('#downloadBtn').prop("disabled", true);
var url = "@Url.Action(Model.ControllerAction, "Nyomtatvanyok", new { area = "Nyomtatvanyok" })";
var element = $('#nyomtatvanyForm').toObject();
var foszam = $('#FoszamDefiniciok').toObject();
var kulcsszavak = $('#KulcsszoDefiniciok').toObject();
element.FoszamDefiniciok = foszam;
element.KulcsszoDefiniciok = kulcsszavak;
var tagintezmenyCombo = $('#TagintezmenyId').data('kendoComboBox');
if (tagintezmenyCombo != undefined) {
element.TagintezmenyCimeDropdown = tagintezmenyCombo.text();
}
AjaxHelper.DownloadFile(url, element, false, NyomtatvanyParameterHelper.reenableDownloadBtn);
}
}
nyomtatvanyParameterHelper.reenableDownloadBtn = function () {
$('#downloadBtn').prop("disabled", false);
}
return nyomtatvanyParameterHelper;
})();
</script>
@*if (Model.isTanulokNevsorRendezesUtolsoOldalonVisible)
{
@Html.KretaComboBoxFor(x => x.TanulokNevsorRendezesUtolsoOldalon,
Url.HttpRouteUrl(Constants.RouteKey.ActionApi,
new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetNyomtatvanyTanulokNevsorRendezesEnumList" }),
"Text", "Value").SelectedIndex(0).AutoBind(true).RenderWithName(6, 6);
}*@
@Html.HiddenFor(x => x.NyomtatvanyTipus)
@Html.Hidden("KulcsszoDefiniciok", Newtonsoft.Json.JsonConvert.SerializeObject(Model.Kulcsszodefiniciok))
@Html.Hidden("FoszamDefiniciok", Newtonsoft.Json.JsonConvert.SerializeObject(Model.FoszamDefiniciok))
<div class="modalFooter" style="position: relative; clear: both;">
<div style="float: right; margin-top: 6px; margin-bottom: 12px; margin-right: 12px;">
@{
@Html.KretaButton(Model.Buttons[0], "button").Events(x => x.Click("NyomtatvanyParameterHelper.submitForm"))
}
</div>
</div>
}

View file

@ -0,0 +1,45 @@
@using Kreta.Web.Helpers
<table style="width: 100%;" class="kendoNyomtatvanyokTabla">
@foreach (var item in ViewData.Model.Data)
{
if (item is Kreta.Web.Models.EditorTemplates.PanelBarChildHeaderModel)
{
<tr class="panelBarChildHeader">
<td colspan="4" class="panelBarChildHeaderName">@item.Name</td>
</tr>
}
else
{
<tr style="padding: 10px;">
<td style="text-align: center; width: 50px;">
@{ string docType = item.DocumentType; }
@{ switch (docType)
{
case "pdf":
@Html.KretaIcon("fa-file-pdf-o", new Dictionary<string, object> { { "style", "font-size: 22px; color: #DD0B0B" } })
break;
case "xls":
@Html.KretaIcon("fa-file-excel-o", new Dictionary<string, object> { { "style", "font-size: 22px; color: #207446;" } })
break;
case "multi":
@Html.KretaIcon("fa-file-text-o", new Dictionary<string, object> { { "style", "font-size: 22px;" } })
break;
}
}
</td>
<td>
<input type="hidden" value="@item.Id" />
<div class="openPopup" style="cursor: pointer;" onclick="location.href='#'">
@item.Name
</div>
</td>
<td>@item.Description</td>
<td style="text-align: center; width: 50px;">
<input type="hidden" value="@item.Id" />
@Html.KretaLink(3356 /*Letöltés*/, "#", "btn btn-default openPopup", "<i id='favoriteButtonIcon' data-state='False' class='fa fa-download'></i>")
</td>
</tr>
}
}
</table>

View file

@ -0,0 +1,64 @@
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Helpers
@model Kreta.Web.Areas.Nyomtatvanyok.Models.BizonyitvanyDownloadModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
<h4>
@Html.Raw(NyomtatvanyokResource.Bizonyitvanyok)
</h4>
<div class="col-xs-12 col-sm-12 col-md-2" style="padding-left: 0px; padding-right: 0px;">
@using (Html.KretaForm("TanuloiBizonyitvanyokLetoltese", "Nyomtatvanyok", FormMethod.Post, "bizonyitvanyForm"))
{
<div id="NyomtatvanyPopUpValidator">
@Html.KretaValidationSummary()
</div>
@Html.KretaComboBoxFor(x => x.TanevId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanevekForBizonyitvanyok" })).AutoBind(true).RenderIntoOneColWithName(12, tooltipResource: NyomtatvanyokResource.TanuloiBizonyitvanyokLetolteseTanevTooltip, customHtmlAttributes: new Dictionary<string, object> { { "style", "padding-left: 0px; padding-right: 0px;" } })
<div class="col-xs-12 col-sm-12 col-md-12" style="padding-left: 0px; padding-right: 0px;">
@Html.KretaButton(Model.ButtonModel)
</div>
}
</div>
<div class="col-xs-12 col-sm-12 col-md-10">
<div class="col-xs-12 col-sm-12 col-md-12">
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<span>@Html.Raw(NyomtatvanyokResource.TanuloiBizonyitvanyokLetolteseSor1)</span>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<span>@Html.Raw(NyomtatvanyokResource.TanuloiBizonyitvanyokLetolteseSor2)</span>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<span>@Html.Raw(NyomtatvanyokResource.TanuloiBizonyitvanyokLetolteseSor3)</span>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('[name="TanevId_input"]').prop("title", "");
});
var TanuloiBizonyitvanyokLetolteseHelper = (function () {
var tanuloiBizonyitvanyokLetolteseHelper = function () { };
var url = "@Url.Action("TanuloiBizonyitvanyokLetoltese", Constants.Controllers.Nyomtatvanyok, new { area = Constants.Areas.Nyomtatvanyok })";
tanuloiBizonyitvanyokLetolteseHelper.downloadDocuments = function () {
if ($('#bizonyitvanyForm').valid()) {
var element = $('#bizonyitvanyForm').toObject();
AjaxHelper.DownloadFile(url, element);
}
}
return tanuloiBizonyitvanyokLetolteseHelper;
})();
</script>

View file

@ -0,0 +1,11 @@
@using System.Web.Optimization
@model Kreta.Web.Models.EditorTemplates.PanelBarBaseModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddCss{
@Styles.Render("~/Content/Termekportal")
}
@Html.Partial("EditorTemplates/PanelBar", Model)

View file

@ -0,0 +1,63 @@
@using Kreta.Web.Areas.Nyomtatvanyok.Models
@using Kreta.Web.Helpers
@using LinkExtensions = Kreta.Web.Helpers.LinkExtensions
<table style="width: 100%;" class="kendoNyomtatvanyokTabla">
@foreach (var item in ViewData.Model.Data)
{
if (item is TermekportalModel)
{
<tr style="padding: 10px;">
<td style="text-align: center; width: 50px;">
@{
var termekportalModel = (TermekportalModel) item;
string docType = termekportalModel.DocumentType;
switch (docType)
{
case "pdf":
@Html.KretaIcon("fa-file-pdf-o", new Dictionary<string, object> {{"style", "font-size: 22px; color: #DD0B0B;"}})
break;
case "link":
@Html.KretaIcon("fa-link", new Dictionary<string, object> {{"style", "font-size: 22px; color: #295497;"}})
break;
case "xls":
@Html.KretaIcon("fa-file-excel-o", new Dictionary<string, object> { { "style", "font-size: 22px; color: #049F13;" } })
break;
}
}
</td>
<td>
<div style="cursor: pointer;" onclick="window.open('@item.ActionLink', '_blank')">
@termekportalModel.Name
</div>
</td>
<td style="text-align: center; width: 50px;">
@{
if (!string.IsNullOrWhiteSpace(termekportalModel.ActionLink))
{
@LinkExtensions.KretaActionLink(Html, termekportalModel.Name, termekportalModel.ActionLink, "btn btn-default", "<i class='fa fa-external-link'></i>")
}
else
{
@LinkExtensions.KretaActionLink(Html, termekportalModel.Name, termekportalModel.ActionLink, "btn btn-default disabledItem", "<i class='fa fa-external-link'></i>")
}
}
</td>
</tr>
}
else if (item is TermekLeirasModel)
{
var termekLeirasModel = (TermekLeirasModel) item;
<tr>
<td>
<h5 style="font-weight: bold; margin: 20px 0 0 10px">@termekLeirasModel.Title</h5>
</td>
</tr>
<tr>
<td>
<p style="text-align: justify; margin: 20px">@(Html.Raw(termekLeirasModel.Description))</p>
</td>
</tr>
}
}
</table>

View file

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

View file

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Kreta.Web" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>