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,71 @@
using System.Collections.Generic;
using System.Data;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
using Kreta.Core.Validation.Exceptions;
using Kreta.Core.Validation.Exceptions.Enum;
using Kreta.DataAccessManual.Interfaces;
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
{
public static class TanmenetSubqueries
{
public static List<TanmenetGetResponseCo> ListTanmenet(IDalHandler h, int teacherId, int tanevId, int intezmenyId, string intezmenyAzonosito, TanmenetGetRequestCo request)
{
var allowedRequestRecordLength = 10;
if (request.Key.Length > allowedRequestRecordLength)
{
throw new ValidationException(ValidationErrorType.Undefined, $"Hiba történt, {nameof(allowedRequestRecordLength)}={allowedRequestRecordLength}!");
}
var errors = new List<ValidationExceptionItem>();
var tanarHelyettesitesLogic = new HelyettesitesLogic.Tanar(teacherId, tanevId, intezmenyId, intezmenyAzonosito, null);
for (int i = 0; i < request.Key.Length; i++)
{
var tanmenetKey = request.Key[i];
if (tanmenetKey.FeltoltoTanarId != teacherId && !tanarHelyettesitesLogic.IsHelyettesito(tanmenetKey.OsztalyCsoportId, tanmenetKey.TantargyId))
{
errors.Add(new ValidationExceptionItem(i.ToString(), $"Nincs jogosultsága, csak a saját vagy helyettesítési tanmenet kérdezhető le!"));
}
}
if (errors.Count > 0)
{
throw new ValidationException(ValidationErrorType.Undefined, "Hiba történt!", errors);
}
var response = new List<TanmenetGetResponseCo>();
var tanmenetDal = h.Tanmenet();
foreach (var tanmenetKey in request.Key)
{
var tanmenetItems = new List<TanmenetItemGetResponseCo>();
var tanmenetItemDt = tanmenetDal.GetTanmenetek(tanmenetKey.TantargyId, tanmenetKey.OsztalyCsoportId, tanmenetKey.FeltoltoTanarId).Tables[0];
foreach (DataRow tanmenetItem in tanmenetItemDt.Rows)
{
tanmenetItems.Add(new TanmenetItemGetResponseCo
{
Id = tanmenetItem.Field<int>("ID"),
EvesOraszam = tanmenetItem.Field<int>("Oraszam"),
Tema = tanmenetItem.Field<string>("Tema"),
Megjegyzes = tanmenetItem.Field<string>("Megjegyzes"),
Nev = tanmenetItem.Field<string>("Nev"),
RovidNev = tanmenetItem.Field<string>("RovidNev")
});
}
response.Add(new TanmenetGetResponseCo
{
OsztalyCsoportId = tanmenetKey.OsztalyCsoportId,
TantargyId = tanmenetKey.TantargyId,
FeltoltoTanarId = tanmenetKey.FeltoltoTanarId,
Items = tanmenetItems
});
}
return response;
}
}
}