kreta/Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.BL/VN/Faliujsag/FaliujsagSubqueries.cs
2024-03-13 00:33:46 +01:00

64 lines
2.7 KiB
C#

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.Faliujsag;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.Faliujsag;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
namespace Kreta.Ellenorzo.BL.VN.Faliujsag
{
internal static class FaliujsagSubqueries
{
internal static HashSet<FaliujsagListResponse> ListFaliujsag(DefaultConnectionParameters dcp, FaliujsagListRequest request)
{
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
var response = new HashSet<FaliujsagListResponse>(new FaliujsagListResponse());
var tanuloFaliujsagBejegyzeseiOsszes = dcp.DalHandler.Feljegyzes().GetFaliujsagonMegjelenoBejegyzesek(dcp.TanuloId, DateTime.Now, null, 0).ToDaoList<FaliujsagResponseDao>();
var tanuloFaliujsagBejegyzesei = FilterTanuloFaliujsagBejegyzeseiByErvenyessegKezdete(request.DatumTol, request.DatumIg, tanuloFaliujsagBejegyzeseiOsszes);
foreach (var faliujsagElem in tanuloFaliujsagBejegyzesei)
{
var faliujsagEsemeny = new FaliujsagListResponse
{
Uid = new FaliujsagUid(faliujsagElem.Id),
RogzitoNeve = faliujsagElem.RogzitoNeve,
ErvenyessegKezdete = faliujsagElem.ErvenyessegKezdete,
ErvenyessegVege = faliujsagElem.ErvenyessegVege,
Cim = faliujsagElem.Cim,
Tartalom = faliujsagElem.Tartalom
};
if (!response.Add(faliujsagEsemeny))
{
throw new BlException(BlExceptionType.DuplikaltKulcs);
}
}
return response;
}
private static List<FaliujsagResponseDao> FilterTanuloFaliujsagBejegyzeseiByErvenyessegKezdete(DateTime? datumTol, DateTime? datumIg, List<FaliujsagResponseDao> tanuloFaliujsagBejegyzesei)
{
if (datumTol.HasValue && datumIg.HasValue)
{
tanuloFaliujsagBejegyzesei = tanuloFaliujsagBejegyzesei.FindAll(x => x.ErvenyessegKezdete >= datumTol && x.ErvenyessegKezdete <= datumIg);
}
else if (datumTol.HasValue)
{
tanuloFaliujsagBejegyzesei = tanuloFaliujsagBejegyzesei.FindAll(x => x.ErvenyessegKezdete >= datumTol);
}
else if (datumIg.HasValue)
{
tanuloFaliujsagBejegyzesei = tanuloFaliujsagBejegyzesei.FindAll(x => x.ErvenyessegKezdete <= datumIg);
}
return tanuloFaliujsagBejegyzesei;
}
}
}