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