init
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Ellenorzo.BL.VN.Email;
|
||||
using Kreta.Ellenorzo.BL.VN.Logic;
|
||||
using Kreta.Ellenorzo.BL.VN.Telefon;
|
||||
using Kreta.Ellenorzo.Dao.VN.Felhasznalo.Alkalmazott;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Domain.VN.Email;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott;
|
||||
using Kreta.Ellenorzo.Domain.VN.Telefon;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
|
||||
namespace Kreta.Ellenorzo.BL.VN.Felhasznalo.Alkalmazott
|
||||
{
|
||||
internal static class AlkalmazottSubqueries
|
||||
{
|
||||
internal static HashSet<AlkalmazottListResponse> ListAlkalmazott(DefaultConnectionParameters dcp, AlkalmazottListRequest request)
|
||||
{
|
||||
if (JogosultsagLogic.ListHozzaferhetoAlkalmazottIds(dcp).Intersect(request.FelhasznaloIds).ToList().Count != request.FelhasznaloIds.Count ||
|
||||
!request.Email.IsPublic.Value || !request.Telefon.IsPublic.Value)
|
||||
{
|
||||
throw new BlException(BlExceptionType.NemLetezoEntitas);
|
||||
}
|
||||
var response = new HashSet<AlkalmazottListResponse>(new AlkalmazottListResponse());
|
||||
|
||||
var felhasznaloEmailek = EmailSubqueries.ListEmail(dcp.DalHandler, request.Email);
|
||||
var felhasznaloTelefonok = TelefonSubqueries.ListTelefon(dcp.DalHandler, request.Telefon);
|
||||
|
||||
foreach (var item in dcp.DalHandler.Alkalmazott().GetAlkalmazottak(dcp.TanevId, request.FelhasznaloIds).ToDaoList<AlkalmazottResponseDao>())
|
||||
{
|
||||
if (!response.Add(new AlkalmazottListResponse
|
||||
{
|
||||
Uid = new AlkalmazottUid(item.Id),
|
||||
Nev = item.Nev,
|
||||
Emailek = felhasznaloEmailek.TryGetValue(new EmailListResponse { FelhasznaloUid = new FelhasznaloUid(item.Id) }, out EmailListResponse email) ? email.Emailek : new List<EmailResponse>(),
|
||||
Telefonok = felhasznaloTelefonok.TryGetValue(new TelefonListResponse { FelhasznaloUid = new FelhasznaloUid(item.Id) }, out TelefonListResponse telefon) ? telefon.Telefonszamok : new List<TelefonResponse>()
|
||||
}))
|
||||
{
|
||||
throw new BlException(BlExceptionType.DuplikaltKulcs);
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Ellenorzo.BL.VN.Ellenorzo;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Domain.VN.Email;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok;
|
||||
using Kreta.Ellenorzo.Domain.VN.Telefon;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Ellenorzo.BL.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok
|
||||
{
|
||||
public class OsztalyfonokFacade : EllenorzoFacade
|
||||
{
|
||||
public OsztalyfonokFacade(MobileUser mobileUser) : base(mobileUser)
|
||||
{
|
||||
}
|
||||
|
||||
public HashSet<OsztalyfonokListResponse> ListOsztalyfonokForTanuloAndGondviselo(OsztalyfonokListRequest request)
|
||||
{
|
||||
var felhasznaloIds = new HashSet<OsztalyfonokUid>(request?.Uids).Select(x => x.Id).ToList();
|
||||
|
||||
if (!felhasznaloIds.Any())
|
||||
{
|
||||
throw new BlException(string.Format(ErrorResource.ParameterMegadasaKotelezo, "Uid"), BlExceptionType.ModelValidacio);
|
||||
}
|
||||
|
||||
var response = RunSubquery(() => OsztalyfonokSubqueries.ListOsztalyfonok(DefaultConnectionParameters,
|
||||
new OsztalyfonokListRequest
|
||||
{
|
||||
Tanar = new TanarListRequest
|
||||
{
|
||||
Alkalmazott = new AlkalmazottListRequest
|
||||
{
|
||||
Email = new EmailListRequest { FelhasznaloIds = felhasznaloIds, IsPublic = true },
|
||||
Telefon = new TelefonListRequest { FelhasznaloIds = felhasznaloIds, IsPublic = true },
|
||||
FelhasznaloIds = felhasznaloIds
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Ellenorzo.BL.VN.OsztalyCsoport;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok;
|
||||
using Kreta.Ellenorzo.Domain.VN.OsztalyCsoport;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
|
||||
namespace Kreta.Ellenorzo.BL.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok
|
||||
{
|
||||
internal static class OsztalyfonokSubqueries
|
||||
{
|
||||
internal static HashSet<OsztalyfonokListResponse> ListOsztalyfonok(DefaultConnectionParameters dcp, OsztalyfonokListRequest request)
|
||||
{
|
||||
var response = new HashSet<OsztalyfonokListResponse>(new OsztalyfonokListResponse());
|
||||
var tanarok = TanarSubqueries.ListTanar(dcp, request.Tanar);
|
||||
var osztalyokAholOsztalyfonok = OsztalyCsoportSubqueries.ListOsztalyCsoport(dcp, new OsztalyCsoportListRequest { OsztalyfonokIds = request.Tanar.Alkalmazott.FelhasznaloIds });
|
||||
|
||||
foreach (var tanar in tanarok)
|
||||
{
|
||||
var responseItem = new OsztalyfonokListResponse
|
||||
{
|
||||
Uid = new OsztalyfonokUid(tanar.Uid.Id),
|
||||
Tanar = tanar,
|
||||
Osztalyai = osztalyokAholOsztalyfonok.Where(x => x.Osztalyfonok?.Uid.Id == tanar.Uid.Id).ToList()
|
||||
};
|
||||
|
||||
if (!response.Add(responseItem))
|
||||
{
|
||||
throw new BlException(BlExceptionType.DuplikaltKulcs);
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Alkalmazott.Tanar;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
|
||||
namespace Kreta.Ellenorzo.BL.VN.Felhasznalo.Alkalmazott.Tanar
|
||||
{
|
||||
internal static class TanarSubqueries
|
||||
{
|
||||
internal static HashSet<TanarListResponse> ListTanar(DefaultConnectionParameters dcp, TanarListRequest request)
|
||||
{
|
||||
var response = new HashSet<TanarListResponse>(new TanarListResponse());
|
||||
|
||||
foreach (var item in AlkalmazottSubqueries.ListAlkalmazott(dcp, request.Alkalmazott))
|
||||
{
|
||||
if (!response.Add(new TanarListResponse
|
||||
{
|
||||
Uid = new TanarUid(item.Uid.Id),
|
||||
Alkalmazott = item
|
||||
}))
|
||||
{
|
||||
throw new BlException(BlExceptionType.DuplikaltKulcs);
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user