227 lines
9.2 KiB
C#
227 lines
9.2 KiB
C#
namespace Kreta.Web.Areas.Alkalmazott.Models
|
|
{
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.Enums;
|
|
using Kreta.Resources;
|
|
|
|
public class VegzettsegWizardBaseModel
|
|
{
|
|
public int AlkalmazottId { get; set; }
|
|
public KKKepesitesTipusEnum KepesitesTipusId { get; set; }
|
|
|
|
public KKVegzettsegBaseCo ToCo()
|
|
{
|
|
var co = new KKVegzettsegBaseCo();
|
|
co.AlkalmazottId = AlkalmazottId;
|
|
co.KepesitesTipusId = KepesitesTipusId;
|
|
|
|
return co;
|
|
}
|
|
}
|
|
|
|
public abstract class VegzettsegWizardPedagogusBaseModel : VegzettsegWizardBaseModel
|
|
{
|
|
public KKKepesitesJellTipusEnum VegzettsegTipusId { get; private set; }
|
|
|
|
public VegzettsegWizardPedagogusBaseModel(KKKepesitesJellTipusEnum vegzettsegTipusId)
|
|
{
|
|
KepesitesTipusId = KKKepesitesTipusEnum.Pedagogus;
|
|
VegzettsegTipusId = vegzettsegTipusId;
|
|
}
|
|
}
|
|
|
|
public class TanarVegzettsegWizardModel : VegzettsegWizardPedagogusBaseModel
|
|
{
|
|
public TanarVegzettsegWizardModel() : base(KKKepesitesJellTipusEnum.Tanar)
|
|
{
|
|
}
|
|
|
|
public int? EntityId { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.Vegzettseg), ResourceType = typeof(AlkalmazottResource))]
|
|
[Required(ErrorMessageResourceName = nameof(AlkalmazottResource.VegzettsegMegadasaKotelezo), ErrorMessageResourceType = typeof(AlkalmazottResource))]
|
|
public int? TanariVegzettsegTipusId { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.TantargyKategoria), ResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> TantargyKategoriaIds { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.Egyeb), ResourceType = typeof(AlkalmazottResource))]
|
|
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.Maximum255KarakterHosszusaguLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
|
public string Egyeb { get; set; }
|
|
|
|
public new KKTanarVegzettsegCO ToCo()
|
|
{
|
|
var co = new KKTanarVegzettsegCO();
|
|
co.EntityId = EntityId;
|
|
co.AlkalmazottId = AlkalmazottId;
|
|
co.KepesitesTipusId = KepesitesTipusId;
|
|
co.TanariVegzettsegTipusId = TanariVegzettsegTipusId;
|
|
co.Egyeb = Egyeb;
|
|
|
|
co.TantargyKategoriaIds = TantargyKategoriaIds;
|
|
|
|
return co;
|
|
}
|
|
|
|
public void FromCo(KKTanarVegzettsegCO co)
|
|
{
|
|
EntityId = co.EntityId;
|
|
AlkalmazottId = co.AlkalmazottId;
|
|
KepesitesTipusId = co.KepesitesTipusId;
|
|
TanariVegzettsegTipusId = co.TanariVegzettsegTipusId;
|
|
Egyeb = co.Egyeb;
|
|
TantargyKategoriaIds = co.TantargyKategoriaIds;
|
|
}
|
|
}
|
|
|
|
public class AMITanarVegzettsegWizardModel : VegzettsegWizardPedagogusBaseModel, IValidatableObject
|
|
{
|
|
public AMITanarVegzettsegWizardModel() : base(KKKepesitesJellTipusEnum.TanarAMI)
|
|
{
|
|
}
|
|
|
|
public int? EntityId { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.Vegzettseg), ResourceType = typeof(AlkalmazottResource))]
|
|
[Required(ErrorMessageResourceName = nameof(AlkalmazottResource.VegzettsegMegadasaKotelezo), ErrorMessageResourceType = typeof(AlkalmazottResource))]
|
|
public int? AMITanariVegzettsegTipusId { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.ZenemuveszetiTerulet), ResourceType = typeof(AlkalmazottResource))]
|
|
public bool ZenemuveszetiTerulet { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.TancmuveszetiTerulet), ResourceType = typeof(AlkalmazottResource))]
|
|
public bool TancmuveszetiTerulet { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.KepzoEsIparMuveszetiTerulet), ResourceType = typeof(AlkalmazottResource))]
|
|
public bool KepzoEsIparMuveszetiTerulet { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.SzinEsBabMuveszetiTerulet), ResourceType = typeof(AlkalmazottResource))]
|
|
public bool SzinEsBabMuveszetiTerulet { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.KlasszikusZene), ResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> KlasszikusZeneIds { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.NepZene), ResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> NepZeneIds { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.JazzZene), ResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> JazzZeneIds { get; set; }
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.ElektroAkusztikusZene), ResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> ElektroAkusztikusZeneIds { get; set; }
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
{
|
|
if (!(ZenemuveszetiTerulet || TancmuveszetiTerulet || KepzoEsIparMuveszetiTerulet || SzinEsBabMuveszetiTerulet))
|
|
{
|
|
yield return new ValidationResult(string.Format(AlkalmazottResource.NincsMuveszetiAgMegadva));
|
|
}
|
|
if (ZenemuveszetiTerulet)
|
|
{
|
|
if (!(KlasszikusZeneIds.Any() || NepZeneIds.Any() || JazzZeneIds.Any() || ElektroAkusztikusZeneIds.Any()))
|
|
{
|
|
yield return new ValidationResult(string.Format(AlkalmazottResource.NincsZeneTipusMegadva));
|
|
}
|
|
}
|
|
}
|
|
|
|
public new KKAMITanarVegzettsegCo ToCo()
|
|
{
|
|
var co = new KKAMITanarVegzettsegCo();
|
|
co.EntityId = EntityId;
|
|
co.AlkalmazottId = AlkalmazottId;
|
|
co.KepesitesTipusId = KepesitesTipusId;
|
|
co.AMITanariVegzettsegTipusId = AMITanariVegzettsegTipusId;
|
|
co.ZenemuveszetiTerulet = ZenemuveszetiTerulet;
|
|
co.TancmuveszetiTerulet = TancmuveszetiTerulet;
|
|
co.KepzoEsIparMuveszetiTerulet = KepzoEsIparMuveszetiTerulet;
|
|
co.SzinEsBabMuveszetiTerulet = SzinEsBabMuveszetiTerulet;
|
|
|
|
co.KlasszikusZeneIds = KlasszikusZeneIds;
|
|
co.NepZeneIds = NepZeneIds;
|
|
co.JazzZeneIds = JazzZeneIds;
|
|
co.ElektroAkusztikusZeneIds = ElektroAkusztikusZeneIds;
|
|
|
|
return co;
|
|
}
|
|
|
|
public void FromCo(KKAMITanarVegzettsegCo co)
|
|
{
|
|
EntityId = co.EntityId;
|
|
AlkalmazottId = co.AlkalmazottId;
|
|
KepesitesTipusId = co.KepesitesTipusId;
|
|
AMITanariVegzettsegTipusId = co.AMITanariVegzettsegTipusId;
|
|
ZenemuveszetiTerulet = co.ZenemuveszetiTerulet;
|
|
TancmuveszetiTerulet = co.TancmuveszetiTerulet;
|
|
KepzoEsIparMuveszetiTerulet = co.KepzoEsIparMuveszetiTerulet;
|
|
SzinEsBabMuveszetiTerulet = co.SzinEsBabMuveszetiTerulet;
|
|
|
|
KlasszikusZeneIds = co.KlasszikusZeneIds;
|
|
NepZeneIds = co.NepZeneIds;
|
|
JazzZeneIds = co.JazzZeneIds;
|
|
ElektroAkusztikusZeneIds = co.ElektroAkusztikusZeneIds;
|
|
}
|
|
}
|
|
|
|
public class TanitoVegzettsegWizardModel : VegzettsegWizardPedagogusBaseModel
|
|
{
|
|
public TanitoVegzettsegWizardModel() : base(KKKepesitesJellTipusEnum.Tanito)
|
|
{
|
|
}
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.Terulet), ResourceType = typeof(AlkalmazottResource))]
|
|
[Required(ErrorMessageResourceName = nameof(AlkalmazottResource.TeruletMegadasaKotelezo), ErrorMessageResourceType = typeof(AlkalmazottResource))]
|
|
|
|
public List<int> MuveltsegiTeruletIds { get; set; }
|
|
|
|
public new KKTanitoVegzettsegCo ToCo()
|
|
{
|
|
var co = new KKTanitoVegzettsegCo();
|
|
co.AlkalmazottId = AlkalmazottId;
|
|
co.KepesitesTipusId = KepesitesTipusId;
|
|
|
|
co.MuveltsegiTeruletIds = MuveltsegiTeruletIds;
|
|
|
|
return co;
|
|
}
|
|
|
|
public void FromCo(KKTanitoVegzettsegCo co)
|
|
{
|
|
AlkalmazottId = co.AlkalmazottId;
|
|
KepesitesTipusId = co.KepesitesTipusId;
|
|
MuveltsegiTeruletIds = co.MuveltsegiTeruletIds;
|
|
}
|
|
}
|
|
|
|
public class GyogyPedagogusVegzettsegWizardModel : VegzettsegWizardPedagogusBaseModel
|
|
{
|
|
public GyogyPedagogusVegzettsegWizardModel() : base(KKKepesitesJellTipusEnum.Gyogypedagogus)
|
|
{
|
|
}
|
|
|
|
[Display(Name = nameof(AlkalmazottResource.Terulet), ResourceType = typeof(AlkalmazottResource))]
|
|
[Required(ErrorMessageResourceName = nameof(AlkalmazottResource.TeruletMegadasaKotelezo), ErrorMessageResourceType = typeof(AlkalmazottResource))]
|
|
public List<int> GyogypedagogusTeruletIds { get; set; }
|
|
|
|
public new KKGyogyPedagogusVegzettsegCo ToCo()
|
|
{
|
|
var co = new KKGyogyPedagogusVegzettsegCo();
|
|
co.AlkalmazottId = AlkalmazottId;
|
|
co.KepesitesTipusId = KepesitesTipusId;
|
|
co.GyogypedagogusTeruletIds = GyogypedagogusTeruletIds;
|
|
|
|
return co;
|
|
}
|
|
|
|
public void FromCo(KKGyogyPedagogusVegzettsegCo co)
|
|
{
|
|
AlkalmazottId = co.AlkalmazottId;
|
|
KepesitesTipusId = co.KepesitesTipusId;
|
|
GyogypedagogusTeruletIds = co.GyogypedagogusTeruletIds;
|
|
}
|
|
}
|
|
|
|
}
|