44 lines
1.8 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|