Files
kreta/Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.BL/VN/Feljegyzes/FeljegyzesSubqueries.cs
T
2024-03-13 00:33:46 +01:00

60 lines
2.8 KiB
C#

using System.Collections.Generic;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Logic.Feljegyzes;
using Kreta.Core.ConnectionType;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Core.Logic;
using Kreta.DataAccessManual.Util;
using Kreta.Ellenorzo.BL.VN.Logic;
using Kreta.Ellenorzo.Dao.VN.Feljegyzes;
using Kreta.Ellenorzo.Domain.VN.Adatszotar;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar;
using Kreta.Ellenorzo.Domain.VN.Feljegyzes;
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Enums;
namespace Kreta.Ellenorzo.BL.VN.Feljegyzes
{
internal static class FeljegyzesSubqueries
{
internal static HashSet<FeljegyzesListResponse> ListFeljegyzes(DefaultConnectionParameters dcp, FeljegyzesListRequest request)
{
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
var response = new HashSet<FeljegyzesListResponse>(new FeljegyzesListResponse());
var tanuloFeljegyzesei = dcp.DalHandler.Feljegyzes().GetTanuloFeljegyzesei(dcp.TanuloId, request.DatumTol, request.DatumIg, request.Uid?.Id).Tables[0];
new FeljegyzesLogic(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).RemoveHiddenRowsFromFeljegyzesDataSet(tanuloFeljegyzesei, "Tipus", dcp.TanuloId);
var feljegyzesekDv = tanuloFeljegyzesei.DefaultView;
feljegyzesekDv.Sort = "Datum DESC";
tanuloFeljegyzesei = feljegyzesekDv.ToTable();
foreach (var item in tanuloFeljegyzesei.ToDaoList<FeljegyzesResponseDao>())
{
var feljegyzes = new FeljegyzesListResponse
{
Uid = new FeljegyzesUid(item.Id),
Tipus = new Adatszotar<EsemenyTipusEnum>(item.TipusId, item.TipusNev),
Cim = item.Cim,
Tartalom = RichTextLogic.RemoveHtmlForMobile(item.Tartalom),
Tanar = new TanarSimplifiedResponse { Nev = item.TanarNev },
Datum = item.Datum,
KeszitesDatuma = item.KeszitesDatuma,
OsztalyCsoport = item.OsztalyCsoportId.HasValue ? new OsztalyCsoportSimplifiedResponse { Uid = new OsztalyCsoportUid(item.OsztalyCsoportId.Value) } : null
};
if (!response.Add(feljegyzes))
{
throw new BlException(BlExceptionType.DuplikaltKulcs);
}
}
return RequestFilterLogic.CreateUidFilteredListResponse<HashSet<FeljegyzesListResponse>, FeljegyzesListRequest, FeljegyzesUid>(response, request);
}
}
}