kreta/Kreta.WebApi/Naplo/Kreta.Naplo.BusinessLogic/V3/OsztalyCsoport/OsztalyCsoportSubqueries.cs
2024-03-13 00:33:46 +01:00

410 lines
24 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Ertekeles;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Core.Logic;
using Kreta.Core.Validation.Exceptions;
using Kreta.DataAccessManual.ParameterClasses;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Naplo.BusinessLogic.V3.Logic;
using Kreta.Naplo.Dao.V3.Orarend;
using Kreta.Naplo.Dao.V3.OsztalyCsoport;
using Kreta.Naplo.Dao.V3.Tanulo;
using Kreta.Naplo.Domain.V3.Common;
using Kreta.Naplo.Domain.V3.Enum;
using Kreta.Naplo.Domain.V3.Ertekeles;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Resources;
namespace Kreta.Naplo.BusinessLogic.V3.OsztalyCsoport
{
public static class OsztalyCsoportSubqueries
{
internal static void CreateOsztalyCsoportErtekeles(DefaultConnectionParameters dcp, List<OsztalyCsoportErtekelesRequest> request)
{
if (request.Any(r => !r.TanuloLista.Any()))
{
throw new BlException(TanuloErtekelesResource.NincsKitoltveEgyetlenErtekelesSem, BlExceptionType.ModelValidacio);
}
if (IsRequestContainsDuplicatedItem(request))
{
throw new BlException(TanuloErtekelesResource.ErtekelesDuplikalt, BlExceptionType.DuplikaltKulcs);
}
foreach ((var datum, var osztalyCsoportId) in request.Select(x => (x.Datum, x.OsztalyCsoportId)).Distinct())
{
if (!new NaplozarasLogic(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
.IsErtekelhetZarastolFuggetlenul(datum, osztalyCsoportId))
{
throw new BlException(TanuloErtekelesResource.ErtekelesNemAdhatoNaplozarasMiatt, BlExceptionType.NaploZaras);
}
}
foreach (var osztalyCsoportErtekeles in request)
{
var tanuloListaCo = osztalyCsoportErtekeles.TanuloLista.Select(x => new TanuloForOsztalyCsoportErtekelesRequestCo
{
Ertekeles = new ErtekelesRequestCo
{
OsztalyzatTipus = x.Ertekeles.OsztalyzatTipus.Uid.Id,
Szazalek = x.Ertekeles.Szazalek,
Szoveg = x.Ertekeles.Szoveg
},
TanuloId = x.TanuloId
}).ToList();
var co = new OsztalyCsoportErtekelesRequestCo
{
Datum = osztalyCsoportErtekeles.Datum.Date,
Mod = osztalyCsoportErtekeles.Mod.Uid.Id,
Tema = osztalyCsoportErtekeles.Tema,
OsztalyCsoportId = osztalyCsoportErtekeles.OsztalyCsoportId,
TantargyId = osztalyCsoportErtekeles.TantargyId,
TanuloLista = tanuloListaCo
};
try
{
new TanuloErtekelesHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
.SaveTanuloErtekelesListMobil(dcp.FelhasznaloId, co);
}
catch (BlException exception)
{
throw new BlException(exception.Message, BlExceptionType.ModelValidacio);
}
catch (EntityNotFoundException)
{
throw new BlException(ErrorResource.AzElemNemTalalhatoVagyToroltek, BlExceptionType.ModelValidacio);
}
}
}
internal static IEnumerable<OsztalyCsoportTanuloResponse> GetOsztalyCsoportTanuloi(DefaultConnectionParameters dcp, OsztalyCsoportTanuloRequest request)
{
return dcp.DalHandler.TanuloCsoport().OsztalyTanuloi(dcp.TanevId, new List<int>() { request.OsztalyCsoportId }, datum: request.Datum ?? DateTime.Now)
.ToDaoList<OsztalyCsoportTanuloResponseDao>()
.Select(x => new OsztalyCsoportTanuloResponse { TanuloId = x.Id, TanuloNev = x.Nev, TanuloSzuletesiDatum = x.SzuletesiDatum, TanuloAnyjaNeve = x.AnyjaNeve });
}
private static bool IsRequestContainsDuplicatedItem(List<OsztalyCsoportErtekelesRequest> request)
{
var requestUniqueItems = new HashSet<(DateTime datum, int tantargyId, string tema, int tanuloErtekelesHashCode)>();
foreach (var item in request)
{
var tanuloErtekelesHashCode = item.TanuloLista.Select(x => $"{x.TanuloId} + {x.Ertekeles.OsztalyzatTipus} + {x.Ertekeles.Szazalek} + {x.Ertekeles.Szoveg}")
.Aggregate((a, b) => a + b).GetHashCode();
if (!requestUniqueItems.Add((item.Datum, item.TantargyId, item.Tema, tanuloErtekelesHashCode)))
{
return true;
}
}
return false;
}
internal static HashSet<OsztalyCsoportErtekelesekResponse> GetOsztalyCsoportErtekelesek(DefaultConnectionParameters dcp, OsztalyCsoportErtekelesekRequest request)
{
if (!new NaplozarasLogic(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
.IsErtekelhetZarastolFuggetlenul(request.Datum, request.OsztalyCsoportId))
{
throw new BlException(TanuloErtekelesResource.ErtekelesNemAdhatoNaplozarasMiatt, BlExceptionType.NaploZaras);
}
var response = new HashSet<OsztalyCsoportErtekelesekResponse>();
var osztalyCsoportTanuloi = GetOsztalyCsoportTanuloi(dcp, new OsztalyCsoportTanuloRequest { OsztalyCsoportId = request.OsztalyCsoportId });
if (request.TanuloId.HasValue)
{
osztalyCsoportTanuloi = osztalyCsoportTanuloi.Where(t => t.TanuloId == request.TanuloId.Value);
}
var ertekelesekDaoList = dcp.DalHandler.TanuloErtekelesDal().GetErtekelesekDataSet(request.TantargyId, request.OsztalyCsoportId, request.TanuloId)
.ToDaoList<TanuloErtekelesekResponseDao>();
var ertekelesek = FilterErtekelesek(dcp.TanevId, ertekelesekDaoList, ErtekelesLekeresTipusEnum.NemBizonyitvanyErtekelesTipus);
var mentessegekDaoList = dcp.DalHandler.Tanulo().GetMentessegDataSet(request.TantargyId, request.TanuloId, request.Datum).ToDaoList<TanuloMentessegResponseDao>();
if (ertekelesek.Any())
{
var tanuloOrderedGroupedErtekelesek = ertekelesek.GroupBy(e => e.TanuloId);
var tanuloIds = ertekelesek.Select(e => e.TanuloId).Distinct().ToList();
var tantargyiAtlagokDaoList = dcp.DalHandler.TanuloErtekelesDal().GetTantargyiAtlagListDataSet(dcp.TanevId, new List<int> { request.TantargyId }, tanuloIds)
.ToDaoList<TantargyiAtlagResponseDao>();
foreach (var tanuloOrderedGroupedErtekeles in tanuloOrderedGroupedErtekelesek)
{
var legujabbErtekeles = tanuloOrderedGroupedErtekeles.First();
var tanuloMentesseg = mentessegekDaoList.Where(tm => tm.TanuloId == legujabbErtekeles.TanuloId);
response.Add(new OsztalyCsoportErtekelesekResponse
{
TanuloId = legujabbErtekeles.TanuloId,
TanuloErtekelesFelmentes = new TanuloMentessegResponse
{
TanoraLatogatasaAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.TanoraLatogatasaAloliFelmentes ?? false,
ErtekelesAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.ErtekelesAloliFelmentes ?? false,
SzovegesenErtekelheto = tanuloMentesseg.FirstOrDefault()?.SzovegesenErtekelheto ?? false,
FelmentesOka = tanuloMentesseg.FirstOrDefault()?.FelmentesOka
},
TanuloTantargyiAtlag = tantargyiAtlagokDaoList.Where(ta => ta.TanuloId == legujabbErtekeles.TanuloId).Select(ta => ta.SulyozottAtlag).FirstOrDefault(),
TanuloErtekelesSzam = tanuloOrderedGroupedErtekeles.Count(),
TanuloUtolsoErtekeles = new ErtekelesResponse
{
OsztalyzatTipus = legujabbErtekeles.ErtekelesOsztalyzatId,
Szazalek = legujabbErtekeles.ErtekelesSzazalek,
Szoveg = legujabbErtekeles.ErtekelesSzoveg,
TipusId = legujabbErtekeles.TipusId
},
TanuloUtolsoErtekelesDatum = legujabbErtekeles.ErtekelesDatum
});
}
}
var tanulokErtekelesekNelkul = osztalyCsoportTanuloi.Where(t => !response.Select(g => g.TanuloId).Contains(t.TanuloId));
foreach (var tanuloErtekelesNelkul in tanulokErtekelesekNelkul)
{
var tanuloMentesseg = mentessegekDaoList.Where(tm => tm.TanuloId == tanuloErtekelesNelkul.TanuloId);
_ = response.Add(new OsztalyCsoportErtekelesekResponse
{
TanuloId = tanuloErtekelesNelkul.TanuloId,
TanuloErtekelesFelmentes = new TanuloMentessegResponse
{
TanoraLatogatasaAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.TanoraLatogatasaAloliFelmentes ?? false,
ErtekelesAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.ErtekelesAloliFelmentes ?? false,
SzovegesenErtekelheto = tanuloMentesseg.FirstOrDefault()?.SzovegesenErtekelheto ?? false,
FelmentesOka = tanuloMentesseg.FirstOrDefault()?.FelmentesOka
},
TanuloTantargyiAtlag = null,
TanuloErtekelesSzam = 0,
TanuloUtolsoErtekeles = null,
TanuloUtolsoErtekelesDatum = null
});
}
return response;
}
private static List<TanuloErtekelesekResponseDao> FilterErtekelesek(int tanevId, List<TanuloErtekelesekResponseDao> ertekelesekDaoList, ErtekelesLekeresTipusEnum ertekelesTipus)
{
var egyszerAdhatoTanuloErtekelesTipusIdList = EnumExtensions.GetErtekelesTipusDictionaryItems(tanevId, true).Select(x => x.Id).ToList();
switch (ertekelesTipus)
{
case ErtekelesLekeresTipusEnum.NemBizonyitvanyErtekelesTipus:
return ertekelesekDaoList.Where(e => egyszerAdhatoTanuloErtekelesTipusIdList.All(b => b != e.TipusId)).ToList();
case ErtekelesLekeresTipusEnum.BizonyitvanyErtekelesTipus:
return ertekelesekDaoList.Where(e => egyszerAdhatoTanuloErtekelesTipusIdList.Any(b => b == e.TipusId)).ToList();
case ErtekelesLekeresTipusEnum.MindenErtekelesTipus:
return ertekelesekDaoList;
default:
return ertekelesekDaoList;
}
}
internal static void TanuloErtekelesMentes(DefaultConnectionParameters dcp, int id, TanuloErtekelesMentesRequest request)
{
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
var connectionType = new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler);
var tanuloErtekelesCo = new TanuloErtekelesHelper(connectionType).GetTanuloErtekelesCoById(id);
if (tanuloErtekelesCo != null && tanuloErtekelesCo.ErtekeloId == dcp.FelhasznaloId)
{
if ((tanuloErtekelesCo.OsztalyCsoportId.HasValue && new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik().Contains(tanuloErtekelesCo.OsztalyCsoportId.Value))
|| tanuloErtekelesCo.Datum <= new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null))
{
throw new BlException(TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemModosithatErtekelestAzOsztalyTanuloinaknak, BlExceptionType.NaploZaras);
}
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
tanuloErtekelesCo.Datum = request.ErtekelesDatum;
tanuloErtekelesCo.ErtekelesModId = request.ErtekelesModId;
tanuloErtekelesCo.ErtekelesTema = request.ErtekelesTema;
tanuloErtekelesCo.ErtekelesOsztalyzatId = request.ErtekelesOsztalyzatId;
tanuloErtekelesCo.ErtekelesSzoveg = tanuloErtekelesCo.ErtekelesSzovegFormazott = request.ErtekelesSzoveg;
tanuloErtekelesCo.ErtekelesSzazalek = request.ErtekelesSzazalek;
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
tanuloErtekelesCoList = new TanuloErtekelesValidacioMobil(connectionType).Validate(dcp.DalHandler, tanuloErtekelesCoList, out List<ValidationExceptionItem> errors);
if (errors.Any())
{
throw TanuloErtekelesLogicMobil.GetValidationException(errors);
}
new TanuloErtekelesHelper(connectionType).SaveTanuloErtekelesList(dcp.FelhasznaloId, tanuloErtekelesCoList);
}
else
{
throw new BlException(BlExceptionType.NincsJogosultsag);
}
}
internal static void DeleteOsztalyCsoportErtekeles(DefaultConnectionParameters dcp, int id)
{
var connectionType = new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler);
var tanuloErtekelesCo = new TanuloErtekelesHelper(connectionType).GetTanuloErtekelesCoById(id);
var naplozarasLogic = new NaplozarasLogic(connectionType);
if (tanuloErtekelesCo != null && tanuloErtekelesCo.ErtekeloId == dcp.FelhasznaloId)
{
if (naplozarasLogic.IsCsakErtekelesZarasaVagyErtekelesEsNaploZarasaBeallitas() &&
tanuloErtekelesCo.Datum <= new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null))
{
throw new BlException(TanuloErtekelesResource.AzErtekelesNemTorolhetoErtekelesZarasMiatt, BlExceptionType.NaploZaras);
}
if (tanuloErtekelesCo.OsztalyCsoportId.HasValue && naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik().Contains(tanuloErtekelesCo.OsztalyCsoportId.Value))
{
throw new BlException(TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemTorolhetErtekelestAzOsztalyTanuloinaknak, BlExceptionType.NaploZaras);
}
new TanuloErtekelesHelper(connectionType).DeleteTanuloErtekelesById(id);
}
else
{
throw new BlException(BlExceptionType.NincsJogosultsag);
}
}
internal static OsztalyCsoportTanuloAdatokResponse GetOsztalyCsoportTanuloAdatok(DefaultConnectionParameters dcp, int id)
{
var response = new OsztalyCsoportTanuloAdatokResponse();
var tanuloAdatok = dcp.DalHandler.Tanulo().GetOsztalyCsoportTanuloAdatokDataSet(id).ToDaoList<OsztalyCsoportTanuloAdatokResponseDao>();
var tanuloGondviselok = dcp.DalHandler.Tanulo().GetGondviselok(id, dcp.TanevId).ToDaoList<OsztalyCsoportGondviseloResponseDao>();
return tanuloAdatok.Select(t => new OsztalyCsoportTanuloAdatokResponse
{
TanuloId = t.TanuloId,
TanuloNev = t.TanuloNev,
TanuloSzuletesiDatum = t.TanuloSzuletesiDatum,
TanuloAnyjaNeve = t.TanuloAnyjaNeve,
OsztalyCsoportok = tanuloAdatok.Select(o => new OsztalyCsoportResponse
{
OsztalyCsoportId = o.OsztalyCsoportId,
OsztalyCsoportNev = o.OsztalyCsoportNev
}).ToList(),
Gondviselok = tanuloGondviselok.Select(g => new OsztalyCsoportGondviseloResponse
{
Id = g.GondviseloId,
Nev = g.GondviseloNev,
RokonsagiFok = g.GondviseloRokonsagiFok?.GetDisplayName<RokonsagiFokEnum>(dcp.TanevId),
Telefonszam = g.GondviseloTelefonszam,
Email = g.GondviseloEmail,
IsTorvenyesKepviselo = g.IsTorvenyesKepviselo
}).ToList()
}).First();
}
internal static IEnumerable<MondatbankResponse> GetMondatbank(DefaultConnectionParameters dcp, MondatbankRequest request)
{
var osztalyCsoport = dcp.DalHandler.OsztalyCsoport().Get(request.OsztalyCsoportId);
return dcp.DalHandler.TanuloErtekelesMondatbankDal().GetTanuloErtekelesMondatbankData(dcp.TanevId, (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, (int)ErtMondatbankTipusEnum.Tantargy, request.TantargyId, osztalyCsoport.EvfolyamTipusa).ToDaoList<MondatbankResponseDao>()
.Select(m => new MondatbankResponse
{
RovidNev = m.RovidNev,
Nev = RichTextLogic.RemoveHtmlForMobile(m.Nev)
});
}
internal static IEnumerable<OsztalyokCsoportokResponse> GetOsztalyokCsoportok(DefaultConnectionParameters dcp)
{
var osztalyCsoportAdatok = dcp.DalHandler.OsztalyCsoport().GetOsztalyCsoportAdatokDataSet().ToDaoList<OsztalyCsoportAdatokResponseDao>();
var tanitottOsztalyokCsoportok = dcp.DalHandler.Foglalkozas().GetTanarFoglalkozasok(dcp.FelhasznaloId, dcp.TanevId)
.Tables[0].Rows.Cast<DataRow>().Select(row => SDAConvert.ToInt32(row["OCSID"])).ToList();
return osztalyCsoportAdatok.Select(ocs => new OsztalyokCsoportokResponse
{
OsztalyCsoportId = ocs.OsztalyCsoportId,
OsztalyCsoportNev = ocs.OsztalyCsoportNev,
IsTanitom = tanitottOsztalyokCsoportok.Contains(ocs.OsztalyCsoportId),
OsztalyfonokCsoportvezetoUid = ocs.OsztalyfonokCsoportvezetoUid,
OsztalyfonokCsoportvezetoNev = ocs.OsztalyfonokCsoportvezetoNev,
OsztalyfonokHelyettesUid = ocs.OsztalyfonokHelyettesUid,
OsztalyfonokHelyettesNev = ocs.OsztalyfonokHelyettesNev
});
}
internal static IEnumerable<TanuloErtekelesekResponse> GetTanuloErtekelesei(DefaultConnectionParameters dcp, TanuloErtekelesekRequest request)
{
var ertekelesek = dcp.DalHandler.TanuloErtekelesDal().GetTanuloErtekeleseiDataSet(request.TanuloId, request.TantargyId, request.OsztalyCsoportId).ToDaoList<TanuloErtekeleseiResponseDao>();
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetLezartOsztalyokEsBontottCsoportjaik();
var naplozart = lezartOsztalyokEsBontottCsoportjaik.Contains(request.OsztalyCsoportId);
var naplozarasDatum = new DateTime();
if (!naplozart)
{
naplozarasDatum = new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null);
}
return ertekelesek.Select(ertekeles => new TanuloErtekelesekResponse
{
ErtekelesId = ertekeles.ErtekelesId,
TantargyId = ertekeles.TantargyId,
TantargyNev = ertekeles.TantargyNev,
Ertekeles = ertekeles.ErtekelesSzazalek.HasValue ? $"{ertekeles.ErtekelesSzazalek}%" : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? ertekeles.ErtekelesSzoveg : ertekeles.ErtekelesOsztalyzatNev,
ErtekelesOsztalyzatId = ertekeles.ErtekelesOsztalyzatId,
ErtekelesOsztalyzatNev = !string.IsNullOrEmpty(ertekeles.ErtekelesOsztalyzatNev) ? ertekeles.ErtekelesOsztalyzatNev : null,
ErtekelesSzoveg = ertekeles.ErtekelesSzovegFormazott ?? ertekeles.ErtekelesSzoveg,
ErtekelesSzazalek = ertekeles.ErtekelesSzazalek,
ErtekelesFajtaId = ertekeles.ErtekelesSzazalek.HasValue ? (int)TanuloErtekelesFajtaEnum.Szazalekos : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? (int)TanuloErtekelesFajtaEnum.Szoveges : (int)TanuloErtekelesFajtaEnum.Osztalyzat,
ErtekelesFajtaNev = ertekeles.ErtekelesSzazalek.HasValue ? TanuloErtekelesFajtaEnum.Szazalekos.ToDisplayName() : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? TanuloErtekelesFajtaEnum.Szoveges.ToDisplayName() : TanuloErtekelesFajtaEnum.Osztalyzat.ToDisplayName(),
ErtekelesModId = ertekeles.ErtekelesModId,
ErtekelesModNev = ertekeles.ErtekelesModNev,
ErtekelesTipusId = ertekeles.ErtekelesTipusId,
ErtekelesTipusNev = ertekeles.ErtekelesTipusNev,
ErtekelesTema = ertekeles.ErtekelesTema,
ErtekelesDatum = ertekeles.ErtekelesDatum,
ErtekelesSuly = ertekeles.ErtekelesSuly,
ErtekelesRogzitesDatum = ertekeles.ErtekelesRogzitesDatum,
TanarUid = ertekeles.TanarUid,
OsztalyCsoportId = ertekeles.OsztalyCsoportId,
FeladatEllatasiHelyId = ertekeles.FeladatEllatasiHelyId,
FeladatEllatasiHelyNev = ertekeles.MukodesiHelyNev + " - " + ertekeles.OktatasiNevelesiFeladatTipusId.GetItemNameFromCache(dcp.TanevId, dcp.IntezmenyAzonosito),
Naplozart = naplozart || ertekeles.ErtekelesDatum <= naplozarasDatum
});
}
internal static IEnumerable<BejelentettSzamonkeresekResponse> GetBejelentettSzamonkeresek(DefaultConnectionParameters dcp, BejelentettSzamonkeresekRequest request)
{
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
var response = new HashSet<BejelentettSzamonkeresekResponse>();
var szamonkeresek = dcp.DalHandler.SzamonkeresElorejelzes().GetSzamonkeresElorejelzesDetailDataSet(
dcp.IntezmenyId,
dcp.TanevId,
new SzamonkeresElorejelzesSearchPco
{
OraGroupId = 0,
OsztalyCsoportId = request.OsztalyCsoportId,
Datum = request.Datum
}, true).ToDaoList<BejelentettSzamonkeresekResponseDao>();
foreach (var szamonkeres in szamonkeresek)
{
var bejelentettSzamonkeres = new BejelentettSzamonkeresekResponse
{
Id = szamonkeres.Id,
Tema = szamonkeres.Tema,
ErtekelesMod = szamonkeres.ErtekelesMod,
OraSzam = szamonkeres.OraSzam,
TantargyId = szamonkeres.TantargyId,
TantargyNev = szamonkeres.TantargyNev,
TanarUid = szamonkeres.TanarUid,
TanarNev = szamonkeres.TanarNev
};
response.Add(bejelentettSzamonkeres);
}
return response;
}
}
}