namespace Kreta.Naplo.BusinessLogic.V2.Service { using System.Collections.Generic; using System.Threading.Tasks; using Kreta.Core.Client.MessageInvoker; using Kreta.Naplo.Domain.V2.Model; using Kreta.Naplo.Domain.V2.Model.Get.OpenBoard; using Kreta.Naplo.Domain.V2.Model.Get.Orarend; using Kreta.Naplo.Domain.V2.Model.Get.Tanmenet; using Kreta.Naplo.Domain.V2.Model.Get.Tanulo; using Kreta.Naplo.Domain.V2.Model.Post.Naplozas; using Kreta.Naplo.Domain.V2.Model.Post.OpenBoard; using Kreta.Naplo.Domain.V2.Service; using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet; using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet; internal class CommonService : VersionedService, ICommonService { public CommonService(IHttpMessageInvokerFactory invokerFactory) : base(invokerFactory, "") { } public async Task>> GetOraListaAsync(OraGetRequest request) { return await GetAsync>>("Orarend/OraLista", request); } public async Task>> ListJavasoltJelenletTemplateAsync(object request) { return await GetAsync>>("Ora/JavasoltJelenletTemplate", request); } public async Task> ListTanmenetAsync(TanmenetGetRequest request) { var size = request.Key.GetType().GetProperties().Length; var parameters = new KeyValuePair?[request.Key.Length * size]; for (int i = 0; i < request.Key.Length; i++) { parameters[i * size] = new KeyValuePair($"{nameof(TanmenetGetRequest.Key)}[{i}].{nameof(TanmenetKeyGetRequest.OsztalyCsoportId)}", request.Key[i].OsztalyCsoportId); parameters[(i * size) + 1] = new KeyValuePair($"{nameof(TanmenetGetRequest.Key)}[{i}].{nameof(TanmenetKeyGetRequest.TantargyId)}", request.Key[i].TantargyId); parameters[(i * size) + 2] = new KeyValuePair($"{nameof(TanmenetGetRequest.Key)}[{i}].{nameof(TanmenetKeyGetRequest.FeltoltoTanarId)}", request.Key[i].FeltoltoTanarId); } return await GetAsync>("Tanmenet", null, null, parameters); } public async Task> ListJavasoltJelenletAsync(OrarendiOra.JavasoltJelenletGetRequest request) { var size = request.Key.GetType().GetProperties().Length; var parameters = new KeyValuePair?[request.Key.Length * size]; for (int i = 0; i < request.Key.Length; i++) { parameters[i * size] = new KeyValuePair($"{nameof(OrarendiOra.JavasoltJelenletGetRequest.Key)}[{i}].{nameof(OrarendiOra.JavasoltJelenletKeyGetRequest.OrarendiOraId)}", request.Key[i].OrarendiOraId); parameters[(i * size) + 1] = new KeyValuePair($"{nameof(OrarendiOra.JavasoltJelenletGetRequest.Key)}[{i}].{nameof(OrarendiOra.JavasoltJelenletKeyGetRequest.OraKezdetDatumaUtc)}", request.Key[i].OraKezdetDatumaUtc); parameters[(i * size) + 2] = new KeyValuePair($"{nameof(OrarendiOra.JavasoltJelenletGetRequest.Key)}[{i}].{nameof(OrarendiOra.JavasoltJelenletKeyGetRequest.OraVegDatumaUtc)}", request.Key[i].OraVegDatumaUtc); } return await GetAsync>("Ora/OrarendiOra/JavasoltJelenlet", null, null, parameters); } public async Task> ListJavasoltJelenletAsync(TanitasiOra.JavasoltJelenletGetRequest request) { var size = request.Key.GetType().GetProperties().Length; var parameters = new KeyValuePair?[request.Key.Length * size]; for (int i = 0; i < request.Key.Length; i++) { parameters[i * size] = new KeyValuePair($"{nameof(TanitasiOra.JavasoltJelenletGetRequest.Key)}[{i}].{nameof(TanitasiOra.JavasoltJelenletKeyGetRequest.TanitasiOraId)}", request.Key[i].TanitasiOraId); } return await GetAsync>("Ora/TanitasiOra/JavasoltJelenlet", null, null, parameters); } public async Task> OraNaplozasAsync(List request) { return await PostAsync>("Orarend/OraNaplozas", request); } public async Task PostFajlFeltoltesAsync(FeltoltottFajlRequest request) { return await PostAsync("OpenBoard/FajlFeltoltes", request); } public async Task GetFeltolthetoFajlokSzamaAsync(FeltolthetoFajlokSzamaRequest request) { return await GetAsync("OpenBoard/FeltolthetoFajlokSzama", request); } public async Task> GetTanuloErtekeleseiAsync(ErtekelesGetRequest request) { return await GetAsync>("Tanulo/Ertekeles", request); } } }