726 lines
29 KiB
C#
726 lines
29 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Logic;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class AdatszolgaltatasokHelper : LogicBase
|
|
{
|
|
public AdatszolgaltatasokHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
private static readonly Dictionary<int, string> EslLeirasSorrend = new Dictionary<int, string>() {
|
|
{ 1, "Összesen" },
|
|
{ 2, "Lány" },
|
|
{ 3, AdatszolgaltatasokResource.AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet },
|
|
{ 4, AdatszolgaltatasokResource.AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama },
|
|
{ 5, AdatszolgaltatasokResource.AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott },
|
|
{ 6, AdatszolgaltatasokResource.AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott },
|
|
{ 7, AdatszolgaltatasokResource.AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott },
|
|
{ 8, AdatszolgaltatasokResource.AzAdottTanitasiEvbenEvismetlesreKotelezett },
|
|
{ 9, AdatszolgaltatasokResource.AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik },
|
|
{ 10, AdatszolgaltatasokResource.AFelevbenSzuloiKeresreMagantanulovaValtTanulo },
|
|
{ 11, AdatszolgaltatasokResource.AFelevbenMenekultOltalmazottMenedekesTanulokSzama },
|
|
{ 12, AdatszolgaltatasokResource.AFelevbenVeszelyezeztetteValtTanulokSzama },
|
|
{ 13, AdatszolgaltatasokResource.AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama },
|
|
{ 14, AdatszolgaltatasokResource.KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo },
|
|
{ 15, AdatszolgaltatasokResource.EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama },
|
|
{ 16, AdatszolgaltatasokResource.EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel },
|
|
{ 17, AdatszolgaltatasokResource.EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama },
|
|
{ 18, AdatszolgaltatasokResource.EbbolAlapfokuOktatasbanBetoltotteA16Eletevet }
|
|
};
|
|
|
|
public DataSet GetOsztalyCsoportokLetszamai()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL(GridParameters);
|
|
|
|
return adatszolgaltatasokDal.GetOsztalyCsoportokLetszama(IntezmenyId, TanevId);
|
|
});
|
|
}
|
|
|
|
public bool? GetStatusz(char tipus) //V = véglegesítés E = elfogadás
|
|
{
|
|
if (!tipus.Equals('V') && !tipus.Equals('E'))
|
|
return null;
|
|
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
var intezmeny = intezmenyDal.Get(IntezmenyId);
|
|
|
|
var entity = intezmeny.IntezmenyAdatszolgaltatas.First(x => x.TanevId == TanevId && !x.Torolt);
|
|
|
|
if (tipus == 'V')
|
|
{
|
|
return entity.VeglegesLetszam;
|
|
}
|
|
if (tipus == 'E')
|
|
{
|
|
return entity.ElfogadottLetszam;
|
|
}
|
|
return null;
|
|
});
|
|
}
|
|
|
|
public void Elfogadas()
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
var intezmeny = intezmenyDal.Get(IntezmenyId);
|
|
|
|
var entity = intezmeny.IntezmenyAdatszolgaltatas.First(x => x.TanevId == TanevId && !x.Torolt);
|
|
|
|
entity.ElfogadottLetszam = true;
|
|
entity.ElfogadottLetszamDatuma = DateTime.Now;
|
|
|
|
IIntezmenyAdatszolgaltatasDal intezmenyAdatszolgaltatasDal = h.IntezmenyAdatszolgaltatasDal();
|
|
|
|
intezmenyAdatszolgaltatasDal.Update(entity);
|
|
});
|
|
}
|
|
|
|
public void Elutasitas()
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
var intezmeny = intezmenyDal.Get(IntezmenyId);
|
|
|
|
var entity = intezmeny.IntezmenyAdatszolgaltatas.First(x => x.TanevId == TanevId && x.Torolt == false);
|
|
|
|
entity.ElfogadottLetszam = false;
|
|
entity.ElfogadottLetszamDatuma = null;
|
|
|
|
IIntezmenyAdatszolgaltatasDal intezmenyAdatszolgaltatasDal = h.IntezmenyAdatszolgaltatasDal();
|
|
|
|
intezmenyAdatszolgaltatasDal.Update(entity);
|
|
});
|
|
}
|
|
|
|
public void Veglegesites()
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
var intezmeny = intezmenyDal.Get(IntezmenyId);
|
|
|
|
var entity = intezmeny.IntezmenyAdatszolgaltatas.First(x => x.TanevId == TanevId && x.Torolt == false);
|
|
|
|
entity.VeglegesLetszam = true;
|
|
entity.VeglegesLetszamDatuma = DateTime.Now;
|
|
|
|
IIntezmenyAdatszolgaltatasDal intezmenyAdatszolgaltatasDal = h.IntezmenyAdatszolgaltatasDal();
|
|
|
|
intezmenyAdatszolgaltatasDal.Update(entity);
|
|
});
|
|
}
|
|
|
|
public void Visszavonas()
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
var intezmeny = intezmenyDal.Get(IntezmenyId);
|
|
|
|
var entity = intezmeny.IntezmenyAdatszolgaltatas.First(x => x.TanevId == TanevId && x.Torolt == false);
|
|
|
|
entity.VeglegesLetszam = false;
|
|
entity.VeglegesLetszamDatuma = null;
|
|
|
|
IIntezmenyAdatszolgaltatasDal intezmenyAdatszolgaltatasDal = h.IntezmenyAdatszolgaltatasDal();
|
|
|
|
intezmenyAdatszolgaltatasDal.Update(entity);
|
|
});
|
|
}
|
|
|
|
public EnaploAdatszolgaltatasCO GetEnaploAdatszolgaltatas()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
|
|
var id = adatszolgaltatasokDal.GetEnaploAdatszolgaltatasId(IntezmenyId, TanevId);
|
|
|
|
if (id.HasValue)
|
|
{
|
|
IAdatszolgaltatasENaploDal adatszolgaltatasENaploDal = h.AdatszolgaltatasENaploDal();
|
|
|
|
var entity = adatszolgaltatasENaploDal.Get(id.Value);
|
|
|
|
return Convert_Entity_to_CO(entity);
|
|
}
|
|
|
|
return new EnaploAdatszolgaltatasCO();
|
|
|
|
});
|
|
}
|
|
|
|
public void InsertorUpdateEnaploAdatszolgaltatasCO(EnaploAdatszolgaltatasCO co, bool isUpdate)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
IAdatszolgaltatasENaploDal adatszolgaltatasENaploDal = h.AdatszolgaltatasENaploDal();
|
|
IIntezmenyDal intezmenyDal = h.IntezmenyDal();
|
|
|
|
bool updateEntity = isUpdate;
|
|
var entity = Convert_CO_to_Entity(co, adatszolgaltatasokDal, adatszolgaltatasENaploDal, intezmenyDal, ref updateEntity);
|
|
|
|
if (!updateEntity)
|
|
{
|
|
adatszolgaltatasENaploDal.Insert(entity);
|
|
}
|
|
else
|
|
{
|
|
adatszolgaltatasENaploDal.FullUpdate(entity);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void DeleteSzerzodesFile()
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
|
|
var id = adatszolgaltatasokDal.GetEnaploAdatszolgaltatasId(IntezmenyId, TanevId);
|
|
|
|
if (id.HasValue)
|
|
{
|
|
IAdatszolgaltatasENaploDal adatszolgaltatasENaploDal = h.AdatszolgaltatasENaploDal();
|
|
|
|
var entity = adatszolgaltatasENaploDal.Get(id.Value);
|
|
|
|
entity.Szerzodes = null;
|
|
|
|
adatszolgaltatasENaploDal.FullUpdate(entity);
|
|
}
|
|
});
|
|
}
|
|
|
|
//Később szükség lehet rá
|
|
//public void DeleteEnaploAdatszolgaltatas(int ID)
|
|
//{
|
|
// Dal.CustomConnection.Run(ConnectionType, h =>
|
|
// {
|
|
// IAdatszolgaltatasENaploDal dal = h.AdatszolgaltatasENaploDal();
|
|
|
|
// dal.Delete(ID);
|
|
// });
|
|
//}
|
|
|
|
/// <summary>
|
|
/// Saves or updates agreement for enaplo adatszolgaltatas.
|
|
/// </summary>
|
|
/// <param name="szerzodesFile">The szerzodes file.</param>
|
|
/// <param name="fileName">Name of the file.</param>
|
|
/// <param name="enaploAdatszolgID">The enaplo adatszolg identifier.</param>
|
|
public void SaveorUpdateSzerzodesForEnaploAdatszolgaltatas(MemoryStream szerzodesFile, string fileName, int? enaploAdatszolgID = null)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
IAdatszolgaltatasENaploDal adatszolgaltatasENaploDal = h.AdatszolgaltatasENaploDal();
|
|
|
|
IAdatszolgaltatasENaplo entity;
|
|
|
|
if (enaploAdatszolgID.HasValue && enaploAdatszolgID.Value > 0)
|
|
{
|
|
entity = adatszolgaltatasENaploDal.Get(enaploAdatszolgID.Value);
|
|
|
|
entity.Szerzodes = szerzodesFile.ToArray();
|
|
entity.SzerzodesFileName = fileName;
|
|
|
|
adatszolgaltatasENaploDal.FullUpdate(entity);
|
|
}
|
|
else
|
|
{
|
|
var id = adatszolgaltatasokDal.GetEnaploAdatszolgaltatasId(IntezmenyId, TanevId);
|
|
|
|
if (id.HasValue)
|
|
{
|
|
entity = adatszolgaltatasENaploDal.Get(id.Value);
|
|
|
|
entity.Szerzodes = szerzodesFile.ToArray();
|
|
entity.SzerzodesFileName = fileName;
|
|
|
|
adatszolgaltatasENaploDal.FullUpdate(entity);
|
|
}
|
|
else
|
|
{
|
|
entity = adatszolgaltatasENaploDal.Get();
|
|
|
|
entity.Szerzodes = szerzodesFile.ToArray();
|
|
entity.SzerzodesFileName = fileName;
|
|
|
|
adatszolgaltatasENaploDal.Insert(entity);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
private IAdatszolgaltatasENaplo Convert_CO_to_Entity(EnaploAdatszolgaltatasCO co, IAdatszolgaltatasokDal adatszolgaltatasokDal, IAdatszolgaltatasENaploDal adatszolgaltatasENaploDal, IIntezmenyDal intezmenyDal, ref bool isUpdate)
|
|
{
|
|
IAdatszolgaltatasENaplo entity = adatszolgaltatasENaploDal.Get();
|
|
|
|
if (isUpdate)
|
|
{
|
|
entity = adatszolgaltatasENaploDal.Get(co.ID.Value);
|
|
}
|
|
else
|
|
{
|
|
int? id = adatszolgaltatasokDal.GetEnaploAdatszolgaltatasId(IntezmenyId, TanevId);
|
|
|
|
if (id.HasValue)
|
|
{
|
|
entity = adatszolgaltatasENaploDal.Get(id.Value);
|
|
isUpdate = true;
|
|
}
|
|
else
|
|
{
|
|
entity.IntezmenyId = IntezmenyId;
|
|
entity.TanevId = TanevId;
|
|
}
|
|
}
|
|
|
|
if (co.HasznalENaplot.HasValue)
|
|
{
|
|
entity.IsENaplo = co.HasznalENaplot.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.IsENaplo = null;
|
|
}
|
|
|
|
if (co.HasznalPapirNaplot.HasValue)
|
|
{
|
|
entity.IsPapirnaplo = co.HasznalPapirNaplot.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.IsPapirnaplo = null;
|
|
}
|
|
|
|
if (co.HasznalEEllenorzot.HasValue)
|
|
{
|
|
entity.IsEllenorzo = co.HasznalEEllenorzot.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.IsEllenorzo = null;
|
|
}
|
|
|
|
if (co.ENaploTipus.HasValue)
|
|
{
|
|
entity.ENaploTipusa = co.ENaploTipus.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.ENaploTipusa = null;
|
|
}
|
|
|
|
if (co.ENaploInfra.HasValue)
|
|
{
|
|
entity.ENaploInfraja = co.ENaploInfra.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.ENaploInfraja = null;
|
|
}
|
|
|
|
if (co.ForrasTipusa.HasValue)
|
|
{
|
|
entity.ENaploForrasa = co.ForrasTipusa.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.ENaploForrasa = null;
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(co.SzerzodoNeve))
|
|
{
|
|
entity.SzerzodoSzemelyNeve = co.SzerzodoNeve;
|
|
}
|
|
else
|
|
{
|
|
entity.SzerzodoSzemelyNeve = null;
|
|
}
|
|
|
|
if (co.SzerzodesOsszege.HasValue)
|
|
{
|
|
entity.SzerzodesOsszege = co.SzerzodesOsszege.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SzerzodesOsszege = null;
|
|
}
|
|
|
|
if (co.SzerzodoPozicio.HasValue)
|
|
{
|
|
entity.SzerzodoSzemelyPozicioja = co.SzerzodoPozicio.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SzerzodoSzemelyPozicioja = null;
|
|
}
|
|
|
|
if (co.SzerzodesKezdete.HasValue)
|
|
{
|
|
entity.SzerzodesKezdete = co.SzerzodesKezdete.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SzerzodesKezdete = null;
|
|
}
|
|
|
|
if (co.SzerzodesVege.HasValue)
|
|
{
|
|
entity.SzerzodesLejarata = co.SzerzodesVege.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SzerzodesLejarata = null;
|
|
}
|
|
|
|
var intezmenyiAdatok = entity.Intezmeny.IntezmenyAdatok.FirstOrDefault(x => x.TanevId == TanevId && x.Torolt == false);
|
|
|
|
if (co.VanHonlap.HasValue && co.VanHonlap.Value == true && !string.IsNullOrWhiteSpace(co.HonlapUrl))
|
|
{
|
|
intezmenyiAdatok.IntezmenyHonlapja = co.HonlapUrl;
|
|
}
|
|
else
|
|
{
|
|
intezmenyiAdatok.IntezmenyHonlapja = null;
|
|
}
|
|
|
|
intezmenyDal.Update(intezmenyiAdatok);
|
|
|
|
if (entity.Szerzodes != null && (co.ENaploTipus == (int)ENaploTipusEnum.KRETA || co.ENaploTipus == (int)ENaploTipusEnum.NN))
|
|
{
|
|
entity.Szerzodes = null;
|
|
}
|
|
|
|
return entity;
|
|
}
|
|
|
|
private EnaploAdatszolgaltatasCO Convert_Entity_to_CO(IAdatszolgaltatasENaplo entity)
|
|
{
|
|
string intezmenyUrl = entity.Intezmeny.IntezmenyAdatok.First(x => x.TanevId == TanevId && x.Torolt == false).IntezmenyHonlapja;
|
|
|
|
EnaploAdatszolgaltatasCO co = new EnaploAdatszolgaltatasCO()
|
|
{
|
|
ID = entity.ID,
|
|
HasznalENaplot = entity.IsENaplo,
|
|
HasznalPapirNaplot = entity.IsPapirnaplo,
|
|
HasznalEEllenorzot = entity.IsEllenorzo,
|
|
ENaploTipus = entity.ENaploTipusa > 0 ? entity.ENaploTipusa : (int?)null,
|
|
ENaploInfra = entity.ENaploInfraja > 0 ? entity.ENaploInfraja : (int?)null,
|
|
ForrasTipusa = entity.ENaploForrasa > 0 ? entity.ENaploForrasa : (int?)null,
|
|
SzerzodesOsszege = entity.SzerzodesOsszege > 0 ? entity.SzerzodesOsszege : (int?)null,
|
|
SzerzodoNeve = entity.SzerzodoSzemelyNeve,
|
|
SzerzodoPozicio = entity.SzerzodoSzemelyPozicioja > 0 ? entity.SzerzodoSzemelyPozicioja : (int?)null,
|
|
SzerzodesKezdete = entity.SzerzodesKezdete,
|
|
SzerzodesVege = entity.SzerzodesLejarata,
|
|
VanHonlap = !string.IsNullOrWhiteSpace(intezmenyUrl),
|
|
HonlapUrl = intezmenyUrl,
|
|
SzerzodesFile = entity.Szerzodes != null ? new MemoryStream(entity.Szerzodes) : null
|
|
};
|
|
return co;
|
|
}
|
|
|
|
public DataSet GetLemorzsolodasEslRiport(int? feladatellatasiHelyId, bool isFelevi)
|
|
{
|
|
var adatDt = new DataTable();
|
|
var evfolyamDt = new DataTable();
|
|
var resultAdatDt = new DataTable();
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
|
|
adatDt = adatszolgaltatasokDal.GetLemorzsolodasEslRiport(TanevId, feladatellatasiHelyId, isFelevi).Tables[0];
|
|
evfolyamDt = adatszolgaltatasokDal.GetHasznaltEvfolyamokForEsl(feladatellatasiHelyId, TanevId).Tables[0];
|
|
});
|
|
|
|
SetResultAdatColumns(adatDt, evfolyamDt, resultAdatDt);
|
|
|
|
DataRow row;
|
|
foreach (var eslLeirasItem in EslLeirasSorrend)
|
|
{
|
|
row = resultAdatDt.Rows.Add(eslLeirasItem.Value);
|
|
|
|
FillResultAdatRow<string>(resultAdatDt, adatDt, row, "KategoriaValue");
|
|
}
|
|
|
|
var resultColumnsDt = GetColumnsTable(resultAdatDt, leirasColumnWidthString: "350px", otherColumnWidthString: "100px");
|
|
|
|
var resultDs = new DataSet();
|
|
resultDs.Tables.Add(resultAdatDt);
|
|
resultDs.Tables.Add(resultColumnsDt);
|
|
|
|
return resultDs;
|
|
}
|
|
|
|
public DataSet GetElegtelenEslRiport(int? feladatellatasiHelyId, bool isFelevi)
|
|
{
|
|
var adatDt = new DataTable();
|
|
var evfolyamDt = new DataTable();
|
|
var resultAdatDt = new DataTable();
|
|
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
|
|
adatDt = adatszolgaltatasokDal.GetElegtelenEslRiport(TanevId, feladatellatasiHelyId, isFelevi).Tables[0];
|
|
evfolyamDt = adatszolgaltatasokDal.GetHasznaltEvfolyamokForEsl(feladatellatasiHelyId, TanevId).Tables[0];
|
|
});
|
|
|
|
SetResultAdatColumns(adatDt, evfolyamDt, resultAdatDt);
|
|
|
|
var eslTantargyKategoriak = ((int)GeneratedAdatszotarTipusEnum.ESLTantargykategoria).GetItemsByType(TanevId, true);
|
|
|
|
DataRow row;
|
|
|
|
foreach (var eslTantargyKategoria in eslTantargyKategoriak)
|
|
{
|
|
row = resultAdatDt.Rows.Add(eslTantargyKategoria.Id);
|
|
|
|
FillResultAdatRow<int>(resultAdatDt, adatDt, row, "eslTgyKatId");
|
|
|
|
row[0] = eslTantargyKategoria.Name;
|
|
}
|
|
|
|
var resultColumnsDt = GetColumnsTable(resultAdatDt, leirasColumnWidthString: "160px", otherColumnWidthString: "100px");
|
|
|
|
var resultDs = new DataSet();
|
|
resultDs.Tables.Add(resultAdatDt);
|
|
resultDs.Tables.Add(resultColumnsDt);
|
|
|
|
return resultDs;
|
|
}
|
|
|
|
static string GetColumnIdString(string name) { return $"Column{name}"; }
|
|
|
|
private void SetResultAdatColumns(DataTable adatDt, DataTable evfolyamDt, DataTable resultAdatDt)
|
|
{
|
|
adatDt.Columns["OsszesLany"].ColumnName = "Lány";
|
|
if (adatDt.Columns.Contains("Osszes"))
|
|
{ adatDt.Columns["Osszes"].ColumnName = "Összesen"; }
|
|
else if (adatDt.Columns.Contains("Osszesen"))
|
|
{ adatDt.Columns["Osszesen"].ColumnName = "Összesen"; }
|
|
|
|
resultAdatDt.Columns.Add("Leírás", typeof(string));
|
|
foreach (DataRow item in evfolyamDt.Rows)
|
|
{
|
|
resultAdatDt.Columns.Add(item.Field<int>("ID").ToString());
|
|
}
|
|
resultAdatDt.Columns.Add("Összesen", typeof(string));
|
|
resultAdatDt.Columns.Add("Lány", typeof(string));
|
|
}
|
|
|
|
private DataTable GetColumnsTable(DataTable resultAdatDt, string leirasColumnWidthString, string otherColumnWidthString)
|
|
{
|
|
var resultColumnsDt = new DataTable();
|
|
resultColumnsDt.Columns.Add("field");
|
|
resultColumnsDt.Columns.Add("title");
|
|
resultColumnsDt.Columns.Add("width");
|
|
|
|
var leirasColumnIndex = 0;
|
|
|
|
for (int i = 0; i < resultAdatDt.Columns.Count; i++)
|
|
{
|
|
string columnName;
|
|
if (int.TryParse(resultAdatDt.Columns[i].ColumnName, out int evfolyamId))
|
|
{
|
|
resultAdatDt.Columns[i].ColumnName = GetColumnIdString(i.ToString());
|
|
columnName = ((EvfolyamTipusEnum)evfolyamId).GetDisplayName(TanevId);
|
|
}
|
|
else
|
|
{
|
|
columnName = resultAdatDt.Columns[i].ColumnName;
|
|
resultAdatDt.Columns[i].ColumnName = GetColumnIdString(i.ToString());
|
|
}
|
|
|
|
resultColumnsDt.Rows.Add(GetColumnIdString(i.ToString()), columnName, i == leirasColumnIndex ? leirasColumnWidthString : otherColumnWidthString);
|
|
}
|
|
|
|
return resultColumnsDt;
|
|
}
|
|
|
|
private void FillResultAdatRow<T>(DataTable resultAdatDt, DataTable adatDt, DataRow row, string adatSearchColumnName)
|
|
{
|
|
string columnName;
|
|
DataRow adatDtRow;
|
|
for (int i = 1; i < resultAdatDt.Columns.Count; i++)
|
|
{
|
|
columnName = "Evfolyam";
|
|
|
|
if (resultAdatDt.Columns[i].ColumnName == "Összesen")
|
|
{
|
|
columnName = "Összesen";
|
|
|
|
adatDtRow = adatDt.AsEnumerable().FirstOrDefault(r => r.Field<T>(adatSearchColumnName).ToString() == row[0].ToString());
|
|
}
|
|
else if (resultAdatDt.Columns[i].ColumnName == "Lány")
|
|
{
|
|
columnName = "Lány";
|
|
|
|
adatDtRow = adatDt.AsEnumerable().FirstOrDefault(r => r.Field<T>(adatSearchColumnName).ToString() == row[0].ToString());
|
|
}
|
|
else
|
|
{
|
|
adatDtRow = adatDt.AsEnumerable().FirstOrDefault(r => r.Field<int>(columnName).ToString() == resultAdatDt.Columns[i].ColumnName &&
|
|
r.Field<T>(adatSearchColumnName).ToString() == row[0].ToString());
|
|
}
|
|
|
|
row[resultAdatDt.Columns[i].ColumnName] = adatDtRow != null ? adatDtRow[columnName == "Evfolyam" ? "Darabszam" : columnName] : 0;
|
|
}
|
|
}
|
|
|
|
public DataSet GetIktSzandeknyilatkozatokGrid()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, handler =>
|
|
{
|
|
var dal = handler.NyomtatvanyokDal();
|
|
var ds = dal.GetIktSzandeknyilatkozatokGrid(TanevId, IntezmenyId);
|
|
|
|
var dt = ds.Tables[0];
|
|
dt.Columns.Add("IsElfogadottSzandeknyilatkozatSelect");
|
|
List<DataRow> rows = dt.Rows.Cast<DataRow>().ToList();
|
|
foreach (var row in rows)
|
|
{
|
|
row["IsElfogadottSzandeknyilatkozatSelect"] = row["IsElfogadottSzandeknyilatkozat"].ToString() == "T" ? 1 : 0;
|
|
}
|
|
return ds;
|
|
});
|
|
}
|
|
|
|
public DataSet GetHittanOraszamList(bool forJanuar = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
TanevCO tanevCo;
|
|
|
|
var tanev = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
tanevCo = tanev.GetTanevInfo();
|
|
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL(GridParameters);
|
|
|
|
// létszám dátum januárnál záróév február 1, nem januárnál kezdöév október 1
|
|
var letszamDatum = forJanuar ? new DateTime(tanevCo.UtolsoNap.Year, 2, 1) : new DateTime(tanevCo.KezdoNap.Year, 10, 1);
|
|
// kezdőnap januárnál záróév január 1, nem januárnál tanév első napja
|
|
var startDate = forJanuar ? new DateTime(tanevCo.UtolsoNap.Year, 1, 1) : tanevCo.KezdoNap;
|
|
// végenap januárnál tanév utolsó napja, nem januárnál kezdő év december 31
|
|
var endDate = forJanuar ? tanevCo.UtolsoNap : new DateTime(tanevCo.KezdoNap.Year, 12, 31);
|
|
|
|
return adatszolgaltatasokDal.GetHittanOraszamList(IntezmenyId,
|
|
TanevId,
|
|
(int)CsoportTipusEnum.HittanCsoport,
|
|
letszamDatum,
|
|
startDate,
|
|
endDate);
|
|
});
|
|
}
|
|
|
|
public void SaveHittanOraszam(int csoportId, int hittanTipusId, int darabszam, int letszam, DateTime startDate, DateTime endDate, bool forJanuar)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
IAdatszolgaltatasokDal adatszolgaltatasokDal = h.AdatszolgaltatasokDAL();
|
|
|
|
adatszolgaltatasokDal.SaveOrUpdateHittan(IntezmenyId, TanevId, FelhasznaloId, csoportId, hittanTipusId, darabszam, letszam, startDate, endDate, forJanuar);
|
|
});
|
|
}
|
|
|
|
public List<OsztalyCsoportLetszamItemCo> GetOsztalyCsoportLetszamCoList()
|
|
{
|
|
DataSet dataSet = GetOsztalyCsoportokLetszamai();
|
|
|
|
var result = new List<OsztalyCsoportLetszamItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new OsztalyCsoportLetszamItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public List<HittanOraszamItemCo> GetHittanOraszamCoList(bool forJanuarJunius)
|
|
{
|
|
DataSet dataSet = GetHittanOraszam(forJanuarJunius);
|
|
|
|
var result = new List<HittanOraszamItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new HittanOraszamItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetHittanOraszam(bool forJanuarJunius)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
TanevCO tanevCo;
|
|
var tanev = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
tanevCo = tanev.GetTanevInfo();
|
|
// létszám dátum januárnál záróév február 1, nem januárnál kezdőév október 1
|
|
var letszamDatum = forJanuarJunius ? new DateTime(tanevCo.UtolsoNap.Year, 2, 1) : new DateTime(tanevCo.KezdoNap.Year, 10, 1);
|
|
// kezdőnap januárnál záróév január 1, nem januárnál tanév első napja
|
|
var startDate = forJanuarJunius ? new DateTime(tanevCo.UtolsoNap.Year, 1, 1) : tanevCo.KezdoNap;
|
|
// végenap januárnál tanév utolsó napja, nem januárnál kezdő év december 31
|
|
var endDate = forJanuarJunius ? tanevCo.UtolsoNap : new DateTime(tanevCo.KezdoNap.Year, 12, 31);
|
|
|
|
var dal = h.AdatszolgaltatasokDAL(GridParameters);
|
|
return dal.GetHittanOraszam(IntezmenyId, TanevId, (int)CsoportTipusEnum.HittanCsoport, letszamDatum, startDate, endDate);
|
|
});
|
|
}
|
|
|
|
public DataSet OkosmeroEnergetikaiAdatKereses(int? feladatellatasiHely)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.AdatszolgaltatasokDAL(GridParameters);
|
|
return dal.GetOkosmeroEnergetikaiAdat(IntezmenyId, TanevId, feladatellatasiHely);
|
|
});
|
|
}
|
|
|
|
public MemoryStream GetOkosmeroEnergetikaiAdatExport(int? feladatellatasiHely)
|
|
{
|
|
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.AdatszolgaltatasokDAL(GridParameters).GetOkosmeroEnergetikaiAdat(IntezmenyId, TanevId, feladatellatasiHely));
|
|
|
|
var coList = new List<OkosmeroEnergetikaiAdatItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new OkosmeroEnergetikaiAdatItemCo(dataRow);
|
|
coList.Add(item);
|
|
}
|
|
|
|
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<OkosmeroEnergetikaiAdatItemCo>(OkosmeroEnergetikaiAdatItemCo.ExportAttributeId);
|
|
return SimpleExportLogic.GetExport("OkosmeroEnergetikaiAdat", simpleExportColumnCos, coList, TanevId);
|
|
}
|
|
}
|
|
}
|