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,13 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System;
using System.Collections.Generic;
using Kreta.Core.ConnectionType;
using Kreta.DataAccessManual.Interfaces;
public static class EgyediOraLogic
{
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, IConnectionType connectionType, IDalHandler h)
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, -1, connectionType, h);
}
}

View file

@ -0,0 +1,13 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System;
public static class FelmentesLogic
{
public static bool CalculateIsNowFelmentettByDatum(DateTime examinedDate, DateTime? felmentesKezdetDatuma, DateTime? felmentesVegDatuma)
=> (!felmentesKezdetDatuma.HasValue && !felmentesVegDatuma.HasValue)
|| (!felmentesKezdetDatuma.HasValue && examinedDate <= felmentesVegDatuma)
|| (!felmentesVegDatuma.HasValue && felmentesKezdetDatuma <= examinedDate)
|| (felmentesKezdetDatuma <= examinedDate && examinedDate <= felmentesVegDatuma);
}
}

View file

@ -0,0 +1,18 @@
using System.Reflection;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Converter;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
public static class HashLogic
{
private static string GetNonce() => Assembly.GetExecutingAssembly().GetName().Version.ToString().Replace(".", "_");
public static string CreateSourceHash<T>(T responseCO) where T : class, new()
=> (responseCO != null) ? CustomJsonConverter.SerializeObjectToJson(responseCO)?.GetHashCode().ToString() + "__" + GetNonce() : null;
//public static string CreateResponseHash<T>(T responseCO, string requestHash) where T : class, IGetResponseCo, new()
// => (responseCO != null && !responseCO.Hash.Equals(requestHash)) ? responseCO.Hash : null;
//public static T CreateResponseData<T>(T responseCO, string requestHash) where T : class, IGetResponseCo, new()
// => (responseCO != null && !responseCO.Hash.Equals(requestHash)) ? responseCO : null;
}
}

View file

@ -0,0 +1,27 @@
using System.Data;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.ConnectionType;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
public static class HelyettesitesLogic
{
public class Tanar
{
public Tanar(int tanarId, int tanevId, int intezmenyId, string intezmenyAzonosito, Enums.OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum = null)
{
TanarHelyettesiteseiDt = new HelyettesitesHelper(new MobileConnectionType(tanarId, intezmenyId, intezmenyAzonosito, tanevId)).GetHelyettesitesekListajaGrid(new HelperClasses.HelyettesitesekListajaSearchCO
{
HelyettesitoTanarSearch = tanarId,
FeladatKategoriaId = oktatasNevelesKategoriaEnum.HasValue ? (int)oktatasNevelesKategoriaEnum : (int)default
}).Tables[0];
}
private DataTable TanarHelyettesiteseiDt { get; set; }
public bool IsHelyettesito(int osztalyCsoportId, int tantargyId)
=> TanarHelyettesiteseiDt.Select($"OsztalyCsoportId = {osztalyCsoportId} AND TantargyId = {tantargyId}").Length > 0;
}
}
}

View file

@ -0,0 +1,288 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System.Collections.Generic;
using System.Linq;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
using Kreta.Core.Validation.Exceptions;
using Kreta.Core.Validation.Exceptions.Enum;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
/// TODO: Optional refact: lehetne dictionary a template, sokkal optimálisabb lenne (DevKornél)
public class JavasoltJelenletTemplateLogic
{
private static readonly List<JavasoltJelenletTemplateGetResponseCo> OrarendiOraJavasoltJelenlet = new List<JavasoltJelenletTemplateGetResponseCo> {
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Default,
Prioritas = 1,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.ElozoOranHianyzott,
Prioritas = 2,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Igazolas,
Prioritas = 3,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.ParhuzamosOranNaplozott,
Prioritas = 4,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg,
Prioritas = 5,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Felmentes,
Prioritas = 6,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.SzakmaiGyakorlat,
Prioritas = 7,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.JogviszonySzuneteltetes,
Prioritas = 8,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
}
};
private static readonly List<JavasoltJelenletTemplateGetResponseCo> TanitasiOraJavasoltJelenlet = new List<JavasoltJelenletTemplateGetResponseCo> {
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Default,
Prioritas = 1,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true, MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.ElozoOranHianyzott,
Prioritas = 2,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Igazolas,
Prioritas = 3,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.ParhuzamosOranNaplozott,
Prioritas = 4,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg,
Prioritas = 5,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.Felmentes,
Prioritas = 6,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo (false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo (false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo (false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo (false,false,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.SzakmaiGyakorlat,
Prioritas = 7,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
}
},
new JavasoltJelenletTemplateGetResponseCo{
Tipus = JavasoltJelenletTemplateType.JogviszonySzuneteltetes,
Prioritas = 8,
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.jelenlet),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
}
}
};
public JavasoltJelenletTemplateLogic(TanoraAllapotaEnum oraAllapota)
{
OraAllapota = oraAllapota;
}
private JavasoltJelenletTemplateLogic()
{
}
public TanoraAllapotaEnum OraAllapota { get; }
/// TODO: vizsgálatot meg kell csinálni, ha magasabb prior állítana default értéket, de már le van tiltva (vagy egy új ajánlást) (DevKornél)
public JavasoltJelenletTemplateGetResponseCo GetCalculatedJelenletJavaslatConsideringSzuro(IEnumerable<IJavasoltJelenletSzuroGetResponseCo> javasoltJelenletTemplateTipusSzuroLista)
{
if (!javasoltJelenletTemplateTipusSzuroLista.Any(filter => filter.Tipus == JavasoltJelenletTemplateType.Default))
{
throw new ValidationException(ValidationErrorType.Undefined, $"{nameof(JavasoltJelenletTemplateType.Default)} template filter does not exist!");
}
var orderedTeljesultSzuroTemplateLista = GetTemplate().FindAll(template => javasoltJelenletTemplateTipusSzuroLista.Any(filter => filter.Tipus == template.Tipus)).OrderByDescending(x => x.Prioritas).ToList();
if (!orderedTeljesultSzuroTemplateLista.Exists(template => template.Tipus == JavasoltJelenletTemplateType.Default))
{
throw new ValidationException(ValidationErrorType.Undefined, $"{nameof(JavasoltJelenletTemplateType.Default)} template does not exist!");
}
return orderedTeljesultSzuroTemplateLista[0];
}
public List<JavasoltJelenletTemplateGetResponseCo> GetTemplate()
{
switch (this.OraAllapota)
{
case TanoraAllapotaEnum.Nem_naplozott:
return OrarendiOraJavasoltJelenlet;
case TanoraAllapotaEnum.Naplozott:
return TanitasiOraJavasoltJelenlet;
default:
throw new ValidationException(ValidationErrorType.Undefined, $"Template does not exist!");
}
}
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.ConnectionType;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
public static class OraLogic
{
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, int tanoraId, IConnectionType connectionType, IDalHandler h)
=> new MulasztasHelper(new DalHandlerConnectionType(connectionType, h)).ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, tanoraId);
public static List<int> ListElozoOranHianyzottTanuloId(DateTime oraKezdetDatuma, int osztalyCsoportId, int userId, int intezmenyId, string intezmenyAzonosito, int tanevId)
=> new TanuloHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetElozoOranHianyzottTanulok(oraKezdetDatuma, osztalyCsoportId);
}
}

View file

@ -0,0 +1,13 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System;
using System.Collections.Generic;
using Kreta.Core.ConnectionType;
using Kreta.DataAccessManual.Interfaces;
public static class OrarendiOraLogic
{
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, IConnectionType connectionType, IDalHandler h)
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, -1, connectionType, h);
}
}

View file

@ -0,0 +1,24 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core.ConnectionType;
using Kreta.Enums;
using Kreta.Enums.ManualEnums.SystemSettings;
public static class SystemSettingsLogic
{
public static bool IsMagantanuloOralatogatasAloliMentessegEnabled(int tantargyId, string intezmenyAzonosito, int tanevId, int userId, int intezmenyId)
{
var magantanuloMulasztasSystemSetting = (SystemSettingMagantanuloMulasztas)new SystemSettingsHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Magantanulo_oralatogatas_aloli_mentessegenek_kezelese);
var IsNemKellMegjelennie = magantanuloMulasztasSystemSetting == SystemSettingMagantanuloMulasztas.NemKellMegjelennie;
var IsNemGyakorlatiTantargyonResztKellVennie = magantanuloMulasztasSystemSetting == SystemSettingMagantanuloMulasztas.CsakGyakorlaton && !new TantargyHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).IsGyakorlatiTantargy(tantargyId);
return IsNemKellMegjelennie || IsNemGyakorlatiTantargyonResztKellVennie;
}
public static bool IsMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled(string intezmenyAzonosito, int tanevId, int userId, int intezmenyId)
=> new SystemSettingsHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.A_foglalkozasok_mulasztasi_adatai_megadasanal_a_parhuzamos_orakkal_valo_utkozes_vizsgalata);
}
}

View file

@ -0,0 +1,13 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System;
using System.Collections.Generic;
using Kreta.Core.ConnectionType;
using Kreta.DataAccessManual.Interfaces;
public static class TanitasiOraLogic
{
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, int tanoraId, IConnectionType connectionType, IDalHandler h)
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, tanoraId, connectionType, h);
}
}

View file

@ -0,0 +1,39 @@
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
{
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
using Kreta.Core.Exceptions;
public static class TanuloLogic
{
public static bool CalculateIsNowFelmentett(List<FelmentesGetResponseCo> felmentesek, DateTime examinedDate, int intezmenyId, string intezmenyAzonosito, int tanevId, FelmentesType felmentesTypeFilter = FelmentesType.None)
{
foreach (var felmentes in felmentesek)
{
if (FelmentesLogic.CalculateIsNowFelmentettByDatum(examinedDate, felmentes.KezdetDatuma, felmentes.VegDatuma))
{
switch (felmentesTypeFilter)
{
case FelmentesType.None:
return felmentes.IsOralatogatasAlolFelmentett || felmentes.IsErtekelesAlolFelmentett;
case FelmentesType.OralatogatasAlol:
return felmentes.IsOralatogatasAlolFelmentett;
case FelmentesType.ErtekelesAlol:
return felmentes.IsErtekelesAlolFelmentett;
case FelmentesType.OralatogatasEsErtekelesAlol:
return felmentes.IsOralatogatasAlolFelmentett && felmentes.IsErtekelesAlolFelmentett;
default:
throw new BlException($"{nameof(FelmentesType)} does not exist!");
}
}
}
return false;
}
public static bool CalculateIsNowMagantanulo(bool isMagantanulo, DateTime? maganTanulosagKezdetDatuma, DateTime? maganTanulosagVegeDatuma, DateTime oraDatuma)
=> isMagantanulo && (!maganTanulosagKezdetDatuma.HasValue || maganTanulosagKezdetDatuma.Value <= oraDatuma) && (!maganTanulosagVegeDatuma.HasValue || maganTanulosagVegeDatuma.Value >= oraDatuma);
}
}