kreta/Kreta.BusinessLogic/Helpers/AdatszolgaltatasokHelper.cs
2024-03-13 00:33:46 +01:00

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);
}
}
}