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,46 @@
using System;
using System.Collections.Generic;
using Kreta.Core;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Ellenorzo.Domain.VN.Interfaces;
using Kreta.Ellenorzo.Domain.VN.Logic;
using Kreta.Enums;
namespace Kreta.Ellenorzo.Domain.VN.UniqueIdentifier
{
public class OktatasiNevelesiFeladatUid : IReadonlyUidRaw, IEqualityComparer<OktatasiNevelesiFeladatUid>
{
public OktatasiNevelesiFeladatUid(int? id, OktatasiNevelesiFeladatEnum? oktatasiNevelesiFeladat)
{
Id = id;
OktatasiNevelesiFeladat = oktatasiNevelesiFeladat;
UidRaw = UidLogic.Concat(id, oktatasiNevelesiFeladat);
}
public OktatasiNevelesiFeladatUid(string uidRaw)
{
var compositeKeyElements = UidLogic.GetCompositeKeyElements(uidRaw);
if (compositeKeyElements != null)
{
Id = Extensions.ToNullableInt(compositeKeyElements[0]);
OktatasiNevelesiFeladat = Enum.IsDefined(typeof(OktatasiNevelesiFeladatEnum), compositeKeyElements[1]) ? (OktatasiNevelesiFeladatEnum?)Enum.Parse(typeof(OktatasiNevelesiFeladatEnum), compositeKeyElements[1]) : null;
UidRaw = uidRaw;
}
else
{
throw new BlException(BlExceptionType.ValtozoErtekeNemLehetNull);
}
}
public int? Id { get; private set; }
public OktatasiNevelesiFeladatEnum? OktatasiNevelesiFeladat { get; set; }
public string UidRaw { get; private set; }
public bool Equals(OktatasiNevelesiFeladatUid x, OktatasiNevelesiFeladatUid y) => x == y || (x.Id == y.Id && x.OktatasiNevelesiFeladat == y.OktatasiNevelesiFeladat);
public int GetHashCode(OktatasiNevelesiFeladatUid obj) => obj.UidRaw.GetHashCode();
}
}