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.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