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)DigTamEszkozTipusEnum.na }; } public void ConvertTo(List 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); } } } }