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 ListEmail(IDalHandler h, EmailListRequest request) { var response = new HashSet(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(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; } } }