This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions
@@ -0,0 +1,20 @@
using System.Collections.Generic;
using Kreta.Ellenorzo.BL.VN.Ellenorzo;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
namespace Kreta.Ellenorzo.BL.VN.OsztalyCsoport
{
public class OsztalyCsoportFacade : EllenorzoFacade
{
public OsztalyCsoportFacade(MobileUser mobileUser) : base(mobileUser)
{
}
public HashSet<OsztalyCsoportListResponse> ListTanuloOsztalyCsoport()
=> RunSubquery(() => OsztalyCsoportSubqueries.ListOsztalyCsoport(DefaultConnectionParameters, new OsztalyCsoportListRequest
{
TanuloIds = new List<int> { DefaultConnectionParameters.TanuloId }
}));
}
}
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Core.Logic;
using Kreta.Ellenorzo.BL.VN.Logic;
using Kreta.Ellenorzo.Dao.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Domain.VN.Adatszotar;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok;
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Ellenorzo.Enums.VN;
using Kreta.Enums;
namespace Kreta.Ellenorzo.BL.VN.OsztalyCsoport
{
internal static class OsztalyCsoportSubqueries
{
internal static HashSet<OsztalyCsoportListResponse> ListOsztalyCsoport(DefaultConnectionParameters dcp, OsztalyCsoportListRequest request)
{
var response = new HashSet<OsztalyCsoportListResponse>(new OsztalyCsoportListResponse());
var osztalyokEsCsoportok = dcp.DalHandler.OsztalyCsoport().GetOsztalyCsoportok(dcp.TanevId, null, osztalyfonokIds: request?.OsztalyfonokIds, tanuloIds: request?.TanuloIds, oktatasiNevelesiFeladatId: request?.OktatasiNevelesiFeladatId)
.ToDaoList<TanuloOsztalyCsoportResponseDao>();
var ido = DateTime.Now;
foreach (var osztalyCsoport in osztalyokEsCsoportok)
{
var responseItem = new OsztalyCsoportListResponse
{
Nev = osztalyCsoport.Nev,
OktatasNevelesiKategoria = new Adatszotar<OktNevelesiKategoriaEnum>(osztalyCsoport.OktatasNevelesiKategoriaId, osztalyCsoport.OktatasNevelesiKategoriaNeve),
OktatasNevelesiFeladat = new Adatszotar<OktatasiNevelesiFeladatEnum>(osztalyCsoport.OktatasiNevelesiFeladatId, osztalyCsoport.OktatasiNevelesiFeladatNeve),
Uid = new OsztalyCsoportUid(osztalyCsoport.Id),
OsztalyCsoportTipus = osztalyCsoport.IsCsoport ? OsztalyCsoportTipus.Csoport : OsztalyCsoportTipus.Osztaly,
Osztalyfonok = osztalyCsoport.OsztalyfonokId.HasValue ? new OsztalyfonokSimplifiedResponse { Uid = new OsztalyfonokUid(osztalyCsoport.OsztalyfonokId.Value) } : null,
OsztalyfonokHelyettes = osztalyCsoport.OsztalyfonokHelyettesId.HasValue ? new OsztalyfonokHelyettesSimplifiedResponse { Uid = new OsztalyfonokHelyettesUid(osztalyCsoport.OsztalyfonokHelyettesId.Value) } : null,
EvfolyamTipus = osztalyCsoport.EvfolyamTipusId,
CsoportTipus = (CsoportTipusEnum?)osztalyCsoport.CsoportTipus,
TanuloUid = new TanuloUid(osztalyCsoport.TanuloId),
Tagsagok = new HashSet<OsztalyCsoportTagsagResponse>(new OsztalyCsoportTagsagResponse())
{
new OsztalyCsoportTagsagResponse(ido, osztalyCsoport.ErvenyessegKezdete, osztalyCsoport.ErvenyessegVege)
},
OktatasiNevelesiFeladatSortIndex = OsztalyCsoportLogic.GetSortIndexByOktatasNevelesiFeladat((OktatasiNevelesiFeladatEnum)osztalyCsoport.OktatasiNevelesiFeladatId),
IsTanoraiCeluCsoportTipus = osztalyCsoport.IsTanoraiCeluCsoportTipus
};
if (!response.Add(responseItem))
{
if (response.TryGetValue(responseItem, out var result))
{
var tagsag = new OsztalyCsoportTagsagResponse(ido, osztalyCsoport.ErvenyessegKezdete, osztalyCsoport.ErvenyessegVege);
if (!result.Tagsagok.Add(tagsag))
{
throw new BlException(BlExceptionType.DuplikaltKulcs);
}
}
else
{
throw new BlException(BlExceptionType.ElvartErtekNemTalalhato);
}
}
}
return response;
}
}
}