init
This commit is contained in:
@@ -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 }
|
||||
}));
|
||||
}
|
||||
}
|
||||
+70
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user