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

2144 lines
106 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Logic.Naplozas;
using Kreta.BusinessLogic.Utils;
using Kreta.Client.CoreApi;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Core.Validation.Exceptions;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.ParameterClasses;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Newtonsoft.Json;
using OfficeOpenXml;
using SDA.DataProvider;
namespace Kreta.BusinessLogic.Helpers
{
public class TanoraHelper : LogicBase
{
public TanoraHelper(IConnectionType connectionType) : base(connectionType) { }
public DataSet GetTantargyMegtartottTanorai(int tantargyId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra(GridParameters).GetTantargyMegtartottTanorai(tantargyId, TanevId)
);
}
public TanoraCO GetTanoraByOrarendiId(int oraId, DateTime oraDatum, bool isTanora, bool isTanuloOrGondviselo)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
return GetTantargyMegtartottTanoraiData(h, oraId, oraDatum, isTanora, isTanuloOrGondviselo);
});
}
public int GetOraEvesSorszamaSP(int tantargyId, int osztalyCsoportId, DateTime datum, int oraTulajdonosId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
return GetOraEvesSorszama(h, tantargyId, osztalyCsoportId, datum, oraTulajdonosId);
});
}
private int GetOraEvesSorszama(IDalHandler h, int tantargyId, int osztalyCsoportId, DateTime datum, int oraTulajdonosId)
{
var dataset = h.OrarendiOra().GetElozoOraAdatai(tantargyId, osztalyCsoportId, oraTulajdonosId, datum, IntezmenyId, TanevId);
if (dataset.Tables[0].Rows.Count < 1)
{
return 0;
}
return dataset.Tables[0].Rows[0].Field<int>("EvesSorszam");
}
public string GetTemaEvesOraSorszamhoz(int tantargyId, int osztalyCsoportId, int tanarId, int sorszam)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var tanmenetDal = h.Tanmenet();
return tanmenetDal.GetTemaEvesOraSorszamhoz(tantargyId, osztalyCsoportId, tanarId, sorszam);
});
}
public (int? orarendiOraId, int? hetirend) GetOrarendIdAndHetirend(int tanitasiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanitasiOraDal = h.TanitasiOra();
var tanitasiOra = tanitasiOraDal.Get(tanitasiOraId);
if (tanitasiOra.OrarendiOraGroupId.IsEntityId())
{
var orarendiOraId = tanitasiOraDal.GetOrarendiOraByTanoraGroupId(tanitasiOra.OrarendiOraGroupId ?? 0, tanitasiOra.Datum);
if (orarendiOraId.IsEntityId())
{
var oOrarendiOra = h.OrarendiOra().Get(orarendiOraId);
return (oOrarendiOra.ID, oOrarendiOra.Hetirend);
}
}
return ((int?)null, (int?)null);
});
}
public TanoraCO GetTanorakAdatok(int tanitasiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
ITanitasiOraDal tanitasiOraDal = h.TanitasiOra();
IOrarendiOraDal orarendiOraDal = h.OrarendiOra();
ITanitasiOra tanitasiOra = tanitasiOraDal.Get(tanitasiOraId);
if (tanitasiOra.Torolt)
{
throw new BlException(ErrorResource.ATanitasiOratIdokozbenToroltekKerjukFrissitsen);
}
var tanoraCo = new TanoraCO
{
Datum = tanitasiOra.Datum,
TeremNev = tanitasiOra.Terem.Nev,
HetNapja = tanitasiOra.HetNapja,
HetNapjaNev = tanitasiOra.HetNapja.GetDisplayName<HetNapjaTipusEnum>(TanevId),
ID = tanitasiOra.ID,
Oraszam = tanitasiOra.Oraszam ?? 0,
OsztalyCsoportNev = tanitasiOra.OsztalyCsoport.Nev,
TanarNev = tanitasiOra.OraTulajdonos?.NyomtatasiNev,
TantargyNev = tanitasiOra.Tantargy.Nev,
Tema = tanitasiOra.Tema,
Megtartott = tanitasiOra.Megtartott,
OraKezd = tanitasiOra.OraKezdete,
OraVeg = tanitasiOra.OraVege,
Terem = tanitasiOra.TeremId,
OsztCsop = tanitasiOra.OsztalyCsoportId,
Targy = tanitasiOra.TantargyId,
AdminAltalKiirt = tanitasiOra.AdminAltalKiirt,
CsengetesiRendOraId = tanitasiOra.CsengetesirendOraId,
Sorszamozando = tanitasiOra.Sorszamozando,
HaziFeladat = tanitasiOra.HaziFeladat,
Megjegyzes = tanitasiOra.Megjegyzes,
Tanar = tanitasiOra.TanarId,
HelyettesitesOka = tanitasiOra.HelyettesitesOka,
CsengetesiRendID = tanitasiOra.CsengetesirendId,
DigEszkozTipusId = tanitasiOra.DigEszkozTipusId,
DigPlatformTipusId = tanitasiOra.DigPlatformTipusId,
DigTamEszkozTipusIdList = tanitasiOra.TanitasiOraDigTamEszkoz.Where(x => !x.Torolt).Select(x => x.DigTamEszkozTipusId).ToList(),
HelyettesitesTipus = tanitasiOra.HelyettesitesTipusa,
BejegyIdo = tanitasiOra.BejegyzesIdeje
};
if (tanitasiOra.TanulasiEgysegId.IsEntityId())
{
tanoraCo.TanulasiEgysegId = tanitasiOra.TanulasiEgysegId;
}
if (!tanitasiOra.Oraszam.HasValue)
{
tanoraCo.OraIdopont = $"{tanoraCo.OraKezd.ToShortTimeString()} - {tanoraCo.OraVeg.ToShortTimeString()}";
}
if (tanitasiOra.FoglalkozasId.IsEntityId())
{
tanoraCo.Fogl = tanitasiOra.FoglalkozasId;
IFoglalkozas foglalkozas = GetFoglalkozas(h.Foglalkozas(), tanitasiOra.FoglalkozasId);
tanoraCo.FoglalkozasNev = foglalkozas != null ? tanitasiOra.Foglalkozas.Nev : string.Empty;
}
if (tanitasiOra.OrarendiOraGroupId.IsEntityId())
{
int orarendiOraId = tanitasiOraDal.GetOrarendiOraByTanoraGroupId(tanitasiOra.OrarendiOraGroupId ?? 0, tanitasiOra.Datum);
if (orarendiOraId.IsEntityId())
{
IOrarendiOra oOrarendiOra = orarendiOraDal.Get(orarendiOraId);
tanoraCo.OrarendiOra = oOrarendiOra.ID;
tanoraCo.Hetirend = oOrarendiOra.Hetirend;
var helyettesites = oOrarendiOra.HelyettesTanarok.SingleOrDefault(x => !x.Torolt && tanitasiOra.Datum == x.HelyettesitesNapja);
if (helyettesites != null)
{
tanoraCo.HelyettesitesElrendelesenekIdopontja = h.HelyettesitesDAL().GetHelyettesitesElrendelese(helyettesites.ID);
}
}
tanoraCo.OrarendiOraGroupId = tanitasiOra.OrarendiOraGroupId.Value;
}
tanoraCo.EvesOraSorszam = GetOraEvesSorszamaSP(tanitasiOra.TantargyId, tanitasiOra.OsztalyCsoportId, tanitasiOra.OraKezdete, tanitasiOra.TanarId);
tanoraCo.LegutobbiModositasIdopontja = tanitasiOraDal.GetTanitasiOraLegutobbiModositasa(tanitasiOraId);
return tanoraCo;
});
}
/// INFO @DevKornel: Mobil használja
public NaplozasResultCo TanoraNaplozas(TanoraCO tanoraCo, List<MulasztasokCo> mulasztasCo, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
{
var naplozasResult = new NaplozasResultCo();
ITanitasiOra tanitasiOra = null;
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
tanitasiOra = SaveorUpdatTanoraBasedOnCo(h, tanoraCo, FelhasznaloId);
naplozasResult.TanitasiOraId = tanitasiOra.ID;
if (mulasztasCo != null && mulasztasCo.Count > 0)
{
var parhuzamosOraKezeles = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.A_foglalkozasok_mulasztasi_adatai_megadasanal_a_parhuzamos_orakkal_valo_utkozes_vizsgalata);
var osztalycsoportTanuloi = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).GetOsztalyCsoportTanuloi(tanoraCo.OsztCsop.Value, tanoraCo.Datum);
var tiltoList = new List<int>();
var mulasztasDal = h.MulasztasDal();
if (parhuzamosOraKezeles)
{
tiltoList = mulasztasDal.GetParhuzamosOraNaplozottMulasztasTanuloId(tanoraCo.OraKezd, tanoraCo.OraVeg, tanoraCo.ID ?? -1).Tables[0].AsEnumerable()
.Select(r => r.Field<int>("TanuloId"))
.ToList();
}
var igazolasDal = h.IgazolasDal();
var igazolasokAzAdottNapra = igazolasDal.GetIgazolasokByDate(tanoraCo.OraKezd, TanevId, IntezmenyId).Tables[0].AsEnumerable()
.Select(dataRow => new { TanuloId = dataRow.Field<int>("TanuloId"), Tipus = dataRow.Field<int>("Tipus") }).ToList();
var mulasztasList = new List<MulasztasBulkUpdateModel>();
mulasztasCo = mulasztasCo.Where(co => osztalycsoportTanuloi.ContainsKey(co.TanuloId.Value)).ToList();
foreach (var co in mulasztasCo)
{
var mulasztas = new MulasztasBulkUpdateModel(co);
var igazolas = igazolasokAzAdottNapra.Find(a => a.TanuloId == mulasztas.OraTanuloId);
if (igazolas != null && (mulasztas.Tipus == (int)MulasztasTipusEnum.hianyzas || mulasztas.Tipus == (int)MulasztasTipusEnum.keses))
{
mulasztas.Igazolt = "T";
mulasztas.IgazolasTipusa = igazolas.Tipus;
}
else
{
if (mulasztas.Tipus == (int)MulasztasTipusEnum.szabadsag)
{
mulasztas.Igazolt = "T";
mulasztas.IgazolasTipusa = (int)IgazolasTipusEnum.szabadsag;
}
else if (mulasztas.Tipus == (int)MulasztasTipusEnum.tappenz)
{
mulasztas.Igazolt = "T";
mulasztas.IgazolasTipusa = (int)IgazolasTipusEnum.Tappenz;
}
else if (mulasztas.Tipus == (int)MulasztasTipusEnum.betegszabadsag)
{
mulasztas.Igazolt = "T";
mulasztas.IgazolasTipusa = (int)IgazolasTipusEnum.betegszabadsag;
}
else
{
var mulEntity = co.ID.IsEntityId() ? mulasztasDal.Get(co.ID.Value) : null;
if (mulEntity != null && mulEntity.Igazolt != null)
{
mulasztas.Igazolt = mulEntity.Igazolt.Value.ToSDABoolean();
mulasztas.IgazolasTipusa = mulEntity.IgazolasTipusa;
}
else
{
mulasztas.Igazolt = null;
mulasztas.IgazolasTipusa = null;
}
}
}
mulasztas.TanitasiOrakId = tanitasiOra.ID;
if (tiltoList.Contains(mulasztas.OraTanuloId.Value))
{
if (mulasztas.Tipus == (int)MulasztasTipusEnum.hianyzas || mulasztas.Tipus == (int)MulasztasTipusEnum.keses)
{
mulasztas.Tipus = (int)MulasztasTipusEnum.ures;
mulasztas.KesesPercben = null;
}
}
if (co.ID.HasValue)
{
if (mulasztas.Tipus == (int)MulasztasTipusEnum.jelenlet)
{
mulasztas.Op = MulasztasBulkUpdateModel.DbMuvelet.Delete;
}
else
{
mulasztas.Op = MulasztasBulkUpdateModel.DbMuvelet.Update;
}
mulasztasList.Add(mulasztas);
}
else if (mulasztas.Tipus != (int)MulasztasTipusEnum.jelenlet)
{
mulasztas.Op = MulasztasBulkUpdateModel.DbMuvelet.Insert;
mulasztasList.Add(mulasztas);
}
var helper = new FeljegyzesHelper(new DalHandlerConnectionType(ConnectionType, h));
helper.SaveAutomatikusFeljegyzesek(h, co, tanoraCo.Targy.Value, tanitasiOra);
}
mulasztasDal.BulkSaveMulastas(JsonConvert.SerializeObject(mulasztasList), FelhasznaloId, DateTime.Now, IntezmenyId, TanevId);
}
});
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
if (!string.IsNullOrWhiteSpace(tanoraCo.HaziFeladat) || tanoraCo.HaziFeladatId.HasValue)
{
try
{
naplozasResult.HazifeladatId = SaveNaplozasHaziFeladat(h, tanoraCo, tanitasiOra, fileServiceHelper, coreApiClient);
}
catch (ValidationException e)
{
naplozasResult.DKTHiba = true;
}
}
if (tanoraCo.CheckedOpenBoardFileIdList != null && !(tanoraCo.MobilNaplozott ?? false))
{
h.OraFile().UpdateLathatoFileok(IntezmenyId, TanevId, tanoraCo.ID, tanoraCo.OrarendiOra, tanoraCo.Datum.Date, tanoraCo.CheckedOpenBoardFileIdList);
}
});
return naplozasResult;
}
public DataSet GetDiakTanorai(int felhasznaloId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra(GridParameters).getTanuloTanorai(felhasznaloId)
);
}
public List<TanulasiEgysegCo> GetTanulasiEgysegek()
{
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra().GetTanulasiEgysegDataSet(TanevId)
);
var result = new List<TanulasiEgysegCo>();
foreach (DataRow dataRow in ds.Tables[0].Rows)
{
var item = new TanulasiEgysegCo(dataRow);
result.Add(item);
}
return result;
}
public DataSet GetTanorak(TanoraKeresoCO keresoProfil)
{
var dataSet = Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra(GridParameters).GetTanorakDataSet(ConvertCOToPCO(keresoProfil), TanevId, IntezmenyId)
);
dataSet.Tables[0].Columns.Add("OraSorszTxt");
foreach (DataRow row in dataSet.Tables[0].Rows)
{
int oraSorszam = SDAConvert.ToInt32(row["OraSorsz"]);
row["OraSorszTxt"] = oraSorszam < 0 ? OrarendResource.ElmaradtOra : oraSorszam == 0 ? "-" : oraSorszam.ToString();
if (oraSorszam < 0)
{
row["Tema"] = OrarendResource.ElmaradtOra;
}
}
return dataSet;
}
public DataSet GetTanorak(TanorakSearchCO co)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra(GridParameters).GetTanorakForTanarHaladasiNaplo(ConvertTanorakSearchCOToTanoraKeresesePCO(co), TanevId, IntezmenyId)
);
}
public void SaveAdminNemMegtartottOra(int orarendiOraId, DateTime kezdDatum, DateTime zaroDatum, string megjegyzes = null)
{
try
{
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var tanitasiOradal = h.TanitasiOra();
var orarendiOradal = h.OrarendiOra();
var oTanitasiOra = tanitasiOradal.Get();
var oOra = orarendiOradal.Get(orarendiOraId);
oTanitasiOra.HetNapja = oOra.HetNapja;
if (oOra.CsengetesirendId.HasValue)
{
oTanitasiOra.Oraszam = oOra.Oraszam.Value;
oTanitasiOra.CsengetesirendId = oOra.CsengetesirendId;
}
oTanitasiOra.FoglalkozasId = oOra.FoglalkozasId;
oTanitasiOra.CsengetesirendOraId = oOra.CsengetesirendOraId;
//oTanitasiOra.OrarendiOraId = oOra.ID; //--> K.Hunor: Elmaradt oranal NULL-t kell menteni, maskepp nem lehet torolni majd az orarendi orat
oTanitasiOra.OrarendiOraGroupId = oOra.OrarendiOraGroupId;
oTanitasiOra.OsztalyCsoportId = oOra.OsztalyCsoportId;
oTanitasiOra.TantargyId = oOra.TantargyId;
oTanitasiOra.BejegyzesIdeje = DateTime.Now;
oTanitasiOra.Datum = Convert.ToDateTime(kezdDatum.ToShortDateString());
oTanitasiOra.OraKezdete = kezdDatum;
oTanitasiOra.OraVege = zaroDatum;
var naptariNapDal = h.NaptariNap();
var naptariNapId = naptariNapDal.GetNaptariNapId(new DateTime(oTanitasiOra.Datum.Year, oTanitasiOra.Datum.Month, oTanitasiOra.Datum.Day));
if (naptariNapId.HasValue)
{
oTanitasiOra.NaptariNapId = naptariNapId.Value;
var nap = naptariNapDal.Get(naptariNapId.Value);
oTanitasiOra.HetSorszama = nap.HetSorszama;
}
var dal = h.Felhasznalo();
int adminUserId = dal.GetFelhasznaloIdByUserName("admin", IntezmenyId, TanevId);
oTanitasiOra.NapSorszama = oTanitasiOra.Datum.DayOfYear;
oTanitasiOra.OraTulajdonosId = adminUserId;
oTanitasiOra.IKTTanora = oOra.IKTTanora;
oTanitasiOra.NemSzakrendszeruOra = oOra.NemSzakrendszeruOra;
oTanitasiOra.TAMOPOra = oOra.TAMOPOra;
oTanitasiOra.KIPOra = oOra.KIPOra;
oTanitasiOra.VEKOP73317 = oOra.VEKOP73317;
oTanitasiOra.KAPOra = oOra.KAPOra;
oTanitasiOra.Tulora = oOra.Tulora;
oTanitasiOra.Bontott = oOra.Bontott;
oTanitasiOra.ParhuzamosOra = oOra.ParhuzamosOra;
oTanitasiOra.TIOP12 = oOra.TIOP12;
oTanitasiOra.IPRTanora = oOra.IPRTanora;
oTanitasiOra.Kooperativ = oOra.Kooperativ;
oTanitasiOra.MindennaposTestneveles = oOra.MindennaposTestneveles;
oTanitasiOra.Meres = oOra.Meres;
oTanitasiOra.NemzetisegiOra = oOra.NemzetisegiOra;
oTanitasiOra.IsFelnottoktatasiSzerzodes = oOra.IsFelnottoktatasiSzerzodes;
oTanitasiOra.Differencialt = oOra.Differencialt;
oTanitasiOra.Drama = oOra.Drama;
oTanitasiOra.TeremId = oOra.Terem.ID;
oTanitasiOra.Sorszamozando = false;
oTanitasiOra.Megtartott = false;
oTanitasiOra.Megjegyzes = megjegyzes ?? string.Empty;
oTanitasiOra.Tema = string.Empty;
oTanitasiOra.HaziFeladat = null;
oTanitasiOra.AdminAltalKiirt = true;
oTanitasiOra.TanarId = oOra.TanarId;
oTanitasiOra.EFOP23517 = oOra.EFOP23517;
tanitasiOradal.Insert(oTanitasiOra);
SendOrarendValtozasNotification(h, orarendiOraId, kezdDatum);
});
}
catch (UniqueKeyViolationException)
{
throw new BlException(OrarendResource.ATanitasioraMarRogzitesreKerult + " " + OrarendResource.KerjukFrissitseAzOldalt);
}
}
private void SendOrarendValtozasNotification(IDalHandler h, int orarendiOraId, DateTime datum)
{
var orarendiOraHelper = new OrarendiOraHelper(new DalHandlerConnectionType(ConnectionType, h));
orarendiOraHelper.OrarendValtozasCacheMentes(orarendiOraId, datum);
}
public void NaplozasTorlese(int tanitasiOraId, bool isElmaradtOraFigyeles = false)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
if (isElmaradtOraFigyeles && IsElmaradtOraAndPedagogusHasNemkotottMunkaido(h, tanitasiOraId))
{
var tanarNev = GetOratTartoPedagogus(h, tanitasiOraId);
throw new BlException(string.Format(OrarendResource.OraNemAllithatoVisszaMertAzAlkalmazottnakRogzitettTevekenysegeVan, tanarNev));
}
var dal = h.TanitasiOra();
new DktFeladatHelper(new DalHandlerConnectionType(ConnectionType, h)).DeleteDktFeladatTanitasiOra(tanitasiOraId);
dal.Delete(tanitasiOraId);
new TanoraHelper(new DalHandlerConnectionType(ConnectionType, h)).UpdateTanitasiOraEvesSorszamTanitasiOra(tanitasiOraId);
});
}
public IDictionary<string, string> GetTemaIdAndNameForNaplozasDDL(int targyID = -1, int osztcsopID = -1, int tanarID = -1, int? szervezetTipusId = null) //Nem CreateDropDownContent, mert itt nem Value szerinti rendezés kell
{
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Tanmenet(GridParameters);
return dal.GetTemakByTargyEsOsztCsop(targyID, osztcsopID, tanarID);
});
IDictionary<string, string> result = new Dictionary<string, string>();
if (ds.Tables.Count < 1)
return result;
var dt = ds.Tables[0];
/* Ez a Whitespace-es megoldás tudatosan lett belerakva,
* mert a másik oldalon mikor a táblába íródik az érték
* akkor trimelve van a szöveg. #OM-534 */
string ws = " ";
foreach (var item in dt.AsEnumerable().OrderBy(r => r.Field<int>("Sorsz")))
{
string temaText = item.Field<string>("Tema").ReplaceMultipleSpacesAndTrim();
string temaId = item.Field<int>("ID").ToString();
if (!result.ContainsKey(temaText))
{
result.Add(szervezetTipusId.HasValue ? temaId : temaText, temaText);
}
else
{
result.Add(szervezetTipusId.HasValue ? temaId : temaText + ws, temaText);
ws += " ";
}
}
return result;
}
public bool TanitasiOraTeremUtkozesEllenorzes(int tanitasiOraID, int orarendiOraID, int teremID, int hetNapja, int hetirend, DateTime oraKezdete, DateTime oraVege)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
h.TanitasiOra().TanitasiOraTeremUtkozesEllenorzes(IntezmenyId, tanitasiOraID, orarendiOraID, teremID, hetNapja, hetirend, oraKezdete, oraVege)
);
}
public int GetTanitasiOraFoglalkozasa(int oraID)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return h.TanitasiOra().Get(oraID).FoglalkozasId;
});
}
public int GetTanitasiCsengetesiRendOraIdja(int oraID)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.TanitasiOra();
var ora = dal.Get(oraID);
if (ora.CsengetesirendOraId.HasValue)
return ora.CsengetesirendOraId.Value;
return -1;
});
}
public IDictionary<string, string> GetMegtartottOraByDatumAndOsztalyFonok(DateTime datum, int ofoId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
LogicUtil.CreateDropdownContent(h.TanitasiOra().GetMegtartottOraByDatumAndOsztalyFonok(datum, ofoId), "ID", "Nev", null)
);
}
public string GetOsztalyEsTanarOrai(int tanarId, int osztalycsoportId, DateTime oraKezdete, DateTime oraVege, int? modositottTanitasiOraId, int? modositottOrarendiOraId)
{
StringBuilder errorMsg = new StringBuilder();
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.OrarendiOra();
var ds = dal.GetOsztalyEsTanarOraiUtkozes(IntezmenyId, TanevId, tanarId,
osztalycsoportId, oraKezdete, oraVege);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
ITanitasiOra tanora = h.TanitasiOra().Get();
IOrarendiOra orarendiora = h.OrarendiOra().Get();
var orarendiOraId = row.Field<int?>("OrarendiOraId");
var tanitasiOraId = row.Field<int?>("TanitasiOraId");
var rowOsztalyCsoportId = row.Field<int?>("OsztalyCsoportId");
var nemkotottMunkaido = row.Field<int?>("NemKotottMunkaido");
var nemkotottMunkaidoMsg = string.Empty;
if (nemkotottMunkaido.HasValue && nemkotottMunkaido.Value > 0)
{
nemkotottMunkaidoMsg = OrarendResource.TanoraFelvitelUtkozesNemKotottMunkaido;
}
var tanitasiOraMsg = string.Empty;
if (tanitasiOraId.HasValue && tanitasiOraId.Value > 0 && tanitasiOraId.Value != modositottTanitasiOraId)
{
tanora = h.TanitasiOra().Get(tanitasiOraId.Value);
if (tanora.Megtartott)
{
StringBuilder tanarString = new StringBuilder();
if (!string.IsNullOrWhiteSpace(tanarString.ToString()))
{
tanarString.Append(" ,").Append(tanora.Tanar.NyomtatasiNev);
}
else
{
tanarString.Append(tanora.Tanar.NyomtatasiNev);
}
tanitasiOraMsg = string.Format(OrarendResource.TanoraFelvitelUtkozesTanitasiOra, tanora.OsztalyCsoport.Nev, tanora.Tantargy.Nev, tanarString);
}
}
var orarendiOraMsg = string.Empty;
if (orarendiOraId.HasValue && orarendiOraId.Value > 0 && orarendiOraId.Value != modositottOrarendiOraId && !tanitasiOraId.HasValue)
{
orarendiora = h.OrarendiOra().Get(orarendiOraId.Value);
if (!IsOrarendiOraHasElmaradtOra(oraKezdete.Date, orarendiora.OrarendiOraGroupId.Value))
{
if (orarendiora.CsengetesirendId.HasValue)
{
//Órarendi óra
orarendiOraMsg = string.Format(OrarendResource.TanoraFelvitelUtkozesOrarendiOra, orarendiora.OsztalyCsoport.Nev, orarendiora.Tantargy.Nev, orarendiora.Tanar.NyomtatasiNev);
}
else
{
//Napirendi óra
orarendiOraMsg = string.Format(OrarendResource.TanoraFelvitelUtkozesNapirendiOra, orarendiora.OsztalyCsoport.Nev, orarendiora.Tantargy.Nev, orarendiora.Tanar.NyomtatasiNev);
}
}
}
if (!string.IsNullOrWhiteSpace(orarendiOraMsg) || !string.IsNullOrWhiteSpace(tanitasiOraMsg) || !string.IsNullOrWhiteSpace(nemkotottMunkaidoMsg))
{
errorMsg.Append($"<br />{orarendiOraMsg}{tanitasiOraMsg}{nemkotottMunkaidoMsg}");
}
}
}
return errorMsg.ToString();
});
}
public byte[] GetHelyettesitettTanorakExcelExport(TanoraKeresoCO searchModel)
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.GetHelyettesitettTanorakForExport(TanevId, IntezmenyAzonosito, ConvertCOToPCO(searchModel));
});
return GetTanorakExcelExport(TanorakExportTipusEnum.Helyettesitett, dataSet.Tables[0], 13, OrarendResource.HelyettesitettTanorak, new Dictionary<int, double> { { 11, 35.14 } });
}
public byte[] GetElmaradtTanorakExcelExport(TanoraKeresoCO searchModel)
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.GetElmaradtTanorakForExport(TanevId, IntezmenyAzonosito, ConvertCOToPCO(searchModel));
});
return GetTanorakExcelExport(TanorakExportTipusEnum.Elmaradt, dataSet.Tables[0], 13, OrarendResource.ElmaradtTanorak);
}
public byte[] GetMegtartottTanorakExcelExport(TanoraKeresoCO searchModel)
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.GetMegtartottTanorakForExport(TanevId, IntezmenyAzonosito, ConvertCOToPCO(searchModel));
});
return GetTanorakExcelExport(TanorakExportTipusEnum.Megtartott, dataSet.Tables[0], 13, OrarendResource.MegtartottTanorak);
}
public DataSet GetMegtartottTanorakExport(TanoraKeresoCO searchModel, bool isShowId = false)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dataSet = h.TanitasiOra().GetMegtartottTanorakForExport(TanevId, IntezmenyAzonosito, ConvertCOToPCO(searchModel), isShowId);
TanoraAdatokSorrendezeseExcelbe(dataSet.Tables[0], 13, TanorakExportTipusEnum.Megtartott);
return dataSet;
});
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloFeljegyzesek(int tanoraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra(GridParameters);
return dal.GetTanuloFeljegyzesek(tanoraId);
});
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloMulasztasok(int tanoraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra(GridParameters);
return dal.GetTanuloMulasztasok(tanoraId);
});
}
public bool IsValidTanoraId(int tanoraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
try
{
var tanora = h.TanitasiOra().Get(tanoraId);
if (tanora.Torolt)
return false;
}
catch
{
return false;
}
return true;
});
}
private bool IsOrarendiOraHasElmaradtOra(DateTime date, int orarendiOraGroupId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
return h.OrarendiOra().IsOrarendiOraHasElmaradtOra(date, orarendiOraGroupId);
});
}
private TanoraCO GetTantargyMegtartottTanoraiData(IDalHandler h, int oraId, DateTime oraDatum, bool isTanora, bool isTanuloOrGondviselo)
{
var newOra = new TanoraCO();
var orarendiOraDal = h.OrarendiOra();
var tanmenetDal = h.Tanmenet();
var tanitasiOraDal = h.TanitasiOra();
var foglalkozasDal = h.Foglalkozas();
var ocsHelper = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h));
IOrarendiOra oOrarendiOra = orarendiOraDal.Get();
ITanitasiOra oTanitasiOra = tanitasiOraDal.Get();
var dktFeladatHelper = new DktFeladatHelper(new DalHandlerConnectionType(ConnectionType, h));
if (!isTanora)
{
oOrarendiOra = orarendiOraDal.Get(oraId);
#region Órarendi órából jövő adatok
newOra.OrarendiOra = oOrarendiOra.ID;
newOra.OrarendiOraGroupId = oOrarendiOra.OrarendiOraGroupId ?? 0;
newOra.HetNapja = oOrarendiOra.HetNapja;
newOra.HetNapjaNev = oOrarendiOra.HetNapja.GetDisplayName<HetNapjaTipusEnum>(TanevId);
newOra.Hetirend = oOrarendiOra.Hetirend;
newOra.HetirendNev = oOrarendiOra.Hetirend.GetDisplayName<HetiRendTipusEnum>(TanevId);
newOra.IktTanora = oOrarendiOra.IKTTanora;
newOra.NemSzakrendszeru = oOrarendiOra.NemSzakrendszeruOra;
if (oOrarendiOra.Oraszam.HasValue)
{
newOra.Oraszam = oOrarendiOra.Oraszam.Value;
}
newOra.CsengetesiRendID = oOrarendiOra.CsengetesirendId;
newOra.Sorszamozando = oOrarendiOra.Sorszamozando;
newOra.TAMOP = oOrarendiOra.TAMOPOra;
newOra.KIPOra = oOrarendiOra.KIPOra;
newOra.VEKOP73317 = oOrarendiOra.VEKOP73317;
newOra.KAPOra = oOrarendiOra.KAPOra;
newOra.Tulora = oOrarendiOra.Tulora;
newOra.Bontott = oOrarendiOra.Bontott;
newOra.NemzetisegiOra = oOrarendiOra.NemzetisegiOra;
newOra.IsFelnottoktatasiSzerzodes = oOrarendiOra.IsFelnottoktatasiSzerzodes;
newOra.MindennaposTestneveles = oOrarendiOra.MindennaposTestneveles;
newOra.IPRTanora = oOrarendiOra.IPRTanora;
newOra.Differencialt = oOrarendiOra.Differencialt;
newOra.Kooperativ = oOrarendiOra.Kooperativ;
newOra.Meres = oOrarendiOra.Meres;
newOra.Drama = oOrarendiOra.Drama;
newOra.Tiop = oOrarendiOra.TIOP12;
newOra.ParhuzamosOra = oOrarendiOra.ParhuzamosOra;
newOra.Multikulturalis = oOrarendiOra.MultikulturalisOra;
newOra.EFOP32317 = oOrarendiOra.EFOP32317;
newOra.KomplexOra = oOrarendiOra.KomplexOra;
newOra.GINOP623 = oOrarendiOra.GINOP623;
newOra.EFOP31716EselyteremtesAKoznevelesben = oOrarendiOra.EFOP31716;
newOra.EFOP33717 = oOrarendiOra.EFOP33717;
newOra.TIOP11112120120001 = oOrarendiOra.TIOP1111212012001;
newOra.DFHT = oOrarendiOra.IsDfhtOra;
newOra.Rahangolodas = oOrarendiOra.IsRahangolodas;
newOra.Testmozgas = oOrarendiOra.IsTestmozgasAlapuAlprogram;
newOra.Muveszet = oOrarendiOra.IsMuveszetAlapuAlprogram;
newOra.Eletgyakorlat = oOrarendiOra.IsEletgyakorlatAlapuAlprogram;
newOra.Logika = oOrarendiOra.IsLogikaAlapuAlprogram;
newOra.TeOrad = oOrarendiOra.IsTeorad;
newOra.DigitalisAlapProgram = oOrarendiOra.IsDigitalisAlapuAlprogram;
newOra.EFOP23517201700038Miapalya = oOrarendiOra.EFOP23517;
GetOrarendiOraOrTanitasiOraTulajdonsag(newOra, isTanora);
newOra.Terem = oOrarendiOra.Terem != null ? (int?)oOrarendiOra.TeremId : null;
newOra.TeremNev = oOrarendiOra.Terem?.Nev;
newOra.Fogl = oOrarendiOra.FoglalkozasId;
if (oOrarendiOra.FoglalkozasId != -1)
{
var foglalkozas = GetFoglalkozas(foglalkozasDal, oOrarendiOra.FoglalkozasId); //csak addig kell, amíg a foglalkozások kivezetése zajlik
if (foglalkozas != null)
{
newOra.FoglalkozasNev = foglalkozas.FoglalkozasTipusa.GetDisplayName<FoglalkozasTipusEnum>(TanevId);
}
}
newOra.OsztalyfonokiOra = oOrarendiOra.Tantargy.TargyKategoria == (int)TargyKategoriaTipusEnum.osztalyfonoki_elet_es_palyatervezes;
var tanoraId = tanitasiOraDal.GetTanoraByOrarendiOraGroupId(oOrarendiOra.OrarendiOraGroupId ?? 0, oraDatum);
if (tanoraId > 0)
{
oTanitasiOra = tanitasiOraDal.Get(tanoraId);
newOra.Megtartott = oTanitasiOra.Megtartott;
}
newOra.IsTanoranKivuli = !oOrarendiOra.CsengetesirendId.HasValue;
if (!oOrarendiOra.CsengetesirendId.HasValue)
{
newOra.OraKezd = new DateTime(oraDatum.Year, oraDatum.Month, oraDatum.Day,
oOrarendiOra.OraKezdete.Value.Hour, oOrarendiOra.OraKezdete.Value.Minute, 0, 0);
newOra.OraVeg = new DateTime(oraDatum.Year, oraDatum.Month, oraDatum.Day,
oOrarendiOra.OraVege.Value.Hour, oOrarendiOra.OraVege.Value.Minute, 0, 0);
}
else
{
var kezdetOraPerc = oOrarendiOra.OraKezdete;
var vegeOraPerc = oOrarendiOra.OraVege;
newOra.OraKezd = new DateTime(oraDatum.Year, oraDatum.Month, oraDatum.Day, kezdetOraPerc.Value.Hour,
kezdetOraPerc.Value.Minute, 0, 0);
newOra.OraVeg = new DateTime(oraDatum.Year, oraDatum.Month, oraDatum.Day, vegeOraPerc.Value.Hour,
vegeOraPerc.Value.Minute, 0, 0);
}
var hetSzam = 0;
var hetHelper = new NaptariHetHelper(new DalHandlerConnectionType(ConnectionType, h));
hetSzam = hetHelper.GetNaptariHetSorszamByDate(oraDatum);
var helyettesites = oOrarendiOra.HelyettesTanarok.SingleOrDefault(x => !x.Torolt && x.HetSorszama == hetSzam && oraDatum.Date == x.HelyettesitesNapja.Date);
if (helyettesites != null)
{
newOra.Helyettesito = helyettesites.HelyettesTanarokId;
if (newOra.Helyettesito.HasValue)
{
newOra.HelyettesitesTipus = helyettesites.HelyettesitesTipus;
newOra.HelyettesitesOka = helyettesites.HelyettesitesOka;
newOra.HelyettesitesId = helyettesites.ID;
newOra.HelyettesIsTulora = helyettesites.IsTulora;
}
}
newOra.EvesOraSorszam =
GetOraEvesSorszama(h, oOrarendiOra.TantargyId, oOrarendiOra.OsztalyCsoportId, newOra.OraKezd, oOrarendiOra.TanarId);
if (newOra.HelyettesitesTipus == (int)HelyettesitesTipusEnum.nem_szakszeru_helyettesites_felugyelet_ ||
newOra.HelyettesitesTipus == (int)HelyettesitesTipusEnum.osszevont_felugyelet)
{
if (new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando))
{
newOra.EvesOraSorszam += 1;
newOra.Sorszamozando = true;
}
else
{
newOra.Sorszamozando = false;
}
}
else
{
newOra.EvesOraSorszam += 1;
}
newOra.TemaTanmenetId = GetTemaId(h, newOra.EvesOraSorszam.Value, (int)newOra.Fogl);
string elozoOraTema = null;
newOra.Tema = tanmenetDal.GetTemaEvesOraSorszamhoz(oOrarendiOra.TantargyId, oOrarendiOra.OsztalyCsoportId, oOrarendiOra.TanarId, newOra.EvesOraSorszam.Value, elozoOraTema);
Enum.TryParse(ocsHelper.GetOsztalyCsoportFeladatKategoria(oOrarendiOra.OsztalyCsoportId).ToString(), out OktNevelesiKategoriaEnum kategoria);
var hazi = dktFeladatHelper.GetOrarendiOraHaziFeladatDetail(oOrarendiOra.ID, oraDatum, isTanuloOrGondviselo, null, kategoria);
if (hazi.Id.HasValue)
{
newOra.HaziFeladatId = hazi.Id;
newOra.HaziFeladat = hazi.Szoveg;
newOra.HaziHatarideje = hazi.Hatarido;
if (hazi.Csatolmanyok.Count == 1)
newOra.HaziFeladatCsatolmanyId = hazi.Csatolmanyok.First().Key;
}
#endregion Órarendi órából jövő adatok
}
else
{
oTanitasiOra = tanitasiOraDal.Get(oraId);
if (oTanitasiOra.Torolt)
{
throw new BlException(ErrorResource.ATanitasiOratIdokozbenToroltekKerjukFrissitsen, BlExceptionType.ModelValidacio);
}
if (oTanitasiOra.OrarendiOraGroupId > 0)
{
int ooId = tanitasiOraDal.GetOrarendiOraByTanoraGroupId(oTanitasiOra.OrarendiOraGroupId.Value, oTanitasiOra.Datum);
if (ooId > 0)
{
oOrarendiOra = orarendiOraDal.Get(ooId);
newOra.OrarendiOra = oOrarendiOra.ID;
newOra.Hetirend = oOrarendiOra.Hetirend;
newOra.HetirendNev = oOrarendiOra.Hetirend.GetDisplayName<HetiRendTipusEnum>(TanevId);
}
}
newOra.OrarendiOraGroupId = oTanitasiOra.OrarendiOraGroupId ?? 0;
newOra.IktTanora = oTanitasiOra.IKTTanora;
newOra.NemSzakrendszeru = oTanitasiOra.NemSzakrendszeruOra;
newOra.TAMOP = oTanitasiOra.TAMOPOra;
newOra.KIPOra = oTanitasiOra.KIPOra;
newOra.VEKOP73317 = oTanitasiOra.VEKOP73317;
newOra.KAPOra = oTanitasiOra.KAPOra;
newOra.Tulora = oTanitasiOra.Tulora;
newOra.Bontott = oTanitasiOra.Bontott;
newOra.ParhuzamosOra = oTanitasiOra.ParhuzamosOra;
newOra.Tiop = oTanitasiOra.TIOP12;
newOra.IPRTanora = oTanitasiOra.IPRTanora;
newOra.Kooperativ = oTanitasiOra.Kooperativ;
newOra.MindennaposTestneveles = oTanitasiOra.MindennaposTestneveles;
newOra.Meres = oTanitasiOra.Meres;
newOra.NemzetisegiOra = oTanitasiOra.NemzetisegiOra;
newOra.IsFelnottoktatasiSzerzodes = oTanitasiOra.IsFelnottoktatasiSzerzodes;
newOra.Differencialt = oTanitasiOra.Differencialt;
newOra.Drama = oTanitasiOra.Drama;
newOra.Multikulturalis = oTanitasiOra.MultikulturalisOra;
newOra.EFOP32317 = oTanitasiOra.EFOP32317;
newOra.KomplexOra = oTanitasiOra.KomplexOra;
newOra.GINOP623 = oTanitasiOra.GINOP623;
newOra.EFOP31716EselyteremtesAKoznevelesben = oTanitasiOra.EFOP31716;
newOra.EFOP33717 = oTanitasiOra.EFOP33717;
newOra.TIOP11112120120001 = oTanitasiOra.TIOP1111212012001;
newOra.DFHT = oTanitasiOra.IsDfhtOra;
newOra.Rahangolodas = oTanitasiOra.IsRahangolodas;
newOra.Testmozgas = oTanitasiOra.IsTestmozgasAlapuAlprogram;
newOra.Muveszet = oTanitasiOra.IsMuveszetAlapuAlprogram;
newOra.Eletgyakorlat = oTanitasiOra.IsEletgyakorlatAlapuAlprogram;
newOra.Logika = oTanitasiOra.IsLogikaAlapuAlprogram;
newOra.TeOrad = oTanitasiOra.IsTeorad;
newOra.DigitalisAlapProgram = oTanitasiOra.IsDigitalisAlapuAlprogram;
newOra.EFOP23517201700038Miapalya = oTanitasiOra.EFOP23517;
newOra.ID = oTanitasiOra.ID;
newOra.OsztalyfonokiOra = oTanitasiOra.Osztalyfonoki;
GetOrarendiOraOrTanitasiOraTulajdonsag(newOra, isTanora);
newOra.IsTanoranKivuli = !oTanitasiOra.CsengetesirendId.HasValue;
newOra.HetNapja = oTanitasiOra.HetNapja;
newOra.HetNapjaNev = oTanitasiOra.HetNapja.GetDisplayName<HetNapjaTipusEnum>(TanevId);
if (oTanitasiOra.Oraszam.HasValue)
newOra.Oraszam = oTanitasiOra.Oraszam.Value;
else if (oOrarendiOra.Oraszam.HasValue)
newOra.Oraszam = oOrarendiOra.Oraszam.Value;
newOra.CsengetesiRendID = oTanitasiOra.CsengetesirendId;
newOra.Sorszamozando = oTanitasiOra.Sorszamozando;
newOra.Terem = oTanitasiOra.Terem != null ? (int?)oTanitasiOra.TeremId : null;
newOra.TeremNev = oTanitasiOra.Terem?.Nev;
newOra.EvesOraSorszam = GetOraEvesSorszamaSP(oTanitasiOra.TantargyId, oTanitasiOra.OsztalyCsoportId,
oraDatum, oTanitasiOra.TanarId);
newOra.Fogl = oTanitasiOra.FoglalkozasId;
if (oTanitasiOra.FoglalkozasId != -1)
{
var foglalkozas = GetFoglalkozas(foglalkozasDal, oTanitasiOra.FoglalkozasId);
newOra.FoglalkozasNev =
foglalkozas == null
? ""
: foglalkozas.FoglalkozasTipusa.GetDisplayName<FoglalkozasTipusEnum>(TanevId);
}
newOra.TemaTanmenetId = GetTemaId(h, (int)newOra.EvesOraSorszam, (int)newOra.Fogl);
newOra.Tema = oTanitasiOra.Tema;
if (oTanitasiOra.TanulasiEgysegId.IsEntityId())
{
newOra.TanulasiEgysegId = oTanitasiOra.TanulasiEgysegId;
}
newOra.Megjegyzes = oTanitasiOra.Megjegyzes;
newOra.Megtartott = oTanitasiOra.Megtartott;
newOra.AdminAltalKiirt = oTanitasiOra.AdminAltalKiirt;
newOra.OraKezd = oTanitasiOra.OraKezdete;
newOra.OraVeg = oTanitasiOra.OraVege;
Enum.TryParse(ocsHelper.GetOsztalyCsoportFeladatKategoria(oTanitasiOra.OsztalyCsoportId).ToString(), out OktNevelesiKategoriaEnum kategoria);
var hazi = new TanarHaziFeladatDetailCO();
hazi = dktFeladatHelper.GetTanitasiOraHaziFeladatDetail(oTanitasiOra.ID, kategoria, isTanuloOrGondviselo);
if (hazi.Id.HasValue)
{
var csatolmanyok = new DktFileHelper(new DalHandlerConnectionType(ConnectionType, h)).GetCsatolmanyokForHaziFeladat(hazi.Id.Value);
newOra.HaziFeladatId = hazi.Id;
newOra.HaziFeladat = hazi.Szoveg;
newOra.HaziHatarideje = hazi.Hatarido;
if (csatolmanyok.Count == 1)
newOra.HaziFeladatCsatolmanyId = hazi.Csatolmanyok.First().Key;
}
newOra.Helyettesito = oTanitasiOra.HelyettesitoTanarId > 0
? (int?)oTanitasiOra.HelyettesitoTanarId
: null;
newOra.HelyettesitesitoTanarNeve = oTanitasiOra.HelyettesitoTanarId > 0 ? oTanitasiOra.HelyettesitoTanar.NyomtatasiNev : string.Empty;
newOra.BejegyIdo = oTanitasiOra.BejegyzesIdeje;
if (newOra.Helyettesito.HasValue)
{
newOra.HelyettesitesTipus = oTanitasiOra.HelyettesitesTipusa;
newOra.HelyettesitesOka = oTanitasiOra.HelyettesitesOka;
}
newOra.LegutobbiModositasIdopontja = h.TanitasiOra().GetTanitasiOraLegutobbiModositasa(oraId);
foreach (var item in oTanitasiOra.Oralatogatasok)
{
newOra.OraLatogatok.Add(new OraLatogatok
{
Id = item.ErtekeloId.ToString(),
Name = item.Ertekelo.NyomtatasiNev,
Datum = item.Datum,
ErtekelesSzoveg = item.Megjegyzes
});
}
}
var osztalycsoport = oTanitasiOra.ID > 0 ? oTanitasiOra.OsztalyCsoport : oOrarendiOra.OsztalyCsoport;
if (osztalycsoport != null)
{
newOra.OsztalyCsoportNev = osztalycsoport.Nev;
newOra.OsztCsop = osztalycsoport.ID;
}
var targy = oTanitasiOra.ID > 0 ? oTanitasiOra.Tantargy : oOrarendiOra.Tantargy;
if (targy != null)
{
newOra.Targy = targy.ID;
newOra.TantargyNev = targy.Nev;
}
var tanar = oTanitasiOra.ID > 0
? (isTanuloOrGondviselo && oTanitasiOra.HelyettesitoTanar != null ? oTanitasiOra.HelyettesitoTanar : oTanitasiOra.Tanar)
: oOrarendiOra.Tanar;
if (tanar != null)
{
newOra.Tanar = tanar.ID;
newOra.TanarNev = tanar.NyomtatasiNev;
}
newOra.Tulaj = oTanitasiOra.OraTulajdonosId;
newOra.Datum = oraDatum;
newOra.DigEszkozTipusId = oTanitasiOra.DigEszkozTipusId;
newOra.DigPlatformTipusId = oTanitasiOra.DigPlatformTipusId;
newOra.DigTamEszkozTipusIdList = oTanitasiOra.TanitasiOraDigTamEszkoz.Where(x => !x.Torolt).Select(x => x.DigTamEszkozTipusId).ToList();
return newOra;
}
/// INFO @DevKornel: Mobil használja
public void GetOrarendiOraOrTanitasiOraTulajdonsag(TanoraCO newOra, bool isTanora)
{
var ds = new DataSet();
if (newOra.OrarendiOra.HasValue && isTanora == false)
{
ds = GetOrarendiOraTulajdonsag(newOra.OrarendiOra.Value);
}
if (newOra.ID.HasValue && isTanora == true)
{
ds = GetTanitasiOraTulajdonsag(newOra.ID.Value);
}
//if (newOra.OrarendiOra.HasValue && newOra.ID.HasValue && !HasTanitasiOraTulajdonsag(newOra.ID.Value))
//{
// ds = GetOrarendiOraTulajdonsag(newOra.OrarendiOra.Value);
//}
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
var oraTulajdonsagId = SDAConvert.ToInt32(row["OraTulajdonsagId"]);
var oraTulajdonsagTipusEnum = (OraTulajdonsagTipusEnum)oraTulajdonsagId;
var ertek = SDAConvert.ToBooleanFromTF(row["Ertek"]);
switch (oraTulajdonsagTipusEnum)
{
case OraTulajdonsagTipusEnum.online_ora:
newOra.OnlineOra = ertek;
break;
case OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_ismetlese:
newOra.TanevTananyaganakIsmetlese = ertek;
break;
case OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_kiegeszitese:
newOra.TanevTananyaganakKiegeszitese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_digitalis_keszsegfejlesztese:
newOra.TanulokDigitalisKeszsegfejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.projektmunka:
newOra.Projektmunka = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_iraskeszseg_fejlesztese:
newOra.TanulokKompenzaciosIraskeszsegFejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_olvasasi_kepesseg_fejlesztese:
newOra.TanulokKompenzaciosOlvasasiKepessegFejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_matematikai_gondolkodasi_kepessegenek_kompenzacios_fejlesztese:
newOra.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_nyelvi_kepessegenek_kompenzacios_fejlesztese:
newOra.TanulokNyelviKepessegenekKompenzaciosFejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_onmegismeresenek_segitese:
newOra.TanulokOnmegismeresenekSegitese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_onallosagra_nevelese:
newOra.TanulokOnallosagraNevelese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_tanulasszervezesi_kompenzacios_technikajanak_erositese:
newOra.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_orientacios_tamogatasa:
newOra.TanulokOrientaciosTamogatasa = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_szocialitasanak_fejlesztese:
newOra.TanulokSzocialitasanakFejlesztese = ertek;
break;
case OraTulajdonsagTipusEnum.a_tanulok_tovabbhaladasat_elokeszito_tevekenysegek:
newOra.TanulokTovabbhaladasatElokeszitoTevekenysegek = ertek;
break;
case OraTulajdonsagTipusEnum.pedagogus_altal_jelzett_egyeni_esetkezeles:
newOra.PedagogusAltalJelzettEgyeniEsetkezeles = ertek;
break;
case OraTulajdonsagTipusEnum.projektmunka_tamogatasa:
newOra.ProjektmunkaTamogatasa = ertek;
break;
case OraTulajdonsagTipusEnum.digitalis_keszsegfejlesztes:
newOra.DigitalisKeszsegfejlesztes = ertek;
break;
case OraTulajdonsagTipusEnum.kozossegi_munka_tamogatasa:
newOra.KozossegiMunkaTamogatasa = ertek;
break;
case OraTulajdonsagTipusEnum.tanora_elokeszitesenek_tamogatasa:
newOra.TanoraElokeszitesenekTamogatasa = ertek;
break;
case OraTulajdonsagTipusEnum.tanora_lebonyolitasanak_tamogatasa:
newOra.TanoraLebonyolitasanakTamogatasa = ertek;
break;
case OraTulajdonsagTipusEnum.napkozis_tevekenyseg_kereteben_egyeni_fejlesztes:
newOra.NapkozisTevekenysegKeretebenEgyeniFejlesztes = ertek;
break;
case OraTulajdonsagTipusEnum.egybefuggo_szakmai_gyakorlat:
newOra.IsEgybefuggoGyakorlat = ertek;
break;
default:
break;
}
}
}
}
private IFoglalkozas GetFoglalkozas(IFoglalkozasDal foglalkozasDal, int foglalkozasId)
{
try
{
return foglalkozasDal.Get(foglalkozasId);
}
catch
{
return null;
}
}
private int? GetTemaId(IDalHandler handler, int evesOraSorszam, int fogl)
{
var dal = handler.Tanmenet();
return dal.GetTanmenetIdBySorszamEsFoglalkozas(evesOraSorszam, fogl);
}
private HaladasiNaploTanoraKeresesePCO ConvertTanorakSearchCOToTanoraKeresesePCO(TanorakSearchCO co)
{
var pco = new HaladasiNaploTanoraKeresesePCO()
{
Tol = co.IdoszakKezdete,
Ig = co.IdoszakVege,
Tanar = FelhasznaloId,
OsztalyCsoportId = co.OsztalyCsoportId,
Helyetesitett = co.Helyetesitett,
TantargyId = co.TantargyId,
TanarId = co.TanarId,
OraKezdete = co.OraKezdete,
};
return pco;
}
private TanoraKeresesePCO ConvertCOToPCO(TanoraKeresoCO keresoProfil)
{
DateTime? Datum = keresoProfil.Datum == DateTime.MinValue ? null : (DateTime?)keresoProfil.Datum;
TanoraKeresesePCO pco = new TanoraKeresesePCO()
{
Tol = keresoProfil.Tol ?? Datum,
Ig = keresoProfil.Ig ?? Datum,
OsztCsop = keresoProfil.OsztCsop,
KellKapcsolodoCsoportok = keresoProfil.KellKapcsolodoCsoportok,
CsopTip = keresoProfil.CsopTip,
Fogl = keresoProfil.Fogl,
Targy = keresoProfil.Targy,
Tanar = keresoProfil.Tanar,
Terem = keresoProfil.Terem,
FeladatEllatasiHely = keresoProfil.FeladatEllatasiHely,
FeladatKategoria = keresoProfil.FeladatKategoria,
Elmaradt = keresoProfil.Elmaradt,
Sorszamozando = keresoProfil.Sorszamozando,
ParhuzamosOra = keresoProfil.ParhuzamosOra,
Tulora = keresoProfil.Tulora,
TAMOPOra = keresoProfil.TAMOP,
KIPOra = keresoProfil.KIPOra,
VEKOP73317 = keresoProfil.VEKOP73317,
KAPOra = keresoProfil.KAPOra,
NemSzakrendszeruOra = keresoProfil.NemSzakrendszeruOra,
IKTTanora = keresoProfil.IKTTanora,
NemzetisegiOra = keresoProfil.NemzetisegiOra,
IsFelnottoktatasiSzerzodes = keresoProfil.IsFelnottoktatasiSzerzodes,
OnlineOra = keresoProfil.OnlineOra,
MindennaposTestneveles = keresoProfil.MindennaposTestneveles,
IPRTanora = keresoProfil.IPRTanora,
Differencialt = keresoProfil.Differencialt,
Kooperativ = keresoProfil.Kooperativ,
Meres = keresoProfil.Meres,
Drama = keresoProfil.Drama,
Tiop = keresoProfil.Tiop,
Bontott = keresoProfil.Bontott,
Helyettesitett = keresoProfil.Helyettesitett,
EFOP32317 = keresoProfil.EFOP32317,
GINOP623 = keresoProfil.GINOP623,
MultikulturalisOra = keresoProfil.MultikulturalisOra,
KomplexOra = keresoProfil.KomplexOra,
EFOP31716EselyteremtesAKoznevelesben = keresoProfil.EFOP31716EselyteremtesAKoznevelesben,
EFOP33717 = keresoProfil.EFOP33717,
TIOP11112120120001 = keresoProfil.TIOP11112120120001,
DFHTOra = keresoProfil.DFHTOra,
Rahangolodas = keresoProfil.Rahangolodas,
TestmozgasAlapuAlprogram = keresoProfil.TestmozgasAlapuAlprogram,
MuveszetAlapuAlprogram = keresoProfil.MuveszetAlapuAlprogram,
EletgyakorlatAlapuAlprogram = keresoProfil.EletgyakorlatAlapuAlprogram,
LogikaAlapuAlprogram = keresoProfil.LogikaAlapuAlprogram,
TeOrad = keresoProfil.TeOrad,
DigitalisAlapuAlprogram = keresoProfil.DigitalisAlapuAlprogram,
HFRogzitve = keresoProfil.HFRogzitve,
EFOP23517201700038Miapalya = keresoProfil.EFOP23517201700038Miapalya,
TanevTananyaganakIsmetlese = keresoProfil.TanevTananyaganakIsmetlese,
TanevTananyaganakKiegeszitese = keresoProfil.TanevTananyaganakKiegeszitese,
TanulokDigitalisKeszsegfejlesztese = keresoProfil.TanulokDigitalisKeszsegfejlesztese,
Projektmunka = keresoProfil.Projektmunka,
TanulokKompenzaciosIraskeszsegFejlesztese = keresoProfil.TanulokKompenzaciosIraskeszsegFejlesztese,
TanulokKompenzaciosOlvasasiKepessegFejlesztese = keresoProfil.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = keresoProfil.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
TanulokNyelviKepessegenekKompenzaciosFejlesztese = keresoProfil.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
TanulokOnmegismeresenekSegitese = keresoProfil.TanulokOnmegismeresenekSegitese,
TanulokOnallosagraNevelese = keresoProfil.TanulokOnallosagraNevelese,
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = keresoProfil.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
TanulokOrientaciosTamogatasa = keresoProfil.TanulokOrientaciosTamogatasa,
TanulokSzocialitasanakFejlesztese = keresoProfil.TanulokSzocialitasanakFejlesztese,
TanulokTovabbhaladasatElokeszitoTevekenysegek = keresoProfil.TanulokTovabbhaladasatElokeszitoTevekenysegek,
PedagogusAltalJelzettEgyeniEsetkezeles = keresoProfil.PedagogusAltalJelzettEgyeniEsetkezeles,
ProjektmunkaTamogatasa = keresoProfil.ProjektmunkaTamogatasa,
DigitalisKeszsegfejlesztes = keresoProfil.DigitalisKeszsegfejlesztes,
KozossegiMunkaTamogatasa = keresoProfil.KozossegiMunkaTamogatasa,
TanoraElokeszitesenekTamogatasa = keresoProfil.TanoraElokeszitesenekTamogatasa,
TanoraLebonyolitasanakTamogatasa = keresoProfil.TanoraLebonyolitasanakTamogatasa,
NapkozisTevekenysegKeretebenEgyeniFejlesztes = keresoProfil.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
DigEszkozTipusId = keresoProfil.DigEszkozTipusId,
DigPlatformTipusId = keresoProfil.DigPlatformTipusId,
DigTamEszkozTipus = keresoProfil.DigTamEszkozTipus
};
return pco;
}
/// INFO @DevKornel: Mobil használja
private ITanitasiOra SaveorUpdatTanoraBasedOnCo(IDalHandler h, TanoraCO co, int oraTulajdonosId)
{
try
{
var tanitasiOraDal = h.TanitasiOra();
var oraSorszamozasValtozas = false;
var oTanitasiOra = co.ID.HasValue ? tanitasiOraDal.Get(co.ID.Value) : tanitasiOraDal.Get();
var orarendiOraDal = h.OrarendiOra();
if (co.ID.HasValue)
{
if (!oTanitasiOra.CsengetesirendId.HasValue)
{
oTanitasiOra.OraKezdete = co.OraKezd;
oTanitasiOra.OraVege = co.OraVeg;
}
}
else
{
var naptariNapdal = h.NaptariNap();
if (co.OrarendiOra.HasValue)
{
var oOra = orarendiOraDal.Get(co.OrarendiOra.Value);
oTanitasiOra.HetNapja = oOra.HetNapja;
//oTanitasiOra.Oraszam = oOra.Oraszam;
oTanitasiOra.FoglalkozasId = oOra.FoglalkozasId;
oTanitasiOra.CsengetesirendOraId = oOra.CsengetesirendOraId;
oTanitasiOra.OrarendiOraGroupId = co.OrarendiOraGroupId;
oTanitasiOra.EgyediNap = oOra.EgyediNap;
}
else
{
if (co.HetNapja.HasValue)
{
oTanitasiOra.HetNapja = co.HetNapja.Value;
}
if (co.Fogl.HasValue)
{
oTanitasiOra.FoglalkozasId = co.Fogl.Value;
}
if (co.CsengetesiRendOraId.HasValue)
{
oTanitasiOra.CsengetesirendOraId = co.CsengetesiRendOraId.Value;
}
if (co.OrarendiOraGroupId != 0)
{
oTanitasiOra.OrarendiOraGroupId = co.OrarendiOraGroupId;
}
oTanitasiOra.EgyediNap = naptariNapdal.GetIsEgyediNapByDateAndOsztalyCsoportId(co.Datum, TanevId, co.OsztCsop.Value);
}
oTanitasiOra.OsztalyCsoportId = (int)co.OsztCsop;
oTanitasiOra.TantargyId = (int)co.Targy;
oTanitasiOra.BejegyzesIdeje = co.BejegyIdo == default ? DateTime.Now : co.BejegyIdo;
oTanitasiOra.TanarId = co.Tanar.Value;
oTanitasiOra.Datum = Convert.ToDateTime(co.OraKezd.ToShortDateString());
oTanitasiOra.OraKezdete = co.OraKezd;
oTanitasiOra.OraVege = co.OraVeg;
var tt = h.Tantargy().GetTantargy(co.Targy.Value);
if (tt.TargyKategoria == (int)TargyKategoriaTipusEnum.osztalyfonoki_elet_es_palyatervezes)
{
oTanitasiOra.Osztalyfonoki = true;
}
//Nem egyértelmű mezők
var naptariNapID = naptariNapdal.GetNaptariNapId(new DateTime(oTanitasiOra.Datum.Year, oTanitasiOra.Datum.Month, oTanitasiOra.Datum.Day));
var nap = naptariNapID.HasValue ? naptariNapdal.Get(naptariNapID.Value) : naptariNapdal.Get();
if (naptariNapID.HasValue)
{
oTanitasiOra.NaptariNapId = nap.ID;
}
oTanitasiOra.HetSorszama = nap.HetSorszama;
oTanitasiOra.NapSorszama = co.OraKezd.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)co.OraKezd.DayOfWeek; //nap.HetNapja volt eddig, most a megbeszéltek alapján 1-től számozódva, hogy hányadik nap a héten...
oTanitasiOra.OraTulajdonosId = oraTulajdonosId; // tulaj aki lenaplózta
}
oTanitasiOra.IKTTanora = co.IktTanora;
oTanitasiOra.NemSzakrendszeruOra = co.NemSzakrendszeru;
oTanitasiOra.TAMOPOra = co.TAMOP;
oTanitasiOra.KIPOra = co.KIPOra;
oTanitasiOra.VEKOP73317 = co.VEKOP73317;
oTanitasiOra.KAPOra = co.KAPOra;
oTanitasiOra.Tulora = co.Tulora;
oTanitasiOra.Bontott = co.Bontott;
oTanitasiOra.ParhuzamosOra = co.ParhuzamosOra;
oTanitasiOra.TIOP12 = co.Tiop;
oTanitasiOra.IPRTanora = co.IPRTanora;
oTanitasiOra.Kooperativ = co.Kooperativ;
oTanitasiOra.MindennaposTestneveles = co.MindennaposTestneveles;
oTanitasiOra.Meres = co.Meres;
oTanitasiOra.NemzetisegiOra = co.NemzetisegiOra;
oTanitasiOra.IsFelnottoktatasiSzerzodes = co.IsFelnottoktatasiSzerzodes;
oTanitasiOra.Differencialt = co.Differencialt;
oTanitasiOra.Drama = co.Drama;
oTanitasiOra.MultikulturalisOra = co.Multikulturalis;
oTanitasiOra.EFOP32317 = co.EFOP32317;
oTanitasiOra.KomplexOra = co.KomplexOra;
oTanitasiOra.GINOP623 = co.GINOP623;
oTanitasiOra.EFOP31716 = co.EFOP31716EselyteremtesAKoznevelesben;
oTanitasiOra.EFOP33717 = co.EFOP33717;
oTanitasiOra.TIOP1111212012001 = co.TIOP11112120120001;
oTanitasiOra.IsDfhtOra = co.DFHT;
oTanitasiOra.IsRahangolodas = co.Rahangolodas;
oTanitasiOra.IsTestmozgasAlapuAlprogram = co.Testmozgas;
oTanitasiOra.IsMuveszetAlapuAlprogram = co.Muveszet;
oTanitasiOra.IsEletgyakorlatAlapuAlprogram = co.Eletgyakorlat;
oTanitasiOra.IsLogikaAlapuAlprogram = co.Logika;
oTanitasiOra.IsTeorad = co.TeOrad;
oTanitasiOra.IsDigitalisAlapuAlprogram = co.DigitalisAlapProgram;
oTanitasiOra.AdminAltalKiirt = co.AdminAltalKiirt;
oTanitasiOra.EFOP23517 = co.EFOP23517201700038Miapalya;
oTanitasiOra.DigEszkozTipusId = co.DigEszkozTipusId;
oTanitasiOra.DigPlatformTipusId = co.DigPlatformTipusId;
if (!co.IsTanoranKivuli)
{
oTanitasiOra.Oraszam = co.Oraszam;
oTanitasiOra.CsengetesirendId = co.CsengetesiRendID;
}
oTanitasiOra.TeremId = (int)co.Terem;
var originalSorszamozando = oTanitasiOra.Sorszamozando;
oTanitasiOra.Sorszamozando = co.Sorszamozando;
if (co.Megtartott.HasValue)
{
oTanitasiOra.Megtartott = co.Megtartott.Value;
}
else
{
oTanitasiOra.Megtartott = true;
}
if (co.MobilNaplozott.HasValue)
{
oTanitasiOra.MobilNaplozott = co.MobilNaplozott.Value;
}
else
{
oTanitasiOra.MobilNaplozott = false;
}
oTanitasiOra.Megjegyzes = co.Megjegyzes;
oTanitasiOra.Tema = co.Tema;
if (co.TanulasiEgysegId.HasValue)
{
oTanitasiOra.TanulasiEgysegId = co.TanulasiEgysegId.Value;
}
if (string.IsNullOrWhiteSpace(co.Tema) && co.TemaTanmenetId.IsEntityId())
{
var tm = h.Tanmenet().Get(co.TemaTanmenetId.Value);
oTanitasiOra.TanmenetId = tm.ID;
oTanitasiOra.Tema = tm.Tema;
}
if (co.Helyettesito.HasValue)
{
oTanitasiOra.HelyettesitesOka = co.HelyettesitesOka;
oTanitasiOra.HelyettesitesTipusa = co.HelyettesitesTipus.Value;
oTanitasiOra.HelyettesitoTanarId = co.Helyettesito.Value;
}
oTanitasiOra.IntezmenyId = IntezmenyId;
if (!co.ID.IsEntityId())
{
tanitasiOraDal.Insert(oTanitasiOra);
oraSorszamozasValtozas = true;
}
else
{
if (originalSorszamozando != oTanitasiOra.Sorszamozando)
{
oraSorszamozasValtozas = true;
}
tanitasiOraDal.FullUpdate(oTanitasiOra);
}
co.ID = oTanitasiOra.ID;
SaveOrUpdateOraTulajdonsag(tanitasiOraDal, orarendiOraDal, co);
SaveTanitasiOraDigTamEszkozList(tanitasiOraDal, co);
new DktFeladatHelper(new DalHandlerConnectionType(ConnectionType, h)).UpdateDktFeladatTanitasiOra(co.ID.Value);
if (oraSorszamozasValtozas)
{
tanitasiOraDal.UpdateTanitasiOraEvesSorszamTanitasiOra(IntezmenyId, TanevId, oTanitasiOra.ID);
}
return oTanitasiOra;
}
catch (UniqueKeyViolationException ex)
{
throw new BlException(co.MobilNaplozott.Value ? OrarendResource.ATanitasioraMarRogzitesreKerult
: OrarendResource.ATanitasioraMarRogzitesreKerult + " " + OrarendResource.KerjukFrissitseAzOldalt, ex);
}
}
/// INFO @DevKornel: Mobil használja
private int SaveNaplozasHaziFeladat(IDalHandler h, TanoraCO tanoraCo, ITanitasiOra tanitasiOra, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
{
var helper = new DktFeladatHelper(new DalHandlerConnectionType(ConnectionType, h));
if (tanoraCo.HaziFeladatId.HasValue && string.IsNullOrWhiteSpace(tanoraCo.HaziFeladat) && !tanoraCo.HaziHatarideje.HasValue)
{
helper.DeleteHazi(tanoraCo.HaziFeladatId.Value, coreApiClient);
return 0;
}
if (tanoraCo.Megtartott.HasValue && tanoraCo.Megtartott.Value && tanoraCo.HaziHatarideje.HasValue && IsHFValtozott())
{
var hazi = new TanarHaziFeladatCO
{
Id = tanoraCo.HaziFeladatId,
OsztalyCsoportId = tanitasiOra.OsztalyCsoportId,
TantargyId = tanitasiOra.TantargyId,
RogzitoId = tanitasiOra.OraTulajdonosId,
IsTanarRogzitette = true,
TanitasiOraId = tanitasiOra.ID,
FeladasDatuma = tanitasiOra.Datum,
Hatarido = tanoraCo.HaziHatarideje.Value,
Szoveg = CommonUtils.CreateLinksInText(tanoraCo.HaziFeladat),
IntezmenyId = IntezmenyId,
IntezmenyAzonosito = IntezmenyAzonosito,
CsatolmanyId = tanoraCo.HaziFeladatCsatolmanyId,
TanevId = TanevId
};
hazi.HelyettesitoId = tanitasiOra.HelyettesitoTanarId != 0 ? tanitasiOra.HelyettesitoTanarId : (int?)null;
hazi.Oraszam = tanitasiOra.CsengetesirendId.HasValue ? tanitasiOra.Oraszam : (int?)null;
hazi.Idopont = tanitasiOra.OraKezdete;
return helper.SaveOrUpdateTanarHaziFeladat(hazi, tanoraCo.Tanar.Value, fileServiceHelper, coreApiClient);
}
return tanoraCo.HaziFeladatId ?? 0;
bool IsHFValtozott()
{
var feladatkategoria = (OktNevelesiKategoriaEnum)tanitasiOra.OsztalyCsoport.FeladatKategoriaId;
var eredetiHazi = helper.GetTanitasiOraHaziFeladatDetail(tanoraCo.ID, feladatkategoria, isTanuloOrGondviselo: false);
return (eredetiHazi.Hatarido != tanoraCo.HaziHatarideje.Value
|| eredetiHazi.Szoveg != tanoraCo.HaziFeladat);
}
}
/// INFO @DevKornel: Mobil használja
public DataSet GetOrarendiOraTulajdonsag(int orarendiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.OrarendiOra();
return dal.GetOrarendiOraTulajdonsag(orarendiOraId, TanevId);
});
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanitasiOraTulajdonsag(int tanitasiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.GetTanitasiOraTulajdonsag(tanitasiOraId, TanevId);
});
}
public bool HasTanitasiOraTulajdonsag(int tanitasiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.HasTanitasiOraTulajdonsag(tanitasiOraId, IntezmenyId, TanevId);
});
}
private void SaveTanitasiOraDigTamEszkozList(ITanitasiOraDal tanitasiOraDal, TanoraCO co)
{
if (co.ID.IsEntityId() && co.DigTamEszkozTipusIdList != null)
{
tanitasiOraDal.SaveTanitasiOraDigTamEszkozList(co.DigTamEszkozTipusIdList, co.ID.Value, IntezmenyId, TanevId, FelhasznaloId);
}
}
private void SaveOrUpdateOraTulajdonsag(ITanitasiOraDal tanitasiOraDal, IOrarendiOraDal orarendiOraDal, TanoraCO co)
{
var oraTulajdonsagok = GetOraTulajdonsagok(co);
if (co.ID.IsEntityId())
{
tanitasiOraDal.SaveOrUpdateTanitasiOraTulajdonsag(oraTulajdonsagok, co.ID.Value, IntezmenyId, TanevId);
}
else
{
if (co.OrarendiOra.IsEntityId())
{
orarendiOraDal.SaveOrUpdateOrarendiOraTulajdonsag(oraTulajdonsagok, co.OrarendiOra.Value, IntezmenyId, TanevId);
}
}
}
private Dictionary<int, bool> GetOraTulajdonsagok(TanoraCO co)
{
var oraTulajdonsagok = new Dictionary<int, bool>();
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.online_ora, co.OnlineOra);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_ismetlese, co.TanevTananyaganakIsmetlese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_kiegeszitese, co.TanevTananyaganakKiegeszitese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_digitalis_keszsegfejlesztese, co.TanulokDigitalisKeszsegfejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.projektmunka, co.Projektmunka);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_iraskeszseg_fejlesztese, co.TanulokKompenzaciosIraskeszsegFejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_olvasasi_kepesseg_fejlesztese, co.TanulokKompenzaciosOlvasasiKepessegFejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_matematikai_gondolkodasi_kepessegenek_kompenzacios_fejlesztese, co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_nyelvi_kepessegenek_kompenzacios_fejlesztese, co.TanulokNyelviKepessegenekKompenzaciosFejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_onmegismeresenek_segitese, co.TanulokOnmegismeresenekSegitese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_onallosagra_nevelese, co.TanulokOnallosagraNevelese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_tanulasszervezesi_kompenzacios_technikajanak_erositese, co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_orientacios_tamogatasa, co.TanulokOrientaciosTamogatasa);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_szocialitasanak_fejlesztese, co.TanulokSzocialitasanakFejlesztese);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.a_tanulok_tovabbhaladasat_elokeszito_tevekenysegek, co.TanulokTovabbhaladasatElokeszitoTevekenysegek);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.pedagogus_altal_jelzett_egyeni_esetkezeles, co.PedagogusAltalJelzettEgyeniEsetkezeles);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.projektmunka_tamogatasa, co.ProjektmunkaTamogatasa);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.digitalis_keszsegfejlesztes, co.DigitalisKeszsegfejlesztes);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.kozossegi_munka_tamogatasa, co.KozossegiMunkaTamogatasa);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.tanora_elokeszitesenek_tamogatasa, co.TanoraElokeszitesenekTamogatasa);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.tanora_lebonyolitasanak_tamogatasa, co.TanoraLebonyolitasanakTamogatasa);
oraTulajdonsagok.Add((int)OraTulajdonsagTipusEnum.napkozis_tevekenyseg_kereteben_egyeni_fejlesztes, co.NapkozisTevekenysegKeretebenEgyeniFejlesztes);
return oraTulajdonsagok;
}
public static void TanoraAdatokSorrendezeseExcelbe(DataTable tabla, int kezdoOszlopSorszam, TanorakExportTipusEnum? exportTipus = null)
{
tabla.Columns.Remove("TulOra");
tabla.Columns.Remove("TulOra_BOOL");
tabla.Columns["TulOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TulOra_BNAME"].ColumnName = OrarendResource.Tulora;
tabla.Columns.Remove("IktOra");
tabla.Columns.Remove("IktOra_BOOL");
tabla.Columns["IktOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["IktOra_BNAME"].ColumnName = OrarendResource.IktTanora;
tabla.Columns.Remove("IprOra");
tabla.Columns.Remove("IprOra_BOOL");
tabla.Columns["IprOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["IprOra_BNAME"].ColumnName = OrarendResource.IprTanora;
tabla.Columns.Remove("MeresOra");
tabla.Columns.Remove("MeresOra_BOOL");
tabla.Columns["MeresOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["MeresOra_BNAME"].ColumnName = OrarendResource.Meres;
tabla.Columns.Remove("Bontott");
tabla.Columns.Remove("Bontott_BOOL");
tabla.Columns["Bontott_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["Bontott_BNAME"].ColumnName = OrarendResource.Bontott;
tabla.Columns.Remove("NemzetisegiOra");
tabla.Columns.Remove("NemzetisegiOra_BOOL");
tabla.Columns["NemzetisegiOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["NemzetisegiOra_BNAME"].ColumnName = OrarendResource.NemzetisegiTanora;
tabla.Columns.Remove("DifferencialtOra");
tabla.Columns.Remove("DifferencialtOra_BOOL");
tabla.Columns["DifferencialtOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["DifferencialtOra_BNAME"].ColumnName = OrarendResource.Differencialt;
tabla.Columns.Remove("DramaOra");
tabla.Columns.Remove("DramaOra_BOOL");
tabla.Columns["DramaOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["DramaOra_BNAME"].ColumnName = OrarendResource.Drama;
tabla.Columns.Remove("ParhuzamosOra");
tabla.Columns.Remove("ParhuzamosOra_BOOL");
tabla.Columns["ParhuzamosOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["ParhuzamosOra_BNAME"].ColumnName = OrarendResource.ParhuzamosOra;
tabla.Columns.Remove("TestnevelesOra");
tabla.Columns.Remove("TestnevelesOra_BOOL");
tabla.Columns["TestnevelesOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TestnevelesOra_BNAME"].ColumnName = OrarendResource.MindennaposTestneveles;
tabla.Columns.Remove("KooperativOra");
tabla.Columns.Remove("KooperativOra_BOOL");
tabla.Columns["KooperativOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["KooperativOra_BNAME"].ColumnName = OrarendResource.Kooperativ;
tabla.Columns.Remove("Multikulturalis");
tabla.Columns.Remove("Multikulturalis_BOOL");
tabla.Columns["Multikulturalis_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["Multikulturalis_BNAME"].ColumnName = OrarendResource.Multikulturalis;
tabla.Columns.Remove("NemszakrendszeruOra");
tabla.Columns.Remove("NemszakrendszeruOra_BOOL");
tabla.Columns["NemszakrendszeruOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["NemszakrendszeruOra_BNAME"].ColumnName = OrarendResource.NemSzakrendszeruOra;
tabla.Columns.Remove("IsFelnottoktatasiSzerzodes");
tabla.Columns.Remove("IsFelnottoktatasiSzerzodes_BOOL");
tabla.Columns["IsFelnottoktatasiSzerzodes_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["IsFelnottoktatasiSzerzodes_BNAME"].ColumnName = TantargyResource.MegbizasiSzerzodesselEllatottOra;
// EFOP-3.1.11-19 PROJEKT
var i = ((int)OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_ismetlese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanevTananyaganakIsmetlese;
i = ((int)OraTulajdonsagTipusEnum._2019_2020_as_tanev_tananyaganak_kiegeszitese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanevTananyaganakKiegeszitese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_digitalis_keszsegfejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokDigitalisKeszsegfejlesztese;
i = ((int)OraTulajdonsagTipusEnum.projektmunka).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.Projektmunka;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_iraskeszseg_fejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokKompenzaciosIraskeszsegFejlesztese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_kompenzacios_olvasasi_kepesseg_fejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_matematikai_gondolkodasi_kepessegenek_kompenzacios_fejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_nyelvi_kepessegenek_kompenzacios_fejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_onmegismeresenek_segitese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokOnmegismeresenekSegitese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_onallosagra_nevelese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokOnallosagraNevelese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_tanulasszervezesi_kompenzacios_technikajanak_erositese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_orientacios_tamogatasa).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokOrientaciosTamogatasa;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_szocialitasanak_fejlesztese).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokSzocialitasanakFejlesztese;
i = ((int)OraTulajdonsagTipusEnum.a_tanulok_tovabbhaladasat_elokeszito_tevekenysegek).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanulokTovabbhaladasatElokeszitoTevekenysegek;
i = ((int)OraTulajdonsagTipusEnum.pedagogus_altal_jelzett_egyeni_esetkezeles).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.PedagogusAltalJelzettEgyeniEsetkezeles;
i = ((int)OraTulajdonsagTipusEnum.projektmunka_tamogatasa).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.ProjektmunkaTamogatasa;
i = ((int)OraTulajdonsagTipusEnum.digitalis_keszsegfejlesztes).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.DigitalisKeszsegfejlesztes;
i = ((int)OraTulajdonsagTipusEnum.kozossegi_munka_tamogatasa).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.KozossegiMunkaTamogatasa;
i = ((int)OraTulajdonsagTipusEnum.tanora_elokeszitesenek_tamogatasa).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanoraElokeszitesenekTamogatasa;
i = ((int)OraTulajdonsagTipusEnum.tanora_lebonyolitasanak_tamogatasa).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.TanoraLebonyolitasanakTamogatasa;
i = ((int)OraTulajdonsagTipusEnum.napkozis_tevekenyseg_kereteben_egyeni_fejlesztes).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
//-----------------------
tabla.Columns.Remove("KAPOra");
tabla.Columns.Remove("KAPOra_BOOL");
tabla.Columns["KAPOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["KAPOra_BNAME"].ColumnName = OrarendResource.KAPOra;
tabla.Columns.Remove("DFHTora");
tabla.Columns.Remove("DFHTora_BOOL");
tabla.Columns["DFHTora_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["DFHTora_BNAME"].ColumnName = OrarendResource.DFHT;
tabla.Columns.Remove("Rahangolodas");
tabla.Columns.Remove("Rahangolodas_BOOL");
tabla.Columns["Rahangolodas_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["Rahangolodas_BNAME"].ColumnName = OrarendResource.Rahangolodas;
tabla.Columns.Remove("TestmozgasAlapuAlprogram");
tabla.Columns.Remove("TestmozgasAlapuAlprogram_BOOL");
tabla.Columns["TestmozgasAlapuAlprogram_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TestmozgasAlapuAlprogram_BNAME"].ColumnName = OrarendResource.Testmozgas;
tabla.Columns.Remove("MuveszetAlapuAlprogram");
tabla.Columns.Remove("MuveszetAlapuAlprogram_BOOL");
tabla.Columns["MuveszetAlapuAlprogram_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["MuveszetAlapuAlprogram_BNAME"].ColumnName = OrarendResource.Muveszet;
tabla.Columns.Remove("KIPOra");
tabla.Columns.Remove("KIPOra_BOOL");
tabla.Columns["KIPOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["KIPOra_BNAME"].ColumnName = OrarendResource.KIPOra;
tabla.Columns.Remove("DFHTKIPora");
tabla.Columns.Remove("DFHTKIPora_BOOL");
tabla.Columns.Remove("DFHTKIPora_BNAME");
//tabla.Columns["DFHTKIPora_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
//tabla.Columns["DFHTKIPora_BNAME"].ColumnName = OrarendResource.TIOP11112120120001;
tabla.Columns.Remove("Komplexora");
tabla.Columns.Remove("Komplexora_BOOL");
tabla.Columns["Komplexora_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["Komplexora_BNAME"].ColumnName = OrarendResource.KomplexOra;
tabla.Columns.Remove("EletGyakorlatAlapuAlprogram");
tabla.Columns.Remove("EletGyakorlatAlapuAlprogram_BOOL");
tabla.Columns["EletGyakorlatAlapuAlprogram_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["EletGyakorlatAlapuAlprogram_BNAME"].ColumnName = OrarendResource.Eletgyakorlat;
tabla.Columns.Remove("LogikaiAlapuAlprogram");
tabla.Columns.Remove("LogikaiAlapuAlprogram_BOOL");
tabla.Columns["LogikaiAlapuAlprogram_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["LogikaiAlapuAlprogram_BNAME"].ColumnName = OrarendResource.Logika;
tabla.Columns.Remove("TEorad");
tabla.Columns.Remove("TEorad_BOOL");
tabla.Columns["TEorad_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TEorad_BNAME"].ColumnName = OrarendResource.TeOrad;
tabla.Columns.Remove("DigitalisAlapuAlprogram");
tabla.Columns.Remove("DigitalisAlapuAlprogram_BOOL");
tabla.Columns["DigitalisAlapuAlprogram_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["DigitalisAlapuAlprogram_BNAME"].ColumnName = OrarendResource.DigitalisAlapProgram;
tabla.Columns.Remove("TamopOra");
tabla.Columns.Remove("TamopOra_BOOL");
tabla.Columns["TamopOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TamopOra_BNAME"].ColumnName = OrarendResource.TamopOra;
tabla.Columns.Remove("TiopOra");
tabla.Columns.Remove("TiopOra_BOOL");
tabla.Columns["TiopOra_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TiopOra_BNAME"].ColumnName = OrarendResource.Tiop12;
tabla.Columns.Remove("EFOP32317");
tabla.Columns.Remove("EFOP32317_BOOL");
tabla.Columns["EFOP32317_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["EFOP32317_BNAME"].ColumnName = OrarendResource.EFOP32317DigitalisKornyezetAKozenevelesben;
tabla.Columns.Remove("EFOP33717");
tabla.Columns.Remove("EFOP33717_BOOL");
tabla.Columns["EFOP33717_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["EFOP33717_BNAME"].ColumnName = OrarendResource.EFOP33717;
tabla.Columns.Remove("VEKOP73317");
tabla.Columns.Remove("VEKOP73317_BOOL");
tabla.Columns["VEKOP73317_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["VEKOP73317_BNAME"].ColumnName = OrarendResource.VEKOP73317;
tabla.Columns.Remove("TIOP1111212012001");
tabla.Columns.Remove("TIOP1111212012001_BOOL");
tabla.Columns["TIOP1111212012001_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["TIOP1111212012001_BNAME"].ColumnName = OrarendResource.TIOP11112120120001;
tabla.Columns.Remove("EFOP31716");
tabla.Columns.Remove("EFOP31716_BOOL");
tabla.Columns["EFOP31716_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["EFOP31716_BNAME"].ColumnName = OrarendResource.EFOP31716EselyteremtesAKoznevelesben;
tabla.Columns.Remove("GINOP623");
tabla.Columns.Remove("GINOP623_BOOL");
tabla.Columns["GINOP623_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["GINOP623_BNAME"].ColumnName = OrarendResource.GINOP623;
tabla.Columns.Remove("EFOP23517");
tabla.Columns.Remove("EFOP23517_BOOL");
tabla.Columns["EFOP23517_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["EFOP23517_BNAME"].ColumnName = OrarendResource.EFOP23517201700038Miapalya;
tabla.Columns.Remove("Helyettesitett");
tabla.Columns.Remove("Helyettesitett_BOOL");
tabla.Columns["Helyettesitett_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns["Helyettesitett_BNAME"].ColumnName = OrarendResource.HelyettesitettSearchModel;
i = ((int)OraTulajdonsagTipusEnum.online_ora).ToString();
tabla.Columns.Remove(i);
tabla.Columns.Remove(i + "_BOOL");
tabla.Columns[i + "_BNAME"].SetOrdinal(kezdoOszlopSorszam++);
tabla.Columns[i + "_BNAME"].ColumnName = OrarendResource.OnlineOra;
if (exportTipus == TanorakExportTipusEnum.Elmaradt)
{
tabla.Columns.Remove("DigEszkozTipus");
tabla.Columns.Remove("DigPlatformTipus");
tabla.Columns.Remove("DigTamEszkozTipus");
}
else
{
tabla.Columns["DigEszkozTipus"].ColumnName = OrarendResource.DigPlatformTipusKeresoPanel;
tabla.Columns["DigPlatformTipus"].ColumnName = OrarendResource.DigEszkozTipusKeresoPanel;
tabla.Columns["DigTamEszkozTipus"].ColumnName = OrarendResource.DigTamEszkozTipusKeresoPanel;
}
}
private byte[] GetTanorakExcelExport(TanorakExportTipusEnum exportTipus, DataTable dataTable, int kezdoOszlopSorszam, string sheetName, Dictionary<int, double> columnWidths = null)
{
TanoraAdatokSorrendezeseExcelbe(dataTable, kezdoOszlopSorszam, exportTipus);
ExportLogic.TryCreateHeaderIfNotExist(dataTable);
using (var stream = new MemoryStream())
{
using (var excel = new ExcelPackage(stream))
{
var workSheet = excel.Workbook.Worksheets.Add(sheetName);
workSheet.Cells[1, 1].LoadFromDataTable(dataTable, true);
ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]);
workSheet.Column(1).Style.Numberformat.Format = SDAFormat.ShortDateAndTime;
workSheet.Cells.AutoFitColumns();
if (columnWidths != null)
{
foreach (var key in columnWidths.Keys)
{
workSheet.Column(key).Width = columnWidths[key];
}
}
workSheet.View.FreezePanes(2, 1);
excel.Save();
}
stream.Position = 0;
return stream.ToArray();
}
}
public List<TanoraItemCo> GetTanitasiOraCoList(TanoraKeresoCO searchCo = null)
{
var ds = GetTanorak(searchCo);
var result = new List<TanoraItemCo>();
foreach (DataRow dataRow in ds.Tables[0].Rows)
{
var item = new TanoraItemCo(dataRow);
result.Add(item);
}
return result;
}
public List<TanorakItemCo> GetTanorakGridForNaplozasCoList(TanorakSearchCO searchCo)
{
var ds = Dal.CustomConnection.Run(ConnectionType, h => h.TanitasiOra().GetTanorakGridForNaplozasDataSet(searchCo.OsztalyCsoportId.Value, searchCo.TantargyId.Value, TanevId));
var result = new List<TanorakItemCo>();
foreach (var dataRow in ds.Tables[0].AsEnumerable())
{
result.Add(new TanorakItemCo(dataRow));
}
return FilterTanorakItemCoList(result, searchCo);
}
private List<TanorakItemCo> FilterTanorakItemCoList(List<TanorakItemCo> coList, TanorakSearchCO searchCo)
{
if (searchCo == null)
{
return coList;
}
IEnumerable<TanorakItemCo> result = coList;
if (searchCo.OraKezdete.HasValue && !string.IsNullOrWhiteSpace(searchCo.OraKezdete.Value.ToString()))
{
result = result.Where(x => x.OraKezdete < searchCo.OraKezdete.Value);
}
if (searchCo.OsztalyCsoportId.HasValue)
{
result = result.Where(x => x.OsztCsop == searchCo.OsztalyCsoportId.Value);
}
if (searchCo.TanarId.HasValue)
{
result = result.Where(x => x.Tanar == searchCo.TanarId.Value);
}
if (searchCo.TantargyId.HasValue)
{
result = result.Where(x => x.Targy == searchCo.TantargyId.Value);
}
if (searchCo.Helyetesitett.HasValue)
{
if (searchCo.Helyetesitett.Value > 0)
{
result = result.Where(x => x.HTanar != null);
}
else
{
result = result.Where(x => x.HTanar == null);
}
}
return result.ToList();
}
/// INFO @DevKornel: Mobil használja
public DataSet GetDigitalisInformaciokByTanoraIds(IEnumerable<int> tanitasiOraIdList)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
return dal.GetDigitalisInformaciokByTanoraIds(tanitasiOraIdList, TanevId);
});
}
private string GetOratTartoPedagogus(IDalHandler h, int tanitasiOraId)
{
var tanitasiOraDal = h.TanitasiOra();
var tanitasiOra = tanitasiOraDal.Get(tanitasiOraId);
return tanitasiOra.HelyettesitoTanar != null ? tanitasiOra.HelyettesitoTanar.NyomtatasiNev : tanitasiOra.Tanar.NyomtatasiNev;
}
private bool IsElmaradtOraAndPedagogusHasNemkotottMunkaido(IDalHandler h, int tanitasioraId)
{
var systemSettingsHelper = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h));
var tevekenysegutkozesSystemSetting = systemSettingsHelper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles);
if (tevekenysegutkozesSystemSetting != (int)TevekenysegUtkozesEnum.UtkozesNemLehetseges)
{
return false;
}
var dal = h.NemKotottMunkaido();
var result = dal.IsElmaradtOraAndPedagogusHasNemkotottMunkaido(tanitasioraId);
return result;
}
public void UpdateTanitasiOraEvesSorszamTeljesTanev()
{
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
h.TanitasiOra().UpdateTanitasiOraEvesSorszamTeljesTanev(IntezmenyId, TanevId);
});
}
public void UpdateTanitasiOraEvesSorszamTanitasiOra(int tanitasiOraId)
{
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.TanitasiOra();
h.TanitasiOra().UpdateTanitasiOraEvesSorszamTanitasiOra(IntezmenyId, TanevId, tanitasiOraId);
});
}
/// INFO: Mobil használja
public bool IsFelhasznaloNaplozta(int tanitasiOraId)
=> Dal.CustomConnection.Run(ConnectionType, h =>
{
var tanitasiOra = h.TanitasiOra().Get(tanitasiOraId);
return tanitasiOra.TanarId == FelhasznaloId || tanitasiOra.HelyettesitoTanarId == FelhasznaloId;
});
/// INFO: Mobil használja
public IOrarendiOra GetOrarendiOraIdForTanitasiOra(ITanitasiOra tanitasiOra)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
if (tanitasiOra.OrarendiOraGroupId.IsEntityId())
{
return h.OrarendiOra().Get(h.TanitasiOra().GetOrarendiOraByTanoraGroupId(tanitasiOra.OrarendiOraGroupId.Value, tanitasiOra.Datum));
}
return null;
});
}
}
}