64 lines
2.7 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|