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

329 lines
15 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Foolproof;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas;
using Kreta.Resources;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Attributes;
using Kreta.Web.Helpers.OsztalyCsoportSorolas;
namespace Kreta.Web.Areas.OsztalyCsoport.Models
{
public abstract class SorolasBase : IOsztalyCsoportbaSorolasBase
{
public DateTime? Datum { get; set; }
public int? FromDDL { get; set; }
public string[] FromElements { get; set; }
public int? ToDDL { get; set; }
public List<OsztalybaSororlasItem> ToElements { get; set; }
public string FromUrl { get; set; }
public string FromChangeEvent { get; set; }
public string FromPlaceholder { get; set; }
public string ToUrl { get; set; }
public string ToChangeEvent { get; set; }
public string ToPlaceholder { get; set; }
public string MinDatum { get; set; }
public string MaxDatum { get; set; }
public string GetTanulokListFromUrl { get; set; }
public string GetTanulokListToUrl { get; set; }
public string SaveUrl { get; set; }
public DateTime TanevElsoNapja { get; set; }
public string FormatedTanevElsoNapja { get { return TanevElsoNapja.ToString("yyyy. MM. dd."); } } /*Viewban kell*/
public bool EgyeniCsoportAutoLetrehozas { get; set; }
public string ZenemuveszetisOsztalyokJson { get; set; }
[ValidateObject]
public SorolasZaradek Zaradek { get; set; }
public int? SzervezetId { get; set; }
public bool IsFromSzervezet { get; set; }
}
public abstract class KovTanevSorolasBase : SorolasBase
{
public bool DropKovTanevAlert { get; set; }
}
[MetadataType(typeof(AktTanevCsoportAtsorolasMeta))]
public class AktTanevCsoportAtsorolasModel : SorolasBase
{
private class AktTanevCsoportAtsorolasMeta
{
[KretaRequired(StringResourcesId = 3827 /*Az átsorolás dátumának megadása kötelező!*/)]
[KretaDisplayName(3826)]
public DateTime? Datum { get; set; }
[KretaRequiredIf("IsFromSzervezet", true, ErrorMessageResourceName = nameof(ErrorResource.DualisKepzohelyMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? SzervezetId { get; set; }
}
}
[MetadataType(typeof(AktTanevCsoportBesorolasMeta))]
public class AktTanevCsoportBesorolasModel : SorolasBase
{
private class AktTanevCsoportBesorolasMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
[KretaRequiredIf("IsFromSzervezet", true, ErrorMessageResourceName = nameof(ErrorResource.DualisKepzohelyMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? SzervezetId { get; set; }
}
}
[MetadataType(typeof(AktTanevCsoportKisorolasMeta))]
public class AktTanevCsoportKisorolasModel : SorolasBase
{
private class AktTanevCsoportKisorolasMeta
{
[KretaRequired(StringResourcesId = 3822 /*A kisorolás dátumának megadása kötelező!*/)]
[KretaDisplayName(3821)]
public DateTime? Datum { get; set; }
[KretaRequiredIf("IsFromSzervezet", true, ErrorMessageResourceName = nameof(ErrorResource.DualisKepzohelyMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? SzervezetId { get; set; }
}
}
[MetadataType(typeof(AktTanevCsoportTevesBesorolasJavitasMeta))]
public class AktTanevCsoportTevesBesorolasJavitasModel : SorolasBase
{
private class AktTanevCsoportTevesBesorolasJavitasMeta
{
[KretaRequiredIf("IsFromSzervezet", true, ErrorMessageResourceName = nameof(ErrorResource.DualisKepzohelyMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? SzervezetId { get; set; }
}
}
[MetadataType(typeof(AktTanevOsztalyAtsorolasMeta))]
public class AktTanevOsztalyAtsorolasModel : SorolasBase
{
private class AktTanevOsztalyAtsorolasMeta
{
[KretaRequired(StringResourcesId = 3827 /*Az átsorolás dátumának megadása kötelező!*/)]
[KretaDisplayName(3826)]
public DateTime? Datum { get; set; }
}
public AktTanevOsztalyAtsorolasModel()
{
Zaradek = new SorolasZaradek { IsZaradekKotelezo = true };
}
}
[MetadataType(typeof(AktTanevOsztalyBesorolasElsoAlkalomMeta))]
public class AktTanevOsztalyBesorolasElsoAlkalomModel : SorolasBase
{
private class AktTanevOsztalyBesorolasElsoAlkalomMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
[KretaDisplayName(8277)]
public bool EgyeniCsoportAutoLetrehozas { get; set; }
}
}
[MetadataType(typeof(AktTanevOsztalyKisorolasMeta))]
public class AktTanevOsztalyKisorolasModel : SorolasBase
{
private class AktTanevOsztalyKisorolasMeta
{
[KretaRequired(StringResourcesId = 3822 /*A kisorolás dátumának megadása kötelező!*/)]
[KretaDisplayName(3821)]
public DateTime? Datum { get; set; }
}
[Display(Name = nameof(TanuloResource.JogviszonyVege), ResourceType = typeof(TanuloResource))]
[RequiredIf(nameof(IsJogviszonyVizsgalat), true, ErrorMessageResourceName = nameof(ErrorResource.JogviszonyVegeMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? JogviszonyVege { get; set; }
[Display(Name = nameof(TanuloResource.JogviszonyMegszunesenekJogcime), ResourceType = typeof(TanuloResource))]
[RequiredIf(nameof(IsJogviszonyVizsgalat), true, ErrorMessageResourceName = nameof(ErrorResource.JogvMegszuneseJogcimTipusMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? JogvMegszuneseJogcimTipusId { get; set; }
public bool IsJogviszonyVizsgalat { get; set; }
public JogviszonyCo ConvertModelToJogviszonyCo() =>
new JogviszonyCo()
{
JogviszonyMegszunesenekJogcimeId = JogvMegszuneseJogcimTipusId,
Vege = JogviszonyVege,
IsJogviszonyVizsgalat = IsJogviszonyVizsgalat
};
public AktTanevOsztalyKisorolasModel()
{
Zaradek = new SorolasZaradek { IsZaradekKotelezo = true };
}
}
public class AktTanevOsztalyTevesBesorolasJavitasModel : SorolasBase
{
}
[MetadataType(typeof(AktTanevOsztalyVisszairatkoztatasMeta))]
public class AktTanevOsztalyVisszairatkoztatasModel : SorolasBase
{
private class AktTanevOsztalyVisszairatkoztatasMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
}
[Display(Name = nameof(TanuloResource.JogviszonyTipusa), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyTipusaKitolteseKotelez), ErrorMessageResourceType = typeof(ErrorResource))]
public int? JogviszonyTipusaId { get; set; }
[Display(Name = nameof(TanuloResource.JogviszonyKezdete), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyKezdeteKitolteseKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? JogviszonyKezdete { get; set; }
[Display(Name = nameof(TanuloResource.JogviszonyKeletkezesenekJogcime), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyKeletkezesenekJogcimeKitolteseKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? JogviszonyKeletkezesenekJogcimeId { get; set; }
[Display(Name = nameof(TanuloResource.Megjegyzes), ResourceType = typeof(TanuloResource))]
public string Megjegyzes { get; set; }
public JogviszonyCo ConvertModelToJogviszonyCo() =>
new JogviszonyCo()
{
JogviszonyKeletkezesenekJogcimeId = JogviszonyKeletkezesenekJogcimeId.Value,
JogviszonyTipusId = JogviszonyTipusaId.Value,
Megjegyzes = Megjegyzes,
IsAktiv = true,
Kezdete = JogviszonyKezdete.Value
};
}
public class KovTanevCsoportAtleptetesModel : KovTanevSorolasBase
{
}
[MetadataType(typeof(KovTanevCsoportBesorolasMeta))]
public class KovTanevCsoportBesorolasModel : KovTanevSorolasBase
{
private class KovTanevCsoportBesorolasMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
}
}
public class KovTanevCsoportTevesBesorolasJavitasModel : KovTanevSorolasBase
{
}
[MetadataType(typeof(KovTanevNebuloBesorolasMeta))]
public class KovTanevNebuloBesorolasModel : KovTanevSorolasBase
{
private class KovTanevNebuloBesorolasMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
}
[Display(Name = nameof(OsztalyCsoportResource.Tanterv), ResourceType = typeof(OsztalyCsoportResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.TantervMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? TantervId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.NevelesiTerv), ResourceType = typeof(OsztalyCsoportResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.NevelesiTervMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? NevelesiTervId
{
get { return TantervId; }
set { TantervId = value; }
}
}
[MetadataType(typeof(KovTanevOsztalyAtleptetesMeta))]
public class KovTanevOsztalyAtleptetesModel : KovTanevSorolasBase
{
private class KovTanevOsztalyAtleptetesMeta
{
}
public KovTanevOsztalyAtleptetesModel()
{
Zaradek = new SorolasZaradek { IsZaradekKotelezo = true };
}
public string EgyeniCsoportLetrejonFigyelmeztetes { get; set; }
public string AutoEgyeniCsoportFigyelmeztetes { get; set; }
}
[MetadataType(typeof(KovTanevOsztalyBesorolasElsoAlkalomMeta))]
public class KovTanevOsztalyBesorolasElsoAlkalomModel : KovTanevSorolasBase
{
private class KovTanevOsztalyBesorolasElsoAlkalomMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
[KretaDisplayName(8277)]
public bool EgyeniCsoportAutoLetrehozas { get; set; }
}
}
public class KovTanevOsztalyTevesBesorolasJavitasModel : KovTanevSorolasBase
{
}
[MetadataType(typeof(KovTanevVisszairatkoztatasMeta))]
public class KovTanevVisszairatkoztatasModel : KovTanevSorolasBase
{
private class KovTanevVisszairatkoztatasMeta
{
[Required(ErrorMessageResourceName = nameof(OsztalyCsoportResource.ABelepesdatumanakMegadasaKotelezo), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.BeleptetesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public DateTime? Datum { get; set; }
}
[Display(Name = nameof(TanuloResource.JogviszonyTipusa), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyTipusaKitolteseKotelez), ErrorMessageResourceType = typeof(ErrorResource))]
public int? JogviszonyTipusaId { get; set; }
[Display(Name = nameof(TanuloResource.JogviszonyKezdete), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyKezdeteKitolteseKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? JogviszonyKezdete { get; set; }
[Display(Name = nameof(TanuloResource.JogviszonyKeletkezesenekJogcime), ResourceType = typeof(TanuloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.JogviszonyKeletkezesenekJogcimeKitolteseKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? JogviszonyKeletkezesenekJogcimeId { get; set; }
[Display(Name = nameof(TanuloResource.Megjegyzes), ResourceType = typeof(TanuloResource))]
public string Megjegyzes { get; set; }
public JogviszonyCo ConvertModelToJogviszonyCo() =>
new JogviszonyCo()
{
JogviszonyKeletkezesenekJogcimeId = JogviszonyKeletkezesenekJogcimeId.Value,
JogviszonyTipusId = JogviszonyTipusaId.Value,
Megjegyzes = Megjegyzes,
IsAktiv = true,
Kezdete = JogviszonyKezdete.Value
};
}
}