using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Kreta.BusinessLogic.HelperClasses; using Kreta.Core; using Kreta.Enums; using Kreta.Resources; using Kreta.Web.Helpers.TabStrip; using Kreta.Web.Models; using Kreta.Web.Security; using Newtonsoft.Json; namespace Kreta.Web.Areas.OsztalyCsoport.Models { public class ModOsztalyModel { public ModOsztalyModel() { AmiKepzesiJellemzokModel = new AmiKepzesiJellemzokModel(); } public int? ID { get; set; } [Display(Name = nameof(OsztalyCsoportResource.OsztalyNeve), ResourceType = typeof(OsztalyCsoportResource))] public string Nev { get; set; } [Display(Name = nameof(OsztalyCsoportResource.EvfolyamNeve), ResourceType = typeof(OsztalyCsoportResource))] public int? Evfolyam { get; set; } [Display(Name = nameof(OsztalyCsoportResource.VegzosEvfolyamuOsztalyKozepfokuOktatasiIntezmenyben), ResourceType = typeof(OsztalyCsoportResource))] public int? VegzosEvf { get; set; } [Display(Name = nameof(OsztalyCsoportResource.KepzesTipusa), ResourceType = typeof(OsztalyCsoportResource))] public int? KepzesiForma { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Tanterv), ResourceType = typeof(OsztalyCsoportResource))] public int? Tanterv { get; set; } [Display(Name = nameof(OsztalyCsoportResource.NevelesiTerv), ResourceType = typeof(OsztalyCsoportResource))] public int? NevelesiTerv { get { return Tanterv; } set { Tanterv = value; } } [Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))] public int? FeladatellatasiHely { get; set; } public string OsztalyIDArrayString { get; set; } public string[] OsztalyIdArray => this.OsztalyIDArrayString.Split(','); [Display(Name = nameof(OsztalyCsoportResource.KivalasztottOsztalyok), ResourceType = typeof(OsztalyCsoportResource))] public string OsztalyNevArray { get; set; } [Display(Name = nameof(OsztalyCsoportResource.TervezettLetszam), ResourceType = typeof(OsztalyCsoportResource))] public int? TervezettLetszam { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Keresztfeleves), ResourceType = typeof(OsztalyCsoportResource))] public int? Keresztfeleves { get; set; } [Display(Name = nameof(OsztalyCsoportResource.TechnikaiOsztaly), ResourceType = typeof(OsztalyCsoportResource))] public int? TechnikaiOsztaly { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakmacsoport), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakmacsoportId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Agazat), ResourceType = typeof(OsztalyCsoportResource))] public int? AgazatId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakkepesites), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakkepesitesId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.ReszSzakkepesites), ResourceType = typeof(OsztalyCsoportResource))] public int? ReszSzakkepesitesId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Agazat), ResourceType = typeof(OsztalyCsoportResource))] public int? AgazatUjSzktTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakma), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakmaTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakmairany), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakmairanyTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.TanulmanyiTerulet), ResourceType = typeof(OsztalyCsoportResource))] public int? TanulmanyiTeruletNktTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakkepesites), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakkepesitesNktTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Szakirany), ResourceType = typeof(OsztalyCsoportResource))] public int? SzakiranyNktTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Nemzetisegi), ResourceType = typeof(OsztalyCsoportResource))] public int? Nemzetisegi { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Kettannyelvu), ResourceType = typeof(OsztalyCsoportResource))] public int? Kettannyelvu { get; set; } [Display(Name = nameof(OsztalyCsoportResource.NyelviElokeszito), ResourceType = typeof(OsztalyCsoportResource))] public int? NyelviElokeszito { get; set; } [Display(Name = nameof(OsztalyCsoportResource.IsGyogypedagogiaiLogopediai), ResourceType = typeof(OsztalyCsoportResource))] public int? IsGyogypedagogiaiLogopediai { get; set; } [Display(Name = nameof(OsztalyCsoportResource.SpecialisJellemzo), ResourceType = typeof(OsztalyCsoportResource))] public string SpecialisJellemzo { get; set; } public string GimnaziumIdsJSON { get; set; } [Display(Name = nameof(OsztalyCsoportResource.GimnaziumiEvfolyamTipus), ResourceType = typeof(OsztalyCsoportResource))] public int? GimnaziumiEvfolyamTipusId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.SportOsztaly), ResourceType = typeof(OsztalyCsoportResource))] public int? Sport { get; set; } [Display(Name = nameof(OsztalyCsoportResource.AranyJanosProgram), ResourceType = typeof(OsztalyCsoportResource))] public int? AJProgram { get; set; } [Display(Name = nameof(OsztalyCsoportResource.AranyJanosAlProgram), ResourceType = typeof(OsztalyCsoportResource))] public int? AJAlProgram { get; set; } //[Display(Name = nameof(OsztalyCsoportResource.AranyJanosTehetsegProgram), ResourceType = typeof(OsztalyCsoportResource))] //public int? AJTehettseggondozoProgram { get; set; } [Display(Name = nameof(OsztalyCsoportResource.OsztalynaploMegnyitasDatuma), ResourceType = typeof(OsztalyCsoportResource))] public System.DateTime? OsztalynaploMegnyitasa { get; set; } [Display(Name = nameof(OsztalyCsoportResource.OsztalynaploLezarasDatuma), ResourceType = typeof(OsztalyCsoportResource))] public System.DateTime? OsztalynaploLezarasa { get; set; } public List TabList { get; set; } public Dictionary FeladatellatasiHelyIsSzakkepzeses { get; set; } public string FeladatellatasiHelyIsSzakkepzesesJSON { get { return JsonConvert.SerializeObject(FeladatellatasiHelyIsSzakkepzeses); } } public Dictionary FeladatellatasiHelyIsNkt { get; set; } public string FeladatellatasiHelyIsNktJSON { get { return JsonConvert.SerializeObject(FeladatellatasiHelyIsNkt); } } public bool IsIntezmenySzakkepzo { get; set; } [Display(Name = nameof(OsztalyCsoportResource.JogviszonyTipus), ResourceType = typeof(OsztalyCsoportResource))] public int? JogviszonyTipusId { get; set; } public bool IsNszfhUjSzkt => ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny; public bool IsNktBlockVisible { get; set; } public List SzakkepzoEvfolyamIdList { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Osztalyfonok), ResourceType = typeof(OsztalyCsoportResource))] public int? OsztalyFonok { get; set; } [Display(Name = nameof(OsztalyCsoportResource.OsztalyfonokHelyettesEvfolyamfelelos), ResourceType = typeof(OsztalyCsoportResource))] public int? OsztalyFonokHelyettes { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))] public int? Terem { get; set; } public int SzakmacsoportTipusNa => (int)SzakmacsoportTipusEnum.Na; public int AgazatTipusNa => (int)AgazatTipusEnum.Na; public int SzakkepesitesTipusNa => (int)SzakkepesitesTipusEnum.Na; public int ReszszakkepesiteTipusNa => (int)ReszszakkepesitesTipusEnum.Na; public int TanulmanyiTeruletNktTipusNa => (int)TanulmanyiTeruletNktTipusEnum.na; public int SzakkepesitesNktTipusNa => (int)SzakkepesitesNktTipusEnum.na; public int SzakiranyNktTipusNa => (int)SzakiranyNktTipusEnum.na; public int AgazatTipusUjSzktNa => (int)AgazatUjSzktTipusEnum.na; public int SzakmaTipusUjSzktNa => (int)SzakmaTipusEnum.na; public int SzakmairanyTipusUjSzktNa => (int)SzakmairanyTipusEnum.na; public AmiKepzesiJellemzokModel AmiKepzesiJellemzokModel { get; set; } public string AmiFelhelyIdsJSON { get; set; } public OsztalyTobbesModCO ConvertModelToTobbesModCO() { return new OsztalyTobbesModCO() { ID = this.ID, Evfolyam = this.Evfolyam, FeladatellatasiHely = this.FeladatellatasiHely, KepzesiForma = this.KepzesiForma, Nev = this.Nev, OsztalyIDArray = this.OsztalyIDArrayString, OsztalyNevArray = this.OsztalyNevArray, Tanterv = this.Tanterv, VegzosEvf = this.VegzosEvf, Keresztfeleves = this.Keresztfeleves, TechnikaiOsztaly = this.TechnikaiOsztaly, SzakmacsoportId = this.SzakmacsoportId, AgazatId = this.AgazatId, SzakkepesitesId = this.SzakkepesitesId, ReszSzakkepesitesId = this.ReszSzakkepesitesId, AgazatUjSzktTipusId = this.AgazatUjSzktTipusId, SzakmaTipusId = this.SzakmaTipusId, SzakmairanyTipusId = this.SzakmairanyTipusId, SzakiranyNktTipusId = this.SzakiranyNktTipusId, SzakkepesitesNktTipusId = this.SzakkepesitesNktTipusId, TanulmanyiTeruletNktTipusId = this.TanulmanyiTeruletNktTipusId, TervezettLetszam = this.TervezettLetszam, Nemzetisegi = this.Nemzetisegi, Kettannyelvu = this.Kettannyelvu, NyelviElokeszito = this.NyelviElokeszito, IsGyogypedagogiaiLogopediai = this.IsGyogypedagogiaiLogopediai, GimnaziumiEvfolyamTipusId = this.GimnaziumiEvfolyamTipusId, Sport = this.Sport, AJProgram = this.AJProgram, AJAlProgram = this.AJAlProgram, //AJTehettseggondozoProgram = this.AJTehettseggondozoProgram SpecialisJellemzo = this.SpecialisJellemzo, OsztalynaploMegnyitasDatuma = this.OsztalynaploMegnyitasa, OsztalynaploLezarasDatuma = this.OsztalynaploLezarasa, JogviszonyTipusId = this.JogviszonyTipusId, OsztalyFonok = this.OsztalyFonok, OsztalyFonokHelyettes = this.OsztalyFonokHelyettes, Terem = this.Terem, MuveszetiAgId = this.AmiKepzesiJellemzokModel.MuveszetiAgId, MufajTipusId = this.AmiKepzesiJellemzokModel.MufajTipusId, TanszakTipusId = this.AmiKepzesiJellemzokModel.TanszakTipusId, }; } public static ModOsztalyModel ConvertCOToModModel(OsztalyCO co) { ModOsztalyModel mod = new ModOsztalyModel() { Evfolyam = co.EvfolyamTipusa > 0 ? co.EvfolyamTipusa : new int?(), FeladatellatasiHely = co.FeladatEllatasiHelyId, ID = co.Id, KepzesiForma = co.KepzesiForma, Nev = co.OsztalyNev, Tanterv = co.TantervId, VegzosEvf = co.VegzosEvfolyam.ToNullableInt(), Keresztfeleves = co.Keresztfeleves.ToNullableInt(), SzakmacsoportId = co.SzakmacsoportId, AgazatId = co.AgazatId, SzakkepesitesId = co.SzakkepesitesId, ReszSzakkepesitesId = co.ReszSzakkepesitesId, AgazatUjSzktTipusId = co.AgazatUjSzktTipusId, SzakmaTipusId = co.SzakmaTipusId, SzakmairanyTipusId = co.SzakmairanyTipusId, TervezettLetszam = co.TervezettLetszam, Nemzetisegi = co.Nemzetisegi.ToNullableInt(), Kettannyelvu = co.Kettannyelvu.ToNullableInt(), NyelviElokeszito = co.NyelviElokeszito.ToNullableInt(), IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai.ToNullableInt(), GimnaziumiEvfolyamTipusId = co.GimnaziumiEvfolyamTipusId, OsztalynaploMegnyitasa = co.OsztalynaploMegnyitasa, OsztalynaploLezarasa = co.OsztalynaploLezarasa, AJAlProgram = co.AJAlProgram, JogviszonyTipusId = co.JogviszonyTipusId, }; mod.AmiKepzesiJellemzokModel = new AmiKepzesiJellemzokModel(); mod.AmiKepzesiJellemzokModel.MuveszetiAgId = co.MuveszetiAgId; mod.AmiKepzesiJellemzokModel.MufajTipusId = co.MufajTipusId; mod.AmiKepzesiJellemzokModel.TanszakTipusId = co.TanszakTipusId; return mod; } } }