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

44 lines
1.8 KiB
C#

using System.Collections.Generic;
using Kreta.DataAccessManual.Interfaces;
using Kreta.Ellenorzo.Dao.VN.Email;
using Kreta.Ellenorzo.Domain.VN.Adatszotar;
using Kreta.Ellenorzo.Domain.VN.Email;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Enums;
namespace Kreta.Ellenorzo.BL.VN.Email
{
internal static class EmailSubqueries
{
internal static HashSet<EmailListResponse> ListEmail(IDalHandler h, EmailListRequest request)
{
var response = new HashSet<EmailListResponse>(new EmailListResponse());
var felhasznalokEmailCimei = h.Email().GetFelhasznalokEmailCimei(new EmailRequestDao
{
FelhasznaloIds = request.FelhasznaloIds,
IsPublic = request.IsPublic
});
foreach (var felhasznalokEmailCime in felhasznalokEmailCimei)
{
var felhasznaloEmailcimei = new EmailListResponse { FelhasznaloUid = new FelhasznaloUid(felhasznalokEmailCime.FelhasznaloId) };
var emailCim = new EmailResponse
{
Uid = new EmailUid(felhasznalokEmailCime.Id),
Email = felhasznalokEmailCime.Email,
Tipus = new Adatszotar<EmailTipusEnum>(felhasznalokEmailCime.Tipus, felhasznalokEmailCime.TipusNeve),
IsAlapertelmezett = felhasznalokEmailCime.IsAlapertelmezett
};
felhasznaloEmailcimei.Emailek.Add(emailCim);
if (!response.Add(felhasznaloEmailcimei))
{
_ = response.TryGetValue(felhasznaloEmailcimei, out EmailListResponse foundResponseItem);
foundResponseItem.Emailek.Add(emailCim);
}
}
return response;
}
}
}