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