kreta/Kreta.WebApi/Naplo/Kreta.Naplo.WebApi/V2/Controllers/TestV2Controller.cs
2024-03-13 00:33:46 +01:00

154 lines
8.2 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Description;
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.Naplo.Domain.V2.Service;
using Kreta.Naplo.Domain.V3.Enum;
using Kreta.Naplo.Infrastructure;
using Kreta.Naplo.WebApi.FilterAttributes;
using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet;
using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet;
namespace Kreta.Naplo.WebApi.V2.Controllers
{
[ApiKeyAuthorization]
[IdpAuthorize(FelhasznaloSzerepkor.Tanar)]
public partial class TestV2Controller : ApiController
{
/// <summary>
/// Tanár profil
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Tanar/Profil")]
[ResponseType(typeof(ResponseWrapper<ProfilResponse>))]
[HttpGet]
public async Task<ResponseWrapper<ProfilResponse>> ProfilAsync([FromUri(Name = Constants.EmptyString)] ProfilRequest request)
=> await DependencyContainer.Instance.GetInstance<ITanarService>().GetProfilAsync(request);
/// <summary>
/// Iskolaőr profil
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Iskolaor")]
[ResponseType(typeof(ResponseWrapper<List<IskolaorResponse>>))]
[HttpGet]
public async Task<ResponseWrapper<List<IskolaorResponse>>> IskolaorAsync([FromUri(Name = Constants.EmptyString)] IskolaorRequest request)
=> await DependencyContainer.Instance.GetInstance<IIskolaorService>().GetIskolaorAsync(request);
/// <summary>
/// Óra lista
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Orarend/OraLista")]
[ResponseType(typeof(ResponseWrapper<List<OraGetResponse>>))]
[HttpGet]
public async Task<ResponseWrapper<List<OraGetResponse>>> OraListaAsync([FromUri(Name = Constants.EmptyString)] OraGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().GetOraListaAsync(request);
/// <summary>
/// Naplózás
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Orarend/OraNaplozas")]
[ResponseType(typeof(List<OraNaplozasResponse>))]
[HttpPost]
public async Task<List<OraNaplozasResponse>> OraNaplozasAsync(List<OraNaplozasRequest> request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().OraNaplozasAsync(request);
/// <summary>
/// Osztály tanuló lista
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Ora/OsztalyTanuloi")]
[ResponseType(typeof(ResponseWrapper<OsztalyTanuloiResponse>))]
[HttpGet]
public async Task<ResponseWrapper<OsztalyTanuloiResponse>> OsztalyTanuloiAsync([FromUri(Name = Constants.EmptyString)] OsztalyTanuloiRequest request)
=> await DependencyContainer.Instance.GetInstance<IOraService>().GetOsztalyTanuloiAsync(request);
/// <summary>
/// Tanuló mulasztás lista
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Ora/Mulasztas")]
[ResponseType(typeof(ResponseWrapper<List<MulasztasResponse>>))]
[HttpGet]
public async Task<ResponseWrapper<List<MulasztasResponse>>> MulasztasAsync([FromUri(Name = Constants.EmptyString)] MulasztasRequest request)
=> await DependencyContainer.Instance.GetInstance<IOraService>().GetMulasztasAsync(request);
/// <summary>
/// Tanuló feljegyzés lista
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Ora/Feljegyzes")]
[ResponseType(typeof(ResponseWrapper<List<FeljegyzesResponse>>))]
[HttpGet]
public async Task<ResponseWrapper<List<FeljegyzesResponse>>> FeljegyzesAsync([FromUri(Name = Constants.EmptyString)] FeljegyzesRequest request)
=> await DependencyContainer.Instance.GetInstance<IOraService>().GetFeljegyzesAsync(request);
/// <summary>
/// Naplo Enum
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route(VersionedRouteInfo.RoutePrefix + "/Enum/NaploEnum")]
[ResponseType(typeof(ResponseWrapper<List<NaploEnumListItem>>))]
[HttpGet]
public async Task<ResponseWrapper<List<NaploEnumListItem>>> NaploEnumAsync([FromUri(Name = Constants.EmptyString)] Domain.V2.Model.Get.Enum.EnumRequest request)
=> await DependencyContainer.Instance.GetInstance<IEnumService>().GetNaploEnumAsync(request);
[Route(VersionedRouteInfo.RoutePrefix + "/Ertekeles/OsztalyCsoportErtekeles")]
[ResponseType(typeof(List<ErtekelesResponse>))]
[HttpPost]
public async Task<List<ErtekelesResponse>> OsztalyCsoportErtekelesAsync(List<OsztalyCsoportErtekelesRequest> request)
=> await DependencyContainer.Instance.GetInstance<IErtekelesService>().PostOsztalyCsoportErtekelesAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/Tanmenet")]
public async Task<List<object>> TanmenetListaAsync([FromUri] TanmenetGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().ListTanmenetAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/Ora/OrarendiOra/JavasoltJelenlet")]
public async Task<List<object>> ListJavasoltJelenletAsync([FromUri] OrarendiOra.JavasoltJelenletGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().ListJavasoltJelenletAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/Ora/TanitasiOra/JavasoltJelenlet")]
public async Task<List<object>> ListJavasoltJelenletAsync([FromUri] TanitasiOra.JavasoltJelenletGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().ListJavasoltJelenletAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/Ora/JavasoltJelenletTemplate")]
public async Task<ResponseWrapper<List<object>>> ListJavasoltJelenletTemplateAsync([FromUri] JavasoltJelenletTemplateGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().ListJavasoltJelenletTemplateAsync(request);
[Route(VersionedRouteInfo.RoutePrefix + "/OpenBoard/FajlFeltoltes")]
[ResponseType(typeof(FeltoltottFajlResponse))]
[HttpPost]
public async Task<FeltoltottFajlResponse> FajlFeltoltesAsync(FeltoltottFajlRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().PostFajlFeltoltesAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/OpenBoard/FeltolthetoFajlokSzama")]
public async Task<FeltolthetoFajlokSzamaResponse> FeltolthetoFajlokSzamaAsync([FromUri] FeltolthetoFajlokSzamaRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().GetFeltolthetoFajlokSzamaAsync(request);
[HttpGet, Route(VersionedRouteInfo.RoutePrefix + "/Tanulo/Ertekeles")]
public async Task<List<ErtekelesGetResponse>> GetTanuloErtekeleseiAsync([FromUri] ErtekelesGetRequest request)
=> await DependencyContainer.Instance.GetInstance<ICommonService>().GetTanuloErtekeleseiAsync(request);
}
}