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,58 @@
using System;
using Kreta.Core.Validation.Exceptions;
using Kreta.Core.Validation.Exceptions.Enum;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Enum
{
public class NaploEnumCo<T> where T : struct, IConvertible
{
public static implicit operator NaploEnumCo<T>(int id) => new NaploEnumCo<T>(id);
public static implicit operator NaploEnumCo<T>(T enumValue) => new NaploEnumCo<T>(Convert.ToInt32(enumValue));
public static bool operator ==(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => lhsWrapperCo.GetEnum().Equals(rhsEnum);
public static bool operator !=(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => !lhsWrapperCo.GetEnum().Equals(rhsEnum);
public string EnumTypeNameWPostFix => typeof(T).Name;
public string EnumTypeName => EnumTypeNameWPostFix.Replace("Enum", "").Replace("enum", "");
public bool IsGeneratedEnum => !string.IsNullOrWhiteSpace(Nev);
public T GetEnum()
{
T enumValue;
if (!System.Enum.TryParse<T>(Nev, out enumValue))
{
throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NemEngedelyezettVagyNemLetezoEnum);
}
return enumValue;
}
public int Id { get; private set; }
public string Nev { get; private set; }
public NaploEnumCo(int id)
{
Fill(id);
if (!typeof(T).IsEnum)
{
throw new ArgumentException("T must be an enum");
}
}
private void Fill(int id)
{
Id = id;
Nev = System.Enum.GetName(typeof(T), id);
if (!typeof(T).IsEnum)
{
throw new ArgumentException("T must be an enum");
}
}
public NaploEnumCo(int id, string nev)
{
Id = id;
Nev = nev;
}
}
}

View file

@ -0,0 +1,12 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Enum;
using Kreta.Enums;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Ertekeles
{
public class ErtekelesRequestCo
{
public NaploEnumCo<OsztalyzatTipusEnum> OsztalyzatTipus { get; set; }
public string Szazalek { get; set; }
public string Szoveg { get; set; }
}
}

View file

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Enum;
using Kreta.Enums;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Ertekeles
{
public class OsztalyCsoportErtekelesRequestCo
{
public DateTime Datum { get; set; }
public NaploEnumCo<ErtekelesModEnum> Mod { get; set; }
public string Tema { get; set; }
public int OsztalyCsoportId { get; set; }
public int TantargyId { get; set; }
public List<TanuloForOsztalyCsoportErtekelesRequestCo> TanuloLista { get; set; }
}
}

View file

@ -0,0 +1,9 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Ertekeles
{
public class TanuloForOsztalyCsoportErtekelesRequestCo
{
public ErtekelesRequestCo Ertekeles { get; set; }
public int TanuloId { get; set; }
}
}