init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
@ -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
|
||||
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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.
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue