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

101 lines
4.7 KiB
C#

using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core.CustomAttributes;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Attributes;
using Kreta.Web.Models;
using Kreta.Web.Security;
using static Kreta.Core.Constants;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class MukodesiHelyModel : CimElerhetosegModel
{
[Display(Name = nameof(IntezmenyResource.MukodesiHelyNeve), ResourceType = typeof(IntezmenyResource))]
[KretaRequired]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.Max255Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Nev { get; set; }
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Email), ResourceType = typeof(CommonResource))]
public string Email { get; set; }
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.ATelefonszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Telefonszam), ResourceType = typeof(CommonResource))]
public string Telefonszam { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHelyAzonosito), ResourceType = typeof(IntezmenyResource))]
[RegularExpression(RegularExpressions.MukodesiHelyAzonosito, ErrorMessageResourceName = nameof(ErrorResource.MukodesiHelyAzonositoCsakSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(3, ErrorMessageResourceName = nameof(ErrorResource.MukodesiHelyAzonositoTulHosszu), ErrorMessageResourceType = typeof(ErrorResource))]
public string MukodesiHelyAzonosito { get; set; }
[KretaDisplayName(3613)] /*Tagintézmény vezetője*/
[StringLength(maximumLength: 100, ErrorMessageResourceName = nameof(ErrorResource.Max100Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string VezetoNeve { get; set; }
[KretaDisplayName(1421)] /*Fax*/
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.AFaxFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
public string Fax { get; set; }
[KretaRequired]
[Display(Name = nameof(IntezmenyResource.MukodesiHelyTipusa), ResourceType = typeof(IntezmenyResource))]
public int? MukodesiHelyTipusa { get; set; }
[Display(Name = nameof(IntezmenyResource.TelephelyAnyaIntezmeny), ResourceType = typeof(IntezmenyResource))]
public int? TelephelyAnyaintezmeny { get; set; }
public MukodesiHelyModel(MukodesiHelyCO co)
{
Email = co.Email;
Fax = co.Fax;
Id = co.ID;
Iranyitoszam_Str = co.Iranyitoszam;
Iranyitoszam = co.Iranyitoszam;
Nev = co.Nev;
MukodesiHelyAzonosito = co.MukodesiHelyAzonosito;
MukodesiHelyTipusa = co.MukodesiHelyTipusa;
Telefonszam = co.Telefonszam;
Orszag = (int)OrszagTipusEnum.Magyarorszag;
HelysegNev = co.Varos;
HelysegNev_Str = co.Varos;
VezetoNeve = co.VezetoNeve;
KozteruletNev = co.Kozterulet;
KozteruletTipus = co.KozteruletJellegeNev;
KozteruletTipus_Str = co.KozteruletJellegeNev;
Hazszam = co.Szam;
Emelet = co.Emelet;
Ajto = co.Ajto;
TelephelyAnyaintezmeny = co.TelephelyAnyaintezmeny;
}
public MukodesiHelyModel() { }
public MukodesiHelyCO ToCo()
{
return new MukodesiHelyCO
{
Email = Email,
Fax = Fax,
ID = Id,
IntezmenyID = ClaimData.IntezmenyId,
Iranyitoszam = Iranyitoszam,
Nev = Nev,
Telefonszam = Telefonszam,
Varos = Orszag == (int)OrszagTipusEnum.Magyarorszag ? HelysegNev : HelysegNev_Str,
VezetoNeve = VezetoNeve,
Szam = Hazszam,
Ajto = Ajto,
KozteruletJellegeNev = KozteruletTipus_Str,
Kozterulet = KozteruletNev,
Emelet = Emelet,
MukodesiHelyAzonosito = MukodesiHelyAzonosito,
MukodesiHelyTipusa = MukodesiHelyTipusa,
TanevId = ClaimData.SelectedTanevID,
TelephelyAnyaintezmeny = TelephelyAnyaintezmeny
};
}
}
}