using System; using System.Collections.Generic; using Kreta.BusinessLogic.Interfaces; using Kreta.Client.CoreApi; using Kreta.Naplo.BusinessLogic.V3.Naplo; using Kreta.Naplo.Domain.V3.Common; using Kreta.Naplo.Domain.V3.Orarend; using Kreta.Naplo.Domain.V3.OsztalyCsoport; namespace Kreta.Naplo.BusinessLogic.V3.Orarend { public class OrarendFacade : NaploFacade { private readonly IFileServiceHelper _fileServiceHelper; private readonly ICoreApiClient _coreApiClient; public OrarendFacade(MobileUser mobileUser) : base(mobileUser) { } public OrarendFacade(MobileUser mobileUser, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(mobileUser) { _fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper)); _coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient)); } public OrarendElemResponse GetOrarendElem(OrarendElemRequest request) => RunSubquery(() => OrarendSubqueries.GetOrarendElem(DefaultConnectionParameters, request)); public HashSet GetOrarend(OrarendRequest request) => RunSubquery(() => OrarendSubqueries.GetOrarend(DefaultConnectionParameters, request)); public string OraNaplozas(OraNaplozasRequest request) => RunSubquery(() => OrarendSubqueries.OraNaplozas(DefaultConnectionParameters, request, _fileServiceHelper, _coreApiClient)); public string OraNaplozasTorles(OraNaplozasTorlesRequest request) => RunSubquery(() => OrarendSubqueries.OraNaplozasTorles(DefaultConnectionParameters, request)); public IEnumerable GetTanuloJelenlet(TanuloJelenletRequest request) => RunSubquery(() => OrarendSubqueries.GetTanuloJelenlet(DefaultConnectionParameters, request)); public IEnumerable ListHetirend(HetirendListRequest request) => RunSubquery(() => OrarendSubqueries.ListHetirend(DefaultConnectionParameters, request)); public BejelentettSzamonkeresekResponse GetBejelentettSzamonkeres(int id) => RunSubquery(() => OrarendSubqueries.GetBejelentettSzamonkeres(DefaultConnectionParameters, id)); public void DeleteBejelentettSzamonkeres(int id) => RunSubquery(() => OrarendSubqueries.DeleteBejelentettSzamonkeres(DefaultConnectionParameters, id)); public void PostSzamonkeres(SzamonkeresRequest request) => RunSubquery(() => OrarendSubqueries.PostSzamonkeres(DefaultConnectionParameters, request)); } }