73 lines
3.4 KiB
C#
73 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.Client.LEP;
|
|
using Kreta.Core.Configuratiaton.Interface;
|
|
using Kreta.Core.Enum;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.Ellenorzo.Dao.VN.Lep;
|
|
using Kreta.Ellenorzo.Domain.VN.Common;
|
|
using Kreta.Ellenorzo.Domain.VN.Lep;
|
|
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
|
using Kreta.Web.Logging.Abstractions;
|
|
|
|
namespace Kreta.Ellenorzo.BL.VN.Lep
|
|
{
|
|
internal static class LepSubqueries
|
|
{
|
|
internal static List<EloadasResponse> GetEloadasok(DefaultConnectionParameters dcp, ILepConfiguration lepConfiguration, ITraceLogger logger)
|
|
{
|
|
var eloadasok = new List<EloadasResponse>();
|
|
var kozpontiResults = new List<EloadasIdopontResponseModel>();
|
|
|
|
try
|
|
{
|
|
kozpontiResults = new LepClient(lepConfiguration.Url, lepConfiguration.ApiKey).GetEloadasok(dcp.IntezmenyAzonosito, Core.Constants.LepEnabledEvfolyam);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
logger.Error(e.Message);
|
|
return eloadasok;
|
|
}
|
|
|
|
if (kozpontiResults?.Count > 0)
|
|
{
|
|
var tanuloEloadasDaoList = dcp.DalHandler.LepEloadasJegyzekDal().GetTanuloEloadasai(dcp.TanuloId).ToDaoList<TanuloEloadasResponseDao>();
|
|
|
|
var eloadasokGroupedResult = (from kozpontiResult in kozpontiResults
|
|
join tanuloEloadas in tanuloEloadasDaoList on kozpontiResult.Id equals tanuloEloadas.EloadasId
|
|
select new { kozpontiResult.Id, kozpontiResult.IranyitoSzam, kozpontiResult.Telepules, kozpontiResult.KozteruletNev, kozpontiResult.KozteruletJellegNev, kozpontiResult.Hazszam, kozpontiResult.Kezdete, kozpontiResult.Vege, kozpontiResult.SzervezetNev, kozpontiResult.Nev, kozpontiResult.Leiras, tanuloEloadas.GondviseloElfogadas, tanuloEloadas.Megjelent }).Distinct();
|
|
|
|
foreach (var item in eloadasokGroupedResult)
|
|
{
|
|
eloadasok.Add(new EloadasResponse()
|
|
{
|
|
Uid = new EloadasUid($"{item.Id}"),
|
|
Helyszin = $"{item.IranyitoSzam} {item.Telepules} {item.KozteruletNev} {item.KozteruletJellegNev} {item.Hazszam}",
|
|
Datum = item.Kezdete.Date,
|
|
EloadasKezdete = item.Kezdete,
|
|
EloadasVege = item.Vege,
|
|
SzervezetNev = item.SzervezetNev,
|
|
EloadasNev = item.Nev,
|
|
GondviseloElfogadas = SDAConvert.ToNullableBooleanFromTF(item.GondviseloElfogadas),
|
|
Megjelent = item.Megjelent
|
|
});
|
|
}
|
|
}
|
|
|
|
return eloadasok;
|
|
}
|
|
|
|
internal static void GondviseloEngedelyezes(DefaultConnectionParameters dcp, GondviseloEngedelyezesRequest request)
|
|
{
|
|
var result = dcp.DalHandler.LepEloadasJegyzekDal().SaveGondviseloEngedelyezes(dcp.IntezmenyId, dcp.TanevId, request.EloadasId, dcp.TanuloId, dcp.GondviseloId.Value, request.Dontes.HasValue ? SDAConvert.ToSDABoolean(request.Dontes.Value) : string.Empty);
|
|
if (!result)
|
|
{
|
|
throw new BlException(BlExceptionType.NemLetezoEntitas);
|
|
}
|
|
}
|
|
}
|
|
}
|