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,49 @@
using System;
using System.Collections.Generic;
using Kreta.Ellenorzo.Domain.VN.Interfaces;
using Kreta.Ellenorzo.Domain.VN.Logic;
using Kreta.Enums.ManualEnums;
namespace Kreta.Ellenorzo.Domain.VN.UniqueIdentifier
{
public class OrarendElemUid : IReadonlyUidRaw, IEqualityComparer<OrarendElemUid>
{
public OrarendElemUid()
{
}
public OrarendElemUid(int id, CalendarOraTypeEnum tipus, DateTime datum)
{
Id = id;
Tipus = tipus;
Datum = datum;
UidRaw = UidLogic.Concat(id, tipus, datum);
}
public OrarendElemUid(string uidRaw)
{
var compositeKeyElements = UidLogic.GetCompositeKeyElements(uidRaw);
Id = int.Parse(compositeKeyElements[0]);
Tipus = (CalendarOraTypeEnum)Enum.Parse(typeof(CalendarOraTypeEnum), compositeKeyElements[1]);
Datum = DateTime.Parse(compositeKeyElements[2]).ToLocalTime().Date;
UidRaw = uidRaw;
}
public int Id { get; private set; }
public int OrarendiOraId { get; set; }
public int OrarendiOraGroupId { get; set; }
public string UidRaw { get; private set; }
public CalendarOraTypeEnum Tipus { get; set; }
public DateTime Datum { get; set; }
public bool Equals(OrarendElemUid x, OrarendElemUid y) => x == y || x.UidRaw == y.UidRaw;
public int GetHashCode(OrarendElemUid obj) => obj.UidRaw.GetHashCode();
}
}