using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Interfaces; using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites; using Kreta.Core; using Kreta.Ellenorzo.Dao.VN.FeltoltottFajl; using Kreta.Enums; using Kreta.Resources; using Kreta.Web.Attributes; using Kreta.Web.Helpers; namespace Kreta.Web.Areas.Orarend.Models { public class TanoraAdatok { private readonly IFileServiceHelper _fileServiceHelper; public TanoraAdatok() { } public TanoraAdatok(int? szervezetTipusId) { SzervezetTipusId_TanoraAdatok = szervezetTipusId; } public TanoraAdatok(IFileServiceHelper fileServiceHelper = null, int? szervezetTipusId = null) { _fileServiceHelper = fileServiceHelper; SzervezetTipusId_TanoraAdatok = szervezetTipusId; } [Display(Name = nameof(OrarendResource.MegtartottOra), ResourceType = typeof(OrarendResource))] public bool? Megtartott { get; set; } public DateTime NaplozasDatum { get; set; } public bool TanarSorszamozhat { get; set; } public string OraTartam { get; set; } public int? FoglalkozasId { get; set; } public int? TanarId { get; set; } public int? OsztalyCsoportId { get; set; } public int? TantargyId { get; set; } public int? OsztalyfonokId { get; set; } public bool Naplozhat { get; set; } public bool HasOrarendiOra { get; set; } public bool VanOralatogatasa { get; set; } public List OpenBoardFiles { get; set; } public DateTime? OraDatum { get; set; } [KretaDisplayName(1499)] /*Helyettesítés*/ public bool Helyettesites { get; set; } [Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))] public string OsztalyCsoportNev { get; set; } private string _oratartamEsOraszam; [Display(Name = nameof(OrarendResource.OraTartam), ResourceType = typeof(OrarendResource))] public string OratartamEsOraszam { get { if (string.IsNullOrWhiteSpace(_oratartamEsOraszam)) { return OraTartam + " (" + Oraszam + "." + Kreta.BusinessLogic.Utils.StringResourcesUtils.GetString(219) + ")"; } return _oratartamEsOraszam; } set { _oratartamEsOraszam = value; } } [Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))] public string TantargyNev { get; set; } [KretaDisplayName(4539)] /*Óra éves sorszáma*/ public int? EvesOraSorszam { get; set; } [Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))] public string TanarNev { get; set; } [Display(Name = nameof(OrarendResource.MegtartottOra), ResourceType = typeof(OrarendResource))] public string MegtartottText { get { return Megtartott.HasValue ? Megtartott.Value.GetDisplayName() : Framework.StringResourcesUtil.GetString(3610); } } [Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))] public int? Terem { get; set; } [KretaDisplayName(1532)] /*Sorszámozandó*/ public bool Sorszamozando { get; set; } [KretaDisplayName(1544)] /*>Párhuzamos óra*/ public bool ParhuzamosOra { get; set; } [KretaDisplayName(1533)] /*Túlóra*/ public bool Tulora { get; set; } [KretaDisplayName(1534)] /*TÁMOP óra*/ public bool TAMOPOra { get; set; } [Display(Name = nameof(OrarendResource.KIPOra), ResourceType = typeof(OrarendResource))] public bool KIPOra { get; set; } [Display(Name = nameof(OrarendResource.VEKOP73317), ResourceType = typeof(OrarendResource))] public bool VEKOP73317 { get; set; } [Display(Name = nameof(OrarendResource.KAPOra), ResourceType = typeof(OrarendResource))] public bool KAPOra { get; set; } [Display(Name = nameof(OrarendResource.NemSzakrendszeruOra), ResourceType = typeof(OrarendResource))] public bool NemSzakrendszeruOra { get; set; } [KretaDisplayName(1536)] /*IKT tanóra*/ public bool IKTTanora { get; set; } [KretaDisplayName(1537)] /*Nemzetiségi tanóra*/ public bool NemzetisegiOra { get; set; } [Display(Name = nameof(TantargyResource.MegbizasiSzerzodesselEllatottOra), ResourceType = typeof(TantargyResource))] public bool IsFelnottoktatasiSzerzodes { get; set; } [Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))] public bool OnlineOra { get; set; } [KretaDisplayName(1538)] /*Mindennapos testnevelés*/ public bool MindennaposTestneveles { get; set; } [KretaDisplayName(1539)] /*IPR tanóra*/ public bool IPRTanora { get; set; } [KretaDisplayName(1540)] /*Differenciált*/ public bool Differencialt { get; set; } [KretaDisplayName(1541)] /*Kooperatív*/ public bool Kooperativ { get; set; } [KretaDisplayName(1542)] /*Mérés*/ public bool Meres { get; set; } [KretaDisplayName(1543)] /*Dráma*/ public bool Drama { get; set; } [KretaDisplayName(1545)] /*TIOP 12*/ public bool Tiop { get; set; } [KretaDisplayName(2593)] /*Bontott*/ public bool Bontott { get; set; } [KretaDisplayName(97)] /*Megjegyzés*/ public string Megjegyzes { get; set; } [KretaRequiredIf("Helyettesites", true, StringResourcesId = 2683)] /*A helyettesítő tanár kiválasztása kötelező!*/ [Display(Name = nameof(OrarendResource.HelyettesitoTanar), ResourceType = typeof(OrarendResource))] public int? HelyettesitoTanar { get; set; } [KretaRequiredIf("Helyettesites", true, StringResourcesId = 2685)] /*A helyettesítés típusának kiválasztása kötelező!*/ [KretaDisplayName(1694)] /*Helyettesítés típusa*/ public int? HelyettesitesTipusa { get; set; } [KretaDisplayName(1684)] /*Helyettesítés oka*/ public string HelyettesitesOka { get; set; } public bool IsTanora { get; set; } // Lenaplózott tanóra-e vagy még épp naplózás előtt áll... public bool IsNapirend { get; set; } [KretaRequired(StringResourcesId = 4573)] /*Óra kezdete megadása kötelező*/ [KretaDisplayName(1690)] /*Óra kezdete*/ public DateTime? OraKezdete { get; set; } [KretaRequired(StringResourcesId = 4574)] /*Óra vége megadása kötelező*/ [KretaDisplayName(1691)] /*Óra vége*/ public DateTime? OraVege { get; set; } [Display(Name = nameof(OrarendResource.CsengetesiRend), ResourceType = typeof(OrarendResource))] public int? CsengetesiRendID { get; set; } [Display(Name = nameof(OrarendResource.Oraszam), ResourceType = typeof(OrarendResource))] [KretaRange(0, 24)] public int? Oraszam { get; set; } [Display(Name = nameof(OrarendResource.Multikulturalis), ResourceType = typeof(OrarendResource))] public bool Multikulturalis { get; set; } [Display(Name = nameof(OrarendResource.EFOP32317DigitalisKornyezetAKozenevelesben), ResourceType = typeof(OrarendResource))] public bool EFOP32317 { get; set; } [Display(Name = nameof(OrarendResource.KomplexOra), ResourceType = typeof(OrarendResource))] public bool KomplexOra { get; set; } [Display(Name = nameof(OrarendResource.GINOP623), ResourceType = typeof(OrarendResource))] public bool GINOP623 { get; set; } [Display(Name = nameof(OrarendResource.EFOP31716EselyteremtesAKoznevelesben), ResourceType = typeof(OrarendResource))] public bool EFOP31716EselyteremtesAKoznevelesben { get; set; } [Display(Name = nameof(OrarendResource.EFOP33717), ResourceType = typeof(OrarendResource))] public bool EFOP33717 { get; set; } [Display(Name = nameof(OrarendResource.TIOP11112120120001), ResourceType = typeof(OrarendResource))] public bool TIOP11112120120001 { get; set; } [Display(Name = nameof(OrarendResource.DFHT), ResourceType = typeof(OrarendResource))] public bool DFHT { get; set; } [Display(Name = nameof(OrarendResource.Rahangolodas), ResourceType = typeof(OrarendResource))] public bool Rahangolodas { get; set; } [Display(Name = nameof(OrarendResource.Testmozgas), ResourceType = typeof(OrarendResource))] public bool Testmozgas { get; set; } [Display(Name = nameof(OrarendResource.Muveszet), ResourceType = typeof(OrarendResource))] public bool Muveszet { get; set; } [Display(Name = nameof(OrarendResource.Eletgyakorlat), ResourceType = typeof(OrarendResource))] public bool Eletgyakorlat { get; set; } [Display(Name = nameof(OrarendResource.Logika), ResourceType = typeof(OrarendResource))] public bool Logika { get; set; } [Display(Name = nameof(OrarendResource.TeOrad), ResourceType = typeof(OrarendResource))] public bool TeOrad { get; set; } [Display(Name = nameof(OrarendResource.DigitalisAlapProgram), ResourceType = typeof(OrarendResource))] public bool DigitalisAlapProgram { get; set; } [Display(Name = nameof(OrarendResource.EFOP23517201700038Miapalya), ResourceType = typeof(OrarendResource))] public bool EFOP23517201700038Miapalya { get; set; } [Display(Name = nameof(OrarendResource.TanevTananyaganakIsmetlese), ResourceType = typeof(OrarendResource))] public bool TanevTananyaganakIsmetlese { get; set; } [Display(Name = nameof(OrarendResource.TanevTananyaganakKiegeszitese), ResourceType = typeof(OrarendResource))] public bool TanevTananyaganakKiegeszitese { get; set; } [Display(Name = nameof(OrarendResource.TanulokDigitalisKeszsegfejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokDigitalisKeszsegfejlesztese { get; set; } [Display(Name = nameof(OrarendResource.Projektmunka), ResourceType = typeof(OrarendResource))] public bool Projektmunka { get; set; } [Display(Name = nameof(OrarendResource.TanulokKompenzaciosIraskeszsegFejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokKompenzaciosIraskeszsegFejlesztese { get; set; } [Display(Name = nameof(OrarendResource.TanulokKompenzaciosOlvasasiKepessegFejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokKompenzaciosOlvasasiKepessegFejlesztese { get; set; } [Display(Name = nameof(OrarendResource.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese { get; set; } [Display(Name = nameof(OrarendResource.TanulokNyelviKepessegenekKompenzaciosFejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokNyelviKepessegenekKompenzaciosFejlesztese { get; set; } [Display(Name = nameof(OrarendResource.TanulokOnmegismeresenekSegitese), ResourceType = typeof(OrarendResource))] public bool TanulokOnmegismeresenekSegitese { get; set; } [Display(Name = nameof(OrarendResource.TanulokOnallosagraNevelese), ResourceType = typeof(OrarendResource))] public bool TanulokOnallosagraNevelese { get; set; } [Display(Name = nameof(OrarendResource.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese), ResourceType = typeof(OrarendResource))] public bool TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese { get; set; } [Display(Name = nameof(OrarendResource.TanulokOrientaciosTamogatasa), ResourceType = typeof(OrarendResource))] public bool TanulokOrientaciosTamogatasa { get; set; } [Display(Name = nameof(OrarendResource.TanulokSzocialitasanakFejlesztese), ResourceType = typeof(OrarendResource))] public bool TanulokSzocialitasanakFejlesztese { get; set; } [Display(Name = nameof(OrarendResource.TanulokTovabbhaladasatElokeszitoTevekenysegek), ResourceType = typeof(OrarendResource))] public bool TanulokTovabbhaladasatElokeszitoTevekenysegek { get; set; } [Display(Name = nameof(OrarendResource.PedagogusAltalJelzettEgyeniEsetkezeles), ResourceType = typeof(OrarendResource))] public bool PedagogusAltalJelzettEgyeniEsetkezeles { get; set; } [Display(Name = nameof(OrarendResource.ProjektmunkaTamogatasa), ResourceType = typeof(OrarendResource))] public bool ProjektmunkaTamogatasa { get; set; } [Display(Name = nameof(OrarendResource.DigitalisKeszsegfejlesztes), ResourceType = typeof(OrarendResource))] public bool DigitalisKeszsegfejlesztes { get; set; } [Display(Name = nameof(OrarendResource.KozossegiMunkaTamogatasa), ResourceType = typeof(OrarendResource))] public bool KozossegiMunkaTamogatasa { get; set; } [Display(Name = nameof(OrarendResource.TanoraElokeszitesenekTamogatasa), ResourceType = typeof(OrarendResource))] public bool TanoraElokeszitesenekTamogatasa { get; set; } [Display(Name = nameof(OrarendResource.TanoraLebonyolitasanakTamogatasa), ResourceType = typeof(OrarendResource))] public bool TanoraLebonyolitasanakTamogatasa { get; set; } [Display(Name = nameof(OrarendResource.NapkozisTevekenysegKeretebenEgyeniFejlesztes), ResourceType = typeof(OrarendResource))] public bool NapkozisTevekenysegKeretebenEgyeniFejlesztes { get; set; } public bool ElmaradtTanitasiOraRogzitesenekTiltasa { get; set; } public int? SzervezetTipusId_TanoraAdatok { get; set; } [Display(Name = nameof(OrarendResource.IsEgybefuggoGyakorlat), ResourceType = typeof(OrarendResource))] public bool IsEgybefuggoGyakorlat { get; set; } public void Fill(NaplozasElokeszitesModel model, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa) { if (model.IsTanora) { Megtartott = !model.IsElmaradtOra; } else { Megtartott = null; } OpenBoardFiles = FillFileok(model.OraAdat); TanarSorszamozhat = tanarSorszamozhat; OraTartam = model.OraTartamText; FoglalkozasId = model.OraAdat.FoglakozasId; TanarId = model.OraAdat.TanarId; TanarNev = model.OraAdat.TanarNev; OsztalyfonokId = model.OraAdat.OsztalyfonokId; OsztalyCsoportId = model.OraAdat.OsztalyCsoportId; OsztalyCsoportNev = model.OraAdat.OsztalyCsoportNev; TantargyId = model.OraAdat.TantargyId; TantargyNev = model.OraAdat.TantargyNev; Naplozhat = model.Naplozhat; HasOrarendiOra = model.HasOrarendiOra; Helyettesites = model.IsHelyettesites; EvesOraSorszam = model.OraAdat.EvesOraSorszam; Terem = model.OraAdat.TeremId; Sorszamozando = model.OraAdat.IsSorszamozando; ParhuzamosOra = model.OraTulajdonsag.ParhuzamosOra; if (model.Helyettesites != null && model.Helyettesites.Id.IsEntityId() && !model.IsTanora) { Tulora = model.Helyettesites.IsTulora; } else { Tulora = model.OraTulajdonsag.Tulora; } TAMOPOra = model.OraTulajdonsag.TAMOP; KIPOra = model.OraTulajdonsag.KIPOra; VEKOP73317 = model.OraTulajdonsag.VEKOP73317; KAPOra = model.OraTulajdonsag.KAPOra; NemSzakrendszeruOra = model.OraTulajdonsag.NemSzakrendszeru; IKTTanora = model.OraTulajdonsag.IktTanora; NemzetisegiOra = model.OraTulajdonsag.NemzetisegiOra; IsEgybefuggoGyakorlat = model.OraTulajdonsag.IsEgybefuggoGyakorlat; MindennaposTestneveles = model.OraTulajdonsag.MindennaposTestneveles; IPRTanora = model.OraTulajdonsag.IPRTanora; Differencialt = model.OraTulajdonsag.Differencialt; IsEgybefuggoGyakorlat = model.OraTulajdonsag.IsEgybefuggoGyakorlat; Kooperativ = model.OraTulajdonsag.Kooperativ; Meres = model.OraTulajdonsag.Meres; Drama = model.OraTulajdonsag.Drama; Tiop = model.OraTulajdonsag.Tiop; Bontott = model.OraTulajdonsag.Bontott; Megjegyzes = model.OraAdat.Megjegyzes; HelyettesitoTanar = model.Helyettesites.TanarId; HelyettesitesTipusa = model.Helyettesites.Tipus; HelyettesitesOka = model.Helyettesites.Oka; IsTanora = model.IsTanora; IsNapirend = model.OraAdat.IsTanorankivuli; OraKezdete = model.OraAdat.OraKezdete; OraVege = model.OraAdat.OraVege; CsengetesiRendID = model.OraAdat.CsengetesirendId; Oraszam = model.OraAdat.Oraszam; Multikulturalis = model.OraTulajdonsag.Multikulturalis; EFOP32317 = model.OraTulajdonsag.EFOP32317; KomplexOra = model.OraTulajdonsag.KomplexOra; GINOP623 = model.OraTulajdonsag.GINOP623; EFOP31716EselyteremtesAKoznevelesben = model.OraTulajdonsag.EFOP31716EselyteremtesAKoznevelesben; EFOP33717 = model.OraTulajdonsag.EFOP33717; TIOP11112120120001 = model.OraTulajdonsag.TIOP11112120120001; DFHT = model.OraTulajdonsag.DFHT; Rahangolodas = model.OraTulajdonsag.Rahangolodas; Testmozgas = model.OraTulajdonsag.Testmozgas; Muveszet = model.OraTulajdonsag.Muveszet; Eletgyakorlat = model.OraTulajdonsag.Eletgyakorlat; Logika = model.OraTulajdonsag.Logika; TeOrad = model.OraTulajdonsag.TeOrad; DigitalisAlapProgram = model.OraTulajdonsag.DigitalisAlapProgram; IsFelnottoktatasiSzerzodes = model.OraTulajdonsag.IsFelnottoktatasiSzerzodes; OnlineOra = model.OraTulajdonsag.OnlineOra; EFOP23517201700038Miapalya = model.OraTulajdonsag.EFOP23517201700038Miapalya; VanOralatogatasa = model.OraAdat.VanOralatogatasa; TanevTananyaganakIsmetlese = model.OraTulajdonsag.TanevTananyaganakIsmetlese; TanevTananyaganakKiegeszitese = model.OraTulajdonsag.TanevTananyaganakKiegeszitese; TanulokDigitalisKeszsegfejlesztese = model.OraTulajdonsag.TanulokDigitalisKeszsegfejlesztese; Projektmunka = model.OraTulajdonsag.Projektmunka; TanulokKompenzaciosIraskeszsegFejlesztese = model.OraTulajdonsag.TanulokKompenzaciosIraskeszsegFejlesztese; TanulokKompenzaciosOlvasasiKepessegFejlesztese = model.OraTulajdonsag.TanulokKompenzaciosOlvasasiKepessegFejlesztese; TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = model.OraTulajdonsag.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese; TanulokNyelviKepessegenekKompenzaciosFejlesztese = model.OraTulajdonsag.TanulokNyelviKepessegenekKompenzaciosFejlesztese; TanulokOnmegismeresenekSegitese = model.OraTulajdonsag.TanulokOnmegismeresenekSegitese; TanulokOnallosagraNevelese = model.OraTulajdonsag.TanulokOnallosagraNevelese; TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = model.OraTulajdonsag.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese; TanulokOrientaciosTamogatasa = model.OraTulajdonsag.TanulokOrientaciosTamogatasa; TanulokSzocialitasanakFejlesztese = model.OraTulajdonsag.TanulokSzocialitasanakFejlesztese; TanulokTovabbhaladasatElokeszitoTevekenysegek = model.OraTulajdonsag.TanulokTovabbhaladasatElokeszitoTevekenysegek; PedagogusAltalJelzettEgyeniEsetkezeles = model.OraTulajdonsag.PedagogusAltalJelzettEgyeniEsetkezeles; ProjektmunkaTamogatasa = model.OraTulajdonsag.ProjektmunkaTamogatasa; DigitalisKeszsegfejlesztes = model.OraTulajdonsag.DigitalisKeszsegfejlesztes; KozossegiMunkaTamogatasa = model.OraTulajdonsag.KozossegiMunkaTamogatasa; TanoraElokeszitesenekTamogatasa = model.OraTulajdonsag.TanoraElokeszitesenekTamogatasa; TanoraLebonyolitasanakTamogatasa = model.OraTulajdonsag.TanoraLebonyolitasanakTamogatasa; NapkozisTevekenysegKeretebenEgyeniFejlesztes = model.OraTulajdonsag.NapkozisTevekenysegKeretebenEgyeniFejlesztes; ElmaradtTanitasiOraRogzitesenekTiltasa = elmaradtTanitasiOraRogzitesenekTiltasa; } private List FillFileok(OraAdatModel model) { var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType(), _fileServiceHelper); var fileKereses = new FileKeresesRequestDao { DatumTol = model.OraKezdete, DatumIg = model.OraVege, OrarendiOraId = model.OrarendiOraId, OrarendiOraGroupId = model.GroupId, TanitasiOraId = model.TanitasiOraId, OraFileTipusId = (int)OraFileTipusEnum.openboard }; return helper.GetFiles(fileKereses); } public static TanoraAdatok MapFromKozpontiOrakRogzitesModel(AdminKozpontiOrakRogzitesModel model) { return new TanoraAdatok { Sorszamozando = model.Sorszamozando, ParhuzamosOra = model.ParhuzamosOra, Tulora = model.Tulora, TAMOPOra = model.TAMOPOra, KIPOra = model.KIPOra, VEKOP73317 = model.VEKOP73317, KAPOra = model.KAPOra, NemSzakrendszeruOra = model.NemSzakrendszeruOra, IKTTanora = model.IKTTanora, NemzetisegiOra = model.NemzetisegiOra, IsEgybefuggoGyakorlat = model.IsEgybefuggoGyakorlat, IsFelnottoktatasiSzerzodes = model.IsFelnottoktatasiSzerzodes, OnlineOra = model.OnlineOra, MindennaposTestneveles = model.MindennaposTestneveles, IPRTanora = model.IPRTanora, Differencialt = model.Differencialt, Kooperativ = model.Kooperativ, Meres = model.Meres, Drama = model.Drama, Tiop = model.Tiop, TIOP11112120120001 = model.TIOP11112120120001, Bontott = model.Bontott, Multikulturalis = model.Multikulturalis, EFOP32317 = model.EFOP32317, EFOP33717 = model.EFOP33717, EFOP31716EselyteremtesAKoznevelesben = model.EFOP31716EselyteremtesAKoznevelesben, KomplexOra = model.KomplexOra, GINOP623 = model.GINOP623, DFHT = model.DFHT, Rahangolodas = model.Rahangolodas, Testmozgas = model.Testmozgas, Muveszet = model.Muveszet, Eletgyakorlat = model.Eletgyakorlat, Logika = model.Logika, TeOrad = model.TeOrad, DigitalisAlapProgram = model.DigitalisAlapProgram, EFOP23517201700038Miapalya = model.EFOP23517201700038Miapalya, }; } } }