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

38 lines
1.7 KiB
C#

using System.Collections.Generic;
using Kreta.DataAccessManual.Interfaces;
using Kreta.Ellenorzo.Domain.VN.Adatszotar;
using Kreta.Ellenorzo.Domain.VN.Telefon;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Enums;
namespace Kreta.Ellenorzo.BL.VN.Telefon
{
internal static class TelefonSubqueries
{
internal static HashSet<TelefonListResponse> ListTelefon(IDalHandler h, TelefonListRequest request)
{
var response = new HashSet<TelefonListResponse>(new TelefonListResponse());
var felhasznalokTelefonszamai = h.Telefon().ListTelefon(request.FelhasznaloIds, request.IsPublic);
foreach (var felhasznalokTelefonszama in felhasznalokTelefonszamai)
{
var felhasznaloTelefonszamai = new TelefonListResponse { FelhasznaloUid = new FelhasznaloUid(felhasznalokTelefonszama.FelhasznaloId) };
var telefonszam = new TelefonResponse
{
Uid = new TelefonUid(felhasznalokTelefonszama.Id),
Telefonszam = felhasznalokTelefonszama.Telefonszam,
Tipus = new Adatszotar<TelefonTipusEnum>(felhasznalokTelefonszama.Tipus, felhasznalokTelefonszama.TipusNeve),
IsAlapertelmezett = felhasznalokTelefonszama.IsAlapertelmezett
};
felhasznaloTelefonszamai.Telefonszamok.Add(telefonszam);
if (!response.Add(felhasznaloTelefonszamai))
{
_ = response.TryGetValue(felhasznaloTelefonszamai, out TelefonListResponse foundResponseItem);
foundResponseItem.Telefonszamok.Add(telefonszam);
}
}
return response;
}
}
}