namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo { using System; using System.Collections.Generic; using Kreta.BusinessLogic.Classes.MobileApi.Common.Co; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Enum; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Post; using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.UtilityMethods; using Kreta.BusinessLogic.Interfaces; using Kreta.Client.CoreApi; using Kreta.DataAccessManual; using OrarendiOra = V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet; using TanitasiOra = V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet; public class NaploFacadeV2 : NaploFacade { private readonly IFileServiceHelper fileServiceHelper; private readonly ICoreApiClient coreApiClient; public NaploFacadeV2(MobileUser mobileUser, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(mobileUser) { this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper)); this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient)); } #region Tanar public ResponseWrapperCo Profil(ProfilRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo(request.Hash); returnObject.FillData(TanarGetSubqueries.Profil(base.MobileUser.UserId, DefaultConnectionParameters)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); public ResponseWrapperCo> Iskolaor(IskolaorRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo>(request.Hash); returnObject.FillData(IskolaorGetSubqueries.Iskolaor(base.MobileUser.UserId, DefaultConnectionParameters)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); #endregion Tanar #region Orarend public ResponseWrapperCo> OraLista(OraGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return OrarendGetSubqueries.OraLista(base.MobileUser.UserId, h, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.TanevId, request, DefaultConnectionParameters.IntezmenyAzonosito); }, DefaultConnectionParameters.FelhasznaloId); public List CreateOraNaplozas(List request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return OrarendPostSubqueries.CreateOraNaplozas(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, request, fileServiceHelper, coreApiClient); }, DefaultConnectionParameters.FelhasznaloId); #endregion Orarend #region Ora #region OrarendiOra public List ListJavasoltJelenlet(OrarendiOra.JavasoltJelenletGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return OrarendiOraSubqueries.ListJavasoltJelenlet(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h, request, null); }, DefaultConnectionParameters.FelhasznaloId); #endregion OrarendiOra #region TanitasiOra public List ListJavasoltJelenlet(TanitasiOra.JavasoltJelenletGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return TanitasiOraSubqueries.ListJavasoltJelenlet(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h, request, Enums.OktNevelesiKategoriaEnum.NevelesOktatas); }, DefaultConnectionParameters.FelhasznaloId); #endregion TanitasiOra public ResponseWrapperCo> FeljegyzesLista(FeljegyzesRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return OraSubqueries.FeljegyzesLista(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId); }, DefaultConnectionParameters.FelhasznaloId); public ResponseWrapperCo> MulasztasLista(MulasztasRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo>(request.Hash); returnObject.FillData(OraSubqueries.MulasztasLista(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); public ResponseWrapperCo GetOsztalyTanuloi(OsztalyTanuloiRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo(request.Hash); request.OraShortDatuma = DateTime.Now; ///TODO @DevKornel OraDatuma bekötése, hogy vizsgalja, ki van besorolva az adott napon returnObject.FillData(OraSubqueries.GetOsztalyTanuloi(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.TanevId)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); public ResponseWrapperCo> ListJavasoltJelenletTemplate(JavasoltJelenletTemplateGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo>(request.Hash); returnObject.FillData(OraSubqueries.ListJavasoltJelenletTemplate(base.MobileUser.UserId, request)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); #endregion Ora #region Enum public ResponseWrapperCo> GetNaploEnum(EnumRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { var returnObject = new ResponseWrapperCo>(request.Hash); returnObject.FillData(EnumSubqueries.GetNaploEnum(h, DefaultConnectionParameters.TanevId, request)); return returnObject; }, DefaultConnectionParameters.FelhasznaloId); #endregion Enum #region Tanmenet public List ListTanmenet(TanmenetGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return TanmenetSubqueries.ListTanmenet(h, base.MobileUser.UserId, DefaultConnectionParameters.TanevId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, request); }, DefaultConnectionParameters.FelhasznaloId); #endregion Tanmenet #region Ertekeles public List CreateOsztalyCsoportErtekeles(List request) => ErtekelesPostSubqueries.CreateOsztalyCsoportErtekeles(MobileUser.UserId, DefaultConnectionParameters, request); public List GetTanuloErtekelesei(ErtekelesGetRequestCo request) => TanuloErtekeleseiGetSubqueries.GetTanuloErtekelesei(DefaultConnectionParameters, request); #endregion Ertekeles #region OpenBoard public FeltoltottFajlResponseCo CreateFajlFeltoltes(FeltoltottFajlRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h => { return FeltoltottFajlPostSubqueries.CreateFajlFeltoltes(h, fileServiceHelper, DefaultConnectionParameters, request); }, DefaultConnectionParameters.FelhasznaloId); public FeltolthetoFajlokSzamaResponseCo GetFeltolthetoFajlokSzama(FeltolthetoFajlokSzamaRequestCo request) => FeltolthetoFajlokSzamaGetSubqueries.GetFeltolthetoFajlokSzama(DefaultConnectionParameters, request); #endregion OpenBoard } }