kreta/Kreta.BusinessLogic/Logic/Naplozas/Elokeszites/NaplozasElokeszitesModel.cs
2024-03-13 00:33:46 +01:00

294 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Enums;
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
{
public class NaplozasElokeszitesModel
{
public bool IsEgyediNaplozas { get; set; }
public int UserId { get; set; }
public bool IsHelyettesites
{
get
{
return Helyettesites.TanarId.HasValue;
}
}
public bool HasOrarendiOra
{
get
{
return OraAdat.OrarendiOraId.HasValue;
}
}
public bool IsTanora
{
get
{
return OraAdat.TanitasiOraId.HasValue;
}
}
public bool IsElmaradtOra
{
get
{
return OraAdat.IsElmaradt;
}
}
private bool IsOraTulajdonosa
{
get
{
if (IsEgyediNaplozas)
{
return true;
}
if (IsHelyettesites)
{
return Helyettesites.TanarId == UserId;
}
return OraAdat.TanarId == UserId;
}
}
public bool NaplozhatoDatum
{
get
{
return OraAdat.OraKezdete < DateTime.Now.Date.AddDays(1);
}
}
public bool Ertekelhet
{
get
{
if (!NaplozhatoDatum)
{
return false;
}
if (IsHelyettesites && (Helyettesites.Tipus == (int)HelyettesitesTipusEnum.oraosszevonas || Helyettesites.Tipus == (int)HelyettesitesTipusEnum.szakszeru_helyettesites))
{
return Helyettesites.TanarId == UserId;
}
return OraAdat.TanarId == UserId;
}
}
public bool Naplozhat
{
get
{
return IsTanora ? IsOraTulajdonosa : (OraAdat.IsOraOsszevonas || IsOraTulajdonosa) && NaplozhatoDatum;
}
}
public string OraTartamText
{
get
{
return $"{OraAdat.OraKezdete.ToShortDateString()} {OraAdat.OraKezdete.ToShortTimeString()}-{OraAdat.OraVege.ToShortTimeString()}";
}
}
public bool KellElozoOraTema
{
get
{
return !IsTanora || IsEgyediNaplozas;
}
}
public int MaxKeses
{
get
{
var span = OraAdat.OraVege.Subtract(OraAdat.OraKezdete);
return (span.Hours * 60) + span.Minutes - 1;
}
}
internal NaplozasElokeszitesModel(int userId, int? szervezetTipusId = null)
{
UserId = userId;
OraAdat = new OraAdatModel();
Helyettesites = new HelyettesitesModel();
OraTulajdonsag = new OraTulajdonsagModel();
Hazifeladat = new HazifeladatModel();
Mulasztas = new MulasztasModel();
DigitalisOktatas = new DigitalisOktatasAdatok();
SzervezetTipusId = szervezetTipusId;
}
public OraAdatModel OraAdat { get; set; }
public HelyettesitesModel Helyettesites { get; set; }
public OraTulajdonsagModel OraTulajdonsag { get; set; }
public HazifeladatModel Hazifeladat { get; set; }
public MulasztasModel Mulasztas { get; set; }
public DigitalisOktatasAdatok DigitalisOktatas { get; set; }
public int? SzervezetTipusId { get; set; }
public bool IsMentorOra { get; set; }
public void ConvertTo(TanoraCO co)
{
co.IsTanoranKivuli = OraAdat.IsTanorankivuli;
co.ID = OraAdat.TanitasiOraId;
co.Datum = OraAdat.OraKezdete.Date;
co.BejegyIdo = OraAdat.RogzitesDatuma;
co.HetNapja = OraAdat.HetNapja;
co.Hetirend = OraAdat.Hetirend;
co.Megjegyzes = OraAdat.Megjegyzes;
co.Megtartott = !IsElmaradtOra;
co.MobilNaplozott = OraAdat.IsMobilNaplozott;
co.AdminAltalKiirt = OraAdat.IsAdminAltalKiirt;
co.OraKezd = OraAdat.OraKezdete;
co.OraVeg = OraAdat.OraVege;
co.EvesOraSorszam = OraAdat.EvesOraSorszam;
co.Oraszam = OraAdat.Oraszam ?? -1;
co.Sorszamozando = OraAdat.IsSorszamozando;
co.TemaTanmenetId = OraAdat.TemaTanmenetId;
co.TanulasiEgysegId = OraAdat.TanulasiEgysegId;
co.Tema = OraAdat.Tema;
co.Targy = OraAdat.TantargyId;
co.OrarendiOra = OraAdat.OrarendiOraId;
co.Fogl = OraAdat.FoglakozasId;
co.Tulaj = UserId;
co.OrarendiOraGroupId = OraAdat.GroupId;
co.Tanar = OraAdat.TanarId;
co.Terem = OraAdat.TeremId;
co.OsztCsop = OraAdat.OsztalyCsoportId;
co.CsengetesiRendOraId = OraAdat.CsengetesirendOraId;
co.CsengetesiRendID = OraAdat.CsengetesirendId;
co.IktTanora = OraTulajdonsag.IktTanora;
co.Bontott = OraTulajdonsag.Bontott;
co.IsFelnottoktatasiSzerzodes = OraTulajdonsag.IsFelnottoktatasiSzerzodes;
co.OnlineOra = OraTulajdonsag.OnlineOra;
co.NemzetisegiOra = OraTulajdonsag.NemzetisegiOra;
co.MindennaposTestneveles = OraTulajdonsag.MindennaposTestneveles;
co.IPRTanora = OraTulajdonsag.IPRTanora;
co.Differencialt = OraTulajdonsag.Differencialt;
co.Kooperativ = OraTulajdonsag.Kooperativ;
co.Meres = OraTulajdonsag.Meres;
co.Drama = OraTulajdonsag.Drama;
co.Tiop = OraTulajdonsag.Tiop;
co.ParhuzamosOra = OraTulajdonsag.ParhuzamosOra;
co.NemSzakrendszeru = OraTulajdonsag.NemSzakrendszeru;
co.TAMOP = OraTulajdonsag.TAMOP;
co.KIPOra = OraTulajdonsag.KIPOra;
co.VEKOP73317 = OraTulajdonsag.VEKOP73317;
co.KAPOra = OraTulajdonsag.KAPOra;
co.Tulora = OraTulajdonsag.Tulora;
co.Multikulturalis = OraTulajdonsag.Multikulturalis;
co.EFOP32317 = OraTulajdonsag.EFOP32317;
co.KomplexOra = OraTulajdonsag.KomplexOra;
co.GINOP623 = OraTulajdonsag.GINOP623;
co.EFOP31716EselyteremtesAKoznevelesben = OraTulajdonsag.EFOP31716EselyteremtesAKoznevelesben;
co.EFOP33717 = OraTulajdonsag.EFOP33717;
co.TIOP11112120120001 = OraTulajdonsag.TIOP11112120120001;
co.DFHT = OraTulajdonsag.DFHT;
co.Rahangolodas = OraTulajdonsag.Rahangolodas;
co.Testmozgas = OraTulajdonsag.Testmozgas;
co.Muveszet = OraTulajdonsag.Muveszet;
co.Eletgyakorlat = OraTulajdonsag.Eletgyakorlat;
co.Logika = OraTulajdonsag.Logika;
co.TeOrad = OraTulajdonsag.TeOrad;
co.DigitalisAlapProgram = OraTulajdonsag.DigitalisAlapProgram;
co.EFOP23517201700038Miapalya = OraTulajdonsag.EFOP23517201700038Miapalya;
co.TanevTananyaganakIsmetlese = OraTulajdonsag.TanevTananyaganakIsmetlese;
co.TanevTananyaganakKiegeszitese = OraTulajdonsag.TanevTananyaganakKiegeszitese;
co.TanulokDigitalisKeszsegfejlesztese = OraTulajdonsag.TanulokDigitalisKeszsegfejlesztese;
co.Projektmunka = OraTulajdonsag.Projektmunka;
co.TanulokKompenzaciosIraskeszsegFejlesztese = OraTulajdonsag.TanulokKompenzaciosIraskeszsegFejlesztese;
co.TanulokKompenzaciosOlvasasiKepessegFejlesztese = OraTulajdonsag.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = OraTulajdonsag.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
co.TanulokNyelviKepessegenekKompenzaciosFejlesztese = OraTulajdonsag.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
co.TanulokOnmegismeresenekSegitese = OraTulajdonsag.TanulokOnmegismeresenekSegitese;
co.TanulokOnallosagraNevelese = OraTulajdonsag.TanulokOnallosagraNevelese;
co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = OraTulajdonsag.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
co.TanulokOrientaciosTamogatasa = OraTulajdonsag.TanulokOrientaciosTamogatasa;
co.TanulokSzocialitasanakFejlesztese = OraTulajdonsag.TanulokSzocialitasanakFejlesztese;
co.TanulokTovabbhaladasatElokeszitoTevekenysegek = OraTulajdonsag.TanulokTovabbhaladasatElokeszitoTevekenysegek;
co.PedagogusAltalJelzettEgyeniEsetkezeles = OraTulajdonsag.PedagogusAltalJelzettEgyeniEsetkezeles;
co.ProjektmunkaTamogatasa = OraTulajdonsag.ProjektmunkaTamogatasa;
co.DigitalisKeszsegfejlesztes = OraTulajdonsag.DigitalisKeszsegfejlesztes;
co.KozossegiMunkaTamogatasa = OraTulajdonsag.KozossegiMunkaTamogatasa;
co.TanoraElokeszitesenekTamogatasa = OraTulajdonsag.TanoraElokeszitesenekTamogatasa;
co.TanoraLebonyolitasanakTamogatasa = OraTulajdonsag.TanoraLebonyolitasanakTamogatasa;
co.NapkozisTevekenysegKeretebenEgyeniFejlesztes = OraTulajdonsag.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
co.HaziFeladat = Hazifeladat.Szoveg;
co.HaziHatarideje = Hazifeladat.Hatarido;
co.HaziFeladatId = Hazifeladat.Id;
co.CheckedOpenBoardFileIdList = OraAdat.CheckedOpenBoardFileIdList;
co.HaziFeladatCsatolmanyId = Hazifeladat.CsatolmanyId;
co.HelyettesitesId = Helyettesites.Id ?? 0;
co.Helyettesito = Helyettesites.TanarId;
co.HelyettesitesOka = Helyettesites.Oka;
co.HelyettesitesTipus = Helyettesites.Tipus;
co.DigEszkozTipusId = OraAdat.DigEszkozTipusId ?? (int)DigEszkozTipusEnum.na;
co.DigPlatformTipusId = OraAdat.DigPlatformTipusId ?? (int)DigPlatformTipusEnum.na;
co.DigTamEszkozTipusIdList = OraAdat.DigTamEszkozTipusIdList != null && OraAdat.DigTamEszkozTipusIdList.Count > 0 ? OraAdat.DigTamEszkozTipusIdList : new List<int>() { (int)DigTamEszkozTipusEnum.na };
}
public void ConvertTo(List<MulasztasokCo> coList)
{
foreach (var row in Mulasztas.MulasztasList)
{
var co = new MulasztasokCo();
if (row.Keses.HasValue && row.Keses.Value > 0 && row.MulasztasTipus != (int)MulasztasTipusEnum.potlas)
{
row.MulasztasTipus = (int)MulasztasTipusEnum.keses;
}
if (!row.MulasztasTipus.HasValue)
{
row.MulasztasTipus = (int)MulasztasTipusEnum.ures;
}
co.ID = row.MulasztasId;
co.TanuloId = row.TanuloId;
co.MulTip = row.MulasztasTipus;
if (row.MulasztasTipus == (int)MulasztasTipusEnum.keses || row.MulasztasTipus == (int)MulasztasTipusEnum.potlas)
{
co.KesIdo = row.Keses ?? 0;
}
co.HazifeladatHiany = row.HazifeladatHiany;
co.FelszerelesHiany = row.FelszerelesHiany;
co.Felmentes = row.Felmentes;
co.TanoraiDicseret = row.TanoraiDicseret;
co.HazifeladatHianyId = row.HazifeladatHianyId;
co.FelszerelesHianyId = row.FelszerelesHianyId;
co.FelmentesId = row.FelmentesId;
co.TanoraiDicseretId = row.TanoraiDicseretId;
coList.Add(co);
}
}
}
}