kreta/KretaWeb/Areas/OsztalyCsoport/Models/ModOsztalyModel.cs
2024-03-13 00:33:46 +01:00

271 lines
13 KiB
C#

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<TabStripItemModel> TabList { get; set; }
public Dictionary<int, bool> FeladatellatasiHelyIsSzakkepzeses { get; set; }
public string FeladatellatasiHelyIsSzakkepzesesJSON { get { return JsonConvert.SerializeObject(FeladatellatasiHelyIsSzakkepzeses); } }
public Dictionary<int, bool> 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<int> 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;
}
}
}