This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,318 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.OsztalyCsoport.Models
{
public abstract class CsoportBaseModel
{
public int? ID { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportNeve), ResourceType = typeof(OsztalyCsoportResource))]
[KretaRequired(StringResourcesId = 1311)]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.CsoportNeveMax255CsoportAlapadatok), ErrorMessageResourceType = typeof(ErrorResource))]
public string CsoportNeve { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportTipus), ResourceType = typeof(OsztalyCsoportResource))]
[KretaRequiredIf("IsFromSzervezet", false, ErrorMessageResourceName = nameof(ErrorResource.CsoportTipusMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? CsoportTipusId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportTipus), ResourceType = typeof(OsztalyCsoportResource))]
public string CsoportTipusNev => CsoportTipusId.GetDisplayName<CsoportTipusEnum>(ClaimData.SelectedTanevID.Value);
[Display(Name = nameof(OsztalyCsoportResource.EvfolyamNeve), ResourceType = typeof(OsztalyCsoportResource))]
public int? EvfolyamTipusa { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.EvfolyamNeve), ResourceType = typeof(OsztalyCsoportResource))]
public string EvfolyamNev => EvfolyamTipusa.HasValue && EvfolyamTipusa.Value > 0 ? EvfolyamTipusa.Value.GetDisplayName<EvfolyamTipusEnum>(ClaimData.SelectedTanevID.Value) : "";
[Display(Name = nameof(OsztalyCsoportResource.Csoportvezeto), ResourceType = typeof(OsztalyCsoportResource))]
public int? CsoportvezetoId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Csoportvezeto), ResourceType = typeof(OsztalyCsoportResource))]
public string CsoportvezetoNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))]
public int? CsoportTeremId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))]
public string TeremNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.TanulokSzama), ResourceType = typeof(OsztalyCsoportResource))]
[KretaRange(0, int.MaxValue)]
public int TanulokSzama { get; set; }
[Display(Name = nameof(TanuloResource.NovendekekSzama), ResourceType = typeof(TanuloResource))]
[KretaRange(0, int.MaxValue)]
public int NovendekekSzama
{
get { return TanulokSzama; }
set { TanulokSzama = value; }
}
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
[KretaRequiredIf("IsFromSzervezet", false, ErrorMessageResourceName = nameof(ErrorResource.FeladatellatasiHelyKitolteseKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? FeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public string FeladatEllatasiHelyName { get; private set; }
[StringLength(255, ErrorMessageResourceName = nameof(ErrorResource.AMegjegyzesMax255KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(OsztalyCsoportResource.Megjegyzes), ResourceType = typeof(OsztalyCsoportResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.IsGyogypedagogiaiLogopediai), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsGyogypedagogiaiLogopediai { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.IsGyogypedagogiaiLogopediai), ResourceType = typeof(OsztalyCsoportResource))]
public string IsGyogypedagogiaiLogopediai_BNAME => IsGyogypedagogiaiLogopediai ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.TechnikaiCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public bool TechnikaiCsoport { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.TechnikaiCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string TechnikaiCsoportString => TechnikaiCsoport ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.CsoportnaploMegnyitasDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? CsoportNaploMegnyitasa { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportnaploMegnyitasDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public string CsoportNaploMegnyitasaRoviddatum => CsoportNaploMegnyitasa?.ToShortDateString() ?? "";
[Display(Name = nameof(OsztalyCsoportResource.CsoportnaploLezarasDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? CsoportNaploLezarasa { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportnaploLezarasDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public string CsoportNaploLezarasaRoviddatum => CsoportNaploLezarasa?.ToShortDateString() ?? "";
[Display(Name = nameof(OsztalyCsoportResource.CsoportnaploLeirasa), ResourceType = typeof(OsztalyCsoportResource))]
public string CsoportNaploLeirasa { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Naploszam), ResourceType = typeof(OsztalyCsoportResource))]
[StringLength(maximumLength: 50, ErrorMessageResourceName = nameof(ErrorResource.ANaploszamMax50KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
public string Naploszam { get; set; }
public string AmiFelhelyIdsJSON { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.TervezettLetszam), ResourceType = typeof(OsztalyCsoportResource))]
public int? TervezettLetszam { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
public int? OsztalyBontasId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyBontasNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Osztalybontas), ResourceType = typeof(OsztalyCsoportResource))]
public bool OsztalyBontas { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Osztalybontas), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyBontas_BNAME => OsztalyBontas ? CommonResource.Igen : CommonResource.Nem;
public List<TabStripItemModel> TabList { get; set; }
public bool IsAutoEgyeniCsoport { get; set; }
public bool IsFeladatellatasiHelySzures { get; set; }
public bool IsAmiAlapkepzesesGimnaziumkentKezelendo { get; set; }
public bool OsszevontOsztaly { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.KepzesTipusa), ResourceType = typeof(OsztalyCsoportResource))]
public int? KepzesiFormaId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.KepzesTipusa), ResourceType = typeof(OsztalyCsoportResource))]
public string KepzesiFormaString => KepzesiFormaId.HasValue ? KepzesiFormaId.Value.GetDisplayName<TanterviJellegEnum>(ClaimData.SelectedTanevID.Value) : string.Empty;
public OsztalyCsoportTanuloinakMunkarendjeModel OsztalyCsoportTanuloinakMunkarendjeModel { get; set; }
public bool IsFromSzervezet { get; set; }
public string ControllerName { get; set; }
public string ApiControllerName { get; set; }
public bool IsKretaIntezmenyiAdminIsFromSzervezet { get; set; }
// NOTE: Itt azért nem a nameof(SzervezetResource.Szervezet)-ből jön a szöveg, mert ez a property fixen mindig ezzel a label-el kell, hogy megjelenjen, függetlenül a nyelviesítéstől!
[Display(Name = nameof(DualisResource.DualisKepzohelyNeveEsAdoszama), ResourceType = typeof(DualisResource))]
[KretaRequiredIf("IsFromSzervezet", true, ErrorMessageResourceName = nameof(DualisResource.DualisKepzohelyMegadasaKotelezo), ErrorMessageResourceType = typeof(DualisResource))]
public int? CsoportSzervezetId { get; set; }
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public string SzervezetNeve { get; set; }
public CsoportBaseModel()
{
TabList = new List<TabStripItemModel>();
OsztalyCsoportTanuloinakMunkarendjeModel = new OsztalyCsoportTanuloinakMunkarendjeModel();
OsztalyCsoportTanuloinakMunkarendjeModel.MunkarendGridModel = new OsztalyCsoportTanuloinakMunkarendjeGridModel();
}
protected static void ConvertToBaseModel(CsoportBaseModel model, CsoportCO co)
{
List<int> AmiFelhelyIds = Kreta.Web.Areas.OsztalyCsoport.Logic.OsztalyCsoportLogic.GetFeladatEllatasiHelyIdsBySelectedOktNevelesiKategoria((int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
model.CsoportNeve = co.CsoportNeve;
model.CsoportTipusId = co.CsoportTipus;
model.CsoportvezetoId = co.CsoportvezetoId;
model.CsoportvezetoNev = co.CsoportvezetoNeve;
model.EvfolyamTipusa = co.EvfolyamTipusa;
model.FeladatEllatasiHelyId = co.FeladatEllatasiHelyId > 0 ? (int?)co.FeladatEllatasiHelyId : null;
model.FeladatEllatasiHelyName = co.FeladatEllatasiHelyName;
model.ID = co.Id;
model.Megjegyzes = co.Megjegyzes;
model.CsoportTeremId = co.TeremID;
model.TeremNev = co.TeremNev;
model.TanulokSzama = co.TanulokSzama;
model.TervezettLetszam = co.TervezettLetszam;
model.CsoportNaploLeirasa = co.CsoportNaploLeirasa;
model.Naploszam = co.Naploszam;
model.AmiFelhelyIdsJSON = JsonConvert.SerializeObject(AmiFelhelyIds);
model.CsoportNaploMegnyitasa = co.CsoportNaploMegnyitasa;
model.CsoportNaploLezarasa = co.CsoportNaploLezarasa;
model.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai;
model.TechnikaiCsoport = co.TechnikaiCsoport;
model.OsztalyBontas = co.OsztalyBontas;
model.OsztalyBontasId = co.OsztalyBontasId;
model.OsztalyBontasNev = co.OsztalyBontasNev;
model.IsAutoEgyeniCsoport = co.IsAutoEgyeniCsoport;
model.OsszevontOsztaly = co.OsszevontOsztaly;
model.IsFeladatellatasiHelySzures = co.HasTanuloBesorolas;
model.KepzesiFormaId = co.KepzesiFormaId;
model.SzervezetNeve = co.SzervezetNeve;
model.CsoportSzervezetId = co.SzervezetId.IsEntityId() ? co.SzervezetId : null;
}
protected CsoportCO ConvertBaseModelToCo()
{
return new CsoportCO()
{
CsoportNeve = this.CsoportNeve,
CsoportTipus = this.CsoportTipusId,
CsoportvezetoId = this.CsoportvezetoId,
CsoportvezetoNeve = this.CsoportvezetoNev,
EvfolyamTipusa = this.EvfolyamTipusa ?? (int)EvfolyamTipusEnum.na,
FeladatEllatasiHelyId = this.FeladatEllatasiHelyId ?? 0,
Id = this.ID ?? 0,
Megjegyzes = this.Megjegyzes,
TeremID = this.CsoportTeremId,
TervezettLetszam = this.TervezettLetszam,
OsztalyBontasId = this.OsztalyBontasId,
IsGyogypedagogiaiLogopediai = this.IsGyogypedagogiaiLogopediai,
TechnikaiCsoport = this.TechnikaiCsoport,
OsztalyBontas = this.OsztalyBontas,
OsztalyBontasNev = this.OsztalyBontasNev,
CsoportNaploMegnyitasa = this.CsoportNaploMegnyitasa,
CsoportNaploLezarasa = this.CsoportNaploLezarasa,
Naploszam = this.Naploszam,
CsoportNaploLeirasa = this.CsoportNaploLeirasa,
KepzesiFormaId = this.KepzesiFormaId
};
}
}
public class AlapkepzesCsoportModel : CsoportBaseModel
{
public AlapkepzesCsoportModel() : base() { }
[Display(Name = nameof(OsztalyCsoportResource.VegzosEvfolyamuCsoportKozepfokuOktatasiIntezmenyben), ResourceType = typeof(OsztalyCsoportResource))]
public bool Vegzos { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.VegzosEvfolyamuCsoportKozepfokuOktatasiIntezmenyben), ResourceType = typeof(OsztalyCsoportResource))]
public string Vegzos_BNAME => Vegzos ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.KeresztfelevesCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public bool Keresztfeleves { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.IsGyogypedagogiaiLogopediai), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsGyogypedagogiaiLogopediai { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.TechnikaiCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public bool TechnikaiCsoport { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.TechnikaiCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string TechnikaiCsoportString => TechnikaiCsoport ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.KeresztfelevesCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string Keresztfeleves_BNAME => Keresztfeleves ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.IsGyogypedagogiaiLogopediai), ResourceType = typeof(OsztalyCsoportResource))]
public string IsGyogypedagogiaiLogopediai_BNAME => IsGyogypedagogiaiLogopediai ? CommonResource.Igen : CommonResource.Nem;
public static AlapkepzesCsoportModel ConvertToModel(CsoportCO co)
{
var model = new AlapkepzesCsoportModel();
ConvertToBaseModel(model, co);
model.Vegzos = co.VegzosEvfolyamCsoport;
model.Keresztfeleves = co.KeresztfelevesCsoport;
model.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai;
model.TechnikaiCsoport = co.TechnikaiCsoport;
return model;
}
public CsoportCO ConvertToCo()
{
var co = ConvertBaseModelToCo();
co.VegzosEvfolyamCsoport = this.Vegzos;
co.KeresztfelevesCsoport = this.Keresztfeleves;
co.IsGyogypedagogiaiLogopediai = this.IsGyogypedagogiaiLogopediai;
co.TechnikaiCsoport = this.TechnikaiCsoport;
co.SzervezetId = this.CsoportSzervezetId;
co.IsFromSzervezet = this.IsFromSzervezet;
return co;
}
}
public class AmiCsoportModel : CsoportBaseModel
{
public AmiCsoportModel() : base() { }
[Required(ErrorMessageResourceName = nameof(ErrorResource.MuveszetiAgMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(OsztalyCsoportResource.MuvesztiAg), ResourceType = typeof(OsztalyCsoportResource))]
public int? MuveszetiAgId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.ZenemuveszetiAgTipusa), ResourceType = typeof(OsztalyCsoportResource))]
public int? ZenemuveszetiAgTipusId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.MuvesztiAg), ResourceType = typeof(OsztalyCsoportResource))]
public string MuveszetiAgString => MuveszetiAgId.HasValue ? MuveszetiAgId.Value.GetDisplayName<MuveszetiAgEnum>(ClaimData.SelectedTanevID.Value) : string.Empty;
[Display(Name = nameof(OsztalyCsoportResource.ZenemuveszetiAgTipusa), ResourceType = typeof(OsztalyCsoportResource))]
public string ZenemuveszetiAgTipusString => ZenemuveszetiAgTipusId.HasValue ? ZenemuveszetiAgTipusId.Value.GetDisplayName<ZenemuveszetiAgTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty;
public static AmiCsoportModel ConvertToModel(CsoportCO co)
{
var model = new AmiCsoportModel();
ConvertToBaseModel(model, co);
model.MuveszetiAgId = co.MuveszetiAgId;
model.ZenemuveszetiAgTipusId = co.ZenemuveszetiAgTipusId;
return model;
}
public CsoportCO ConvertToCo()
{
var co = ConvertBaseModelToCo();
co.MuveszetiAgId = this.MuveszetiAgId;
co.ZenemuveszetiAgTipusId = this.ZenemuveszetiAgTipusId;
return co;
}
}
}