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

52 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.Dao.VN.Intezmeny.TanevRendje;
using Kreta.Ellenorzo.Domain.VN.Adatszotar;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.Intezmeny.TanevRendje;
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Enums;
using Kreta.KretaServer.SystemSettings;
namespace Kreta.Ellenorzo.BL.VN.Intezmeny.TanevRendje
{
internal static class TanevRendjeSubqueries
{
internal static HashSet<TanevRendjeListResponse> ListTanevRendje(DefaultConnectionParameters dcp)
{
var response = new HashSet<TanevRendjeListResponse>(new TanevRendjeListResponse());
var tanevRendElemek = dcp.DalHandler.TanevRendjeDal().ListTanevRendekOsztalyCsoportokkal(dcp.TanevId, null, null, dcp.TanuloId, null).ToDaoList<TanevRendjeResponseDao>();
var kezdoIdopont = SystemSettingsManager.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja, dcp.IntezmenyAzonosito, dcp.TanevId);
foreach (var tanevRendElem in tanevRendElemek)
{
var napTipusNeve = (tanevRendElem.IsMindenOsztalyraVonatkozik ? string.Empty : "* ")
+ tanevRendElem.NapTipusNeve
+ (tanevRendElem.IsOrarendiNap ? string.Empty : " (Nem órarendi nap)")
+ (!string.IsNullOrWhiteSpace(tanevRendElem.HetNapjaNev) ? " (" + tanevRendElem.HetNapjaNev + ")" : string.Empty);
var responseItem = new TanevRendjeListResponse
{
Datum = tanevRendElem.Datum.Add(kezdoIdopont).AddMinutes(-1),
Naptipus = new Adatszotar<NapTipusEnum>(tanevRendElem.NapTipusId, napTipusNeve),
ElteroOrarendSzerintiTanitasiNap = tanevRendElem.HetNapjaId.HasValue ? new Adatszotar<HetNapjaTipusEnum>(tanevRendElem.HetNapjaId.Value, tanevRendElem.HetNapjaNev) : null,
OrarendiNapHetirendje = new Adatszotar<HetiRendTipusEnum>(tanevRendElem.HetirendId, tanevRendElem.HetirendNeve),
OsztalyCsoport = tanevRendElem.OsztalyCsoportId.HasValue ? new OsztalyCsoportSimplifiedResponse { Uid = new OsztalyCsoportUid(tanevRendElem.OsztalyCsoportId.Value) } : null
};
responseItem.Uid = new TanevRendjeUid(tanevRendElem.Id, responseItem.OsztalyCsoport?.Uid.Id);
if (!response.Add(responseItem))
{
throw new BlException(BlExceptionType.DuplikaltKulcs);
}
}
return response;
}
}
}