113 lines
6.2 KiB
C#
113 lines
6.2 KiB
C#
namespace Kreta.Web.Areas.MobileApi.Naplo
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web.Http;
|
|
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
|
using Kreta.BusinessLogic.Classes.MobileApi.Naplo;
|
|
using Kreta.BusinessLogic.Interfaces;
|
|
using Kreta.Client.CoreApi;
|
|
using Kreta.Naplo.Domain.V2.Model;
|
|
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Enum;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.OpenBoard;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Ora.JavasoltJelenletTemplate;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Orarend;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Tanar;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Tanmenet;
|
|
using Kreta.Naplo.Domain.V2.Model.Get.Tanulo;
|
|
using Kreta.Naplo.Domain.V2.Model.Post.Ertekeles;
|
|
using Kreta.Naplo.Domain.V2.Model.Post.Naplozas;
|
|
using Kreta.Naplo.Domain.V2.Model.Post.OpenBoard;
|
|
using Kreta.Web.Areas.MobileApi.Attributes;
|
|
using Kreta.Web.Security;
|
|
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
|
|
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
|
|
using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet;
|
|
using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet;
|
|
|
|
[MobileApiAuthorization, LocalRequestOnly, RoutePrefix("api/Mobile/Naplo/V2")]
|
|
public class NaploV2Controller : ApiController
|
|
{
|
|
private readonly IFileServiceHelper fileServiceHelper;
|
|
private readonly ICoreApiClient coreApiClient;
|
|
|
|
public NaploV2Controller(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
|
{
|
|
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
|
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
|
}
|
|
|
|
[HttpGet, Route("Tanmenet")]
|
|
public List<TanmenetGetResponse> ListTanmenet([FromUri] TanmenetGetRequest request)
|
|
=> CoToModel(this.Facade().ListTanmenet(request));
|
|
|
|
[HttpGet, Route("Ora/OrarendiOra/JavasoltJelenlet")]
|
|
public List<OrarendiOra.JavasoltJelenletGetResponse> ListJavasoltJelenlet([FromUri] OrarendiOra.JavasoltJelenletGetRequest request)
|
|
=> CoToModel(this.Facade().ListJavasoltJelenlet(request));
|
|
|
|
[HttpGet, Route("Ora/TanitasiOra/JavasoltJelenlet")]
|
|
public List<TanitasiOra.JavasoltJelenletGetResponse> ListJavasoltJelenletTanitasiOra([FromUri] TanitasiOra.JavasoltJelenletGetRequest request)
|
|
=> CoToModel(this.Facade().ListJavasoltJelenlet(request));
|
|
|
|
[HttpGet, Route("Ora/Feljegyzes")]
|
|
public ResponseWrapper<List<FeljegyzesResponse>> GetFeljegyzesLista([FromUri] FeljegyzesRequest request)
|
|
=> ResponseWrapper<List<FeljegyzesResponse>>.Create(this.Facade().FeljegyzesLista(request), CoToModel);
|
|
|
|
[HttpGet, Route("Ora/Mulasztas")]
|
|
public ResponseWrapper<List<MulasztasResponse>> GetMulasztasLista([FromUri] MulasztasRequest request)
|
|
=> ResponseWrapper<List<MulasztasResponse>>.Create(this.Facade().MulasztasLista(request), CoToModel);
|
|
|
|
[HttpGet, Route("Ora/JavasoltJelenletTemplate")]
|
|
public ResponseWrapper<List<JavasoltJelenletTemplateGetResponse>> ListJavasoltJelenletTemplate([FromUri] JavasoltJelenletTemplateGetRequest request)
|
|
=> ResponseWrapper<List<JavasoltJelenletTemplateGetResponse>>.Create(this.Facade().ListJavasoltJelenletTemplate(request), CoToModel);
|
|
|
|
[HttpGet, Route("Enum/NaploEnum")]
|
|
public ResponseWrapper<List<NaploEnumListItem>> GetNaploEnum([FromUri] EnumRequest request)
|
|
=> ResponseWrapper<List<NaploEnumListItem>>.Create(this.Facade().GetNaploEnum(request), CoToModel);
|
|
|
|
[HttpGet, Route("Orarend/OraLista")]
|
|
public ResponseWrapper<List<OraGetResponse>> GetOraLista([FromUri] OraGetRequest request)
|
|
=> ResponseWrapper<List<OraGetResponse>>.Create(this.Facade().OraLista(request), CoToModel);
|
|
|
|
[HttpGet, Route("Ora/OsztalyTanuloi")]
|
|
public ResponseWrapper<OsztalyTanuloiResponse> GetOsztalyTanuloi([FromUri] OsztalyTanuloiRequest request)
|
|
=> ResponseWrapper<OsztalyTanuloiResponse>.Create(this.Facade().GetOsztalyTanuloi(request), CoToModel);
|
|
|
|
[HttpGet, Route("Tanar/Profil")]
|
|
public ResponseWrapper<ProfilResponse> GetProfil([FromUri] ProfilRequest request)
|
|
=> ResponseWrapper<ProfilResponse>.Create(this.Facade().Profil(request), CoToModel);
|
|
|
|
[HttpGet, Route("Iskolaor")]
|
|
public ResponseWrapper<List<IskolaorResponse>> GetIskolaor([FromUri] IskolaorRequest request)
|
|
=> ResponseWrapper<List<IskolaorResponse>>.Create(this.Facade().Iskolaor(request), CoToModel);
|
|
|
|
[HttpPost, Route("Orarend/OraNaplozas")]
|
|
public List<OraNaplozasResponse> CreateOraNaplozas(List<OraNaplozasRequest> request)
|
|
=> CoToModel(this.Facade().CreateOraNaplozas(ModelToCo(request)));
|
|
|
|
[HttpPost, Route("Ertekeles/OsztalyCsoportErtekeles")]
|
|
public List<ErtekelesResponse> CreateOsztalyCsoportErtekeles(List<OsztalyCsoportErtekelesRequest> request)
|
|
=> CoToModel(this.Facade().CreateOsztalyCsoportErtekeles(ModelToCo(request)));
|
|
|
|
[HttpPost, Route("OpenBoard/FajlFeltoltes")]
|
|
public FeltoltottFajlResponse CreateFajlFeltoltes(FeltoltottFajlRequest request)
|
|
=> CoToModel(this.Facade().CreateFajlFeltoltes(ModelToCo(request)));
|
|
|
|
[HttpGet, Route("OpenBoard/FeltolthetoFajlokSzama")]
|
|
public FeltolthetoFajlokSzamaResponse GetFeltolthetoFajlokSzama([FromUri] FeltolthetoFajlokSzamaRequest request)
|
|
{
|
|
return CoToModel(this.Facade().GetFeltolthetoFajlokSzama(ModelToCo(request)));
|
|
}
|
|
|
|
[HttpGet, Route("Tanulo/Ertekeles")]
|
|
public List<ErtekelesGetResponse> GetTanuloErtekelesei([FromUri] ErtekelesGetRequest request)
|
|
{
|
|
return CoToModel(this.Facade().GetTanuloErtekelesei(ModelToCo(request)));
|
|
}
|
|
|
|
private NaploFacadeV2 Facade() => new NaploFacadeV2(this.MobileUser(), fileServiceHelper, coreApiClient);
|
|
|
|
private MobileUser MobileUser() => ModelConverter.MobileUserModelConverter.GetFromHttpContext();
|
|
}
|
|
}
|