This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5F37B7BC-725E-4D89-A813-06AF64A9FCCD}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Kreta.Naplo.Dto</RootNamespace>
<AssemblyName>Kreta.Naplo.Dto</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>..\Kreta.Naplo.WebApi\App_Data\Kreta.Naplo.Dto.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kreta.Core.Validation, Version=2.0.16.0, Culture=neutral, PublicKeyToken=null" />
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
</Reference>
<Reference Include="Swashbuckle.Examples, Version=3.12.0.0, Culture=neutral, PublicKeyToken=aa1e9c5053bfbe95, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Swashbuckle.Examples.3.12.0\lib\net40\Swashbuckle.Examples.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.Client.4.0.20710.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.Core.4.0.20710.0\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="V3\Attributes\SwaggerChangeTypeAttribute.cs" />
<Compile Include="V3\Converter\RequestModelConverter.cs" />
<Compile Include="V3\Converter\ResponseModelConverter.cs" />
<Compile Include="V3\Converter\UidConverter.cs" />
<Compile Include="V3\Csatolmany\CsatolmanyResponseDto.cs" />
<Compile Include="V3\Documentation\DescriptionLookUp.cs" />
<Compile Include="V3\Documentation\DocumentationExampleDto.cs" />
<Compile Include="V3\Enum\EnumRequestDto.cs" />
<Compile Include="V3\Enum\EnumResponseDto.cs" />
<Compile Include="V3\Ertekeles\ErtekelesRequestDto.cs" />
<Compile Include="V3\Ertekeles\ErtekelesResponseDto.cs" />
<Compile Include="V3\Igazolas\IgazolasCreateRequestDto.cs" />
<Compile Include="V3\Igazolas\IgazolasResponseDto.cs" />
<Compile Include="V3\Orarend\SzamonkeresRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\BejelentettSzamonkeresekRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\BejelentettSzamonkeresekResponseDto.cs" />
<Compile Include="V3\Orarend\HetirendListRequestDto.cs" />
<Compile Include="V3\Orarend\HetirendListResponseDto.cs" />
<Compile Include="V3\Orarend\OraNaplozasTorlesRequestDto.cs" />
<Compile Include="V3\Ora\FeljegyzesResponseDto.cs" />
<Compile Include="V3\Ora\OraFeljegyzesRequestDto.cs" />
<Compile Include="V3\Ora\OraFeljegyzesResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\MondatbankRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\MondatbankResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportGondviseloResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloAdatokResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyokCsoportokResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesekRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesekResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesMentesRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloForOsztalyCsoportErtekelesRequestDto.cs" />
<Compile Include="V3\Exception\NaploExceptionResponseDto.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatUpdateRequestDto.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatCreateRequestDto.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatResponseDto.cs" />
<Compile Include="V3\Interfaces\IDtoDocumentation.cs" />
<Compile Include="V3\Interfaces\IDtoListDocumentation.cs" />
<Compile Include="V3\Iskolaor\IskolaorResponseDto.cs" />
<Compile Include="V3\Orarend\MulasztasForOraNaplozasRequestDto.cs" />
<Compile Include="V3\Orarend\TanuloForOraNaplozasListRequestDto.cs" />
<Compile Include="V3\Orarend\OrarendElemRequestDto.cs" />
<Compile Include="V3\Orarend\OrarendElemResponseDto.cs" />
<Compile Include="V3\Orarend\OraNaplozasRequestDto.cs" />
<Compile Include="V3\Orarend\OrarendRequestDto.cs" />
<Compile Include="V3\Tanar\BeallitasokRequestDto.cs" />
<Compile Include="V3\Tanar\TantargyFelosztasResponseDto.cs" />
<Compile Include="V3\Tanar\BeallitasokResponseDto.cs" />
<Compile Include="V3\Tanar\ProfilResponseDto.cs" />
<Compile Include="V3\Orarend\TanuloJelenletRequestDto.cs" />
<Compile Include="V3\Orarend\TanuloJelenletResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesekRequestDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloResponseDto.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesekResponseDto.cs" />
<Compile Include="V3\Tanmenet\TanmenetItemListResponseDto.cs" />
<Compile Include="V3\Tanmenet\TanmenetRequestDto.cs" />
<Compile Include="V3\UniqueIdentifier\OrarendElemUidDto.cs" />
<Compile Include="V3\Tanulo\TanuloMentessegResponseDto.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Kreta.BusinessLogic\Kreta.BusinessLogic.csproj">
<Project>{8876FE0D-841E-422D-A5A0-59239CD98482}</Project>
<Name>Kreta.BusinessLogic</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kreta.Core\Kreta.Core.csproj">
<Project>{57418D3E-CAF1-482C-9B18-85D147ABD495}</Project>
<Name>Kreta.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kreta.Enums\Kreta.Enums.csproj">
<Project>{1d5e0ac2-dfab-4d32-9ad1-b5788a7d06bd}</Project>
<Name>Kreta.Enums</Name>
</ProjectReference>
<ProjectReference Include="..\Kreta.Naplo.Domain\Kreta.Naplo.Domain.csproj">
<Project>{9BFF7535-E0F6-4437-AF5F-540E1B4506B2}</Project>
<Name>Kreta.Naplo.Domain</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Kreta.Naplo.Dto")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Kreta.Naplo.Dto")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5f37b7bc-725e-4d89-a813-06af64a9fccd")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,15 @@
using System;
namespace Kreta.Naplo.Dto.V3.Attributes
{
[AttributeUsage(AttributeTargets.Property)]
public sealed class SwaggerChangeTypeAttribute : Attribute
{
public Type NewType { get; set; }
public SwaggerChangeTypeAttribute(Type newType)
{
NewType = newType;
}
}
}

View file

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Orarend;
using Kreta.Naplo.Dto.V3.OsztalyCsoport;
namespace Kreta.Naplo.Dto.V3.Converter
{
public static class RequestModelConverter
{
public static List<OsztalyCsoportErtekelesRequest> DtoToModel(IEnumerable<OsztalyCsoportErtekelesRequestDto> model)
=> model.ConvertAll(new Converter<OsztalyCsoportErtekelesRequestDto, OsztalyCsoportErtekelesRequest>((x) => x)).ToList();
public static List<TanuloForOsztalyCsoportErtekelesRequest> DtoToModel(IEnumerable<TanuloForOsztalyCsoportErtekelesRequestDto> model)
=> model.ConvertAll(new Converter<TanuloForOsztalyCsoportErtekelesRequestDto, TanuloForOsztalyCsoportErtekelesRequest>((x) => x)).ToList();
public static List<TanuloForOraNaplozasListRequest> DtoToModel(List<TanuloForOraNaplozasListRequestDto> model)
=> model.ConvertAll(new Converter<TanuloForOraNaplozasListRequestDto, TanuloForOraNaplozasListRequest>((x) => x)).ToList();
}
}

View file

@ -0,0 +1,84 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Kreta.Naplo.Domain.V3.Csatolmany;
using Kreta.Naplo.Domain.V3.Enum;
using Kreta.Naplo.Domain.V3.Igazolas;
using Kreta.Naplo.Domain.V3.Iskolaor;
using Kreta.Naplo.Domain.V3.Ora;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Tanar;
using Kreta.Naplo.Domain.V3.Tanmenet;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Csatolmany;
using Kreta.Naplo.Dto.V3.Enum;
using Kreta.Naplo.Dto.V3.Igazolas;
using Kreta.Naplo.Dto.V3.Iskolaor;
using Kreta.Naplo.Dto.V3.Ora;
using Kreta.Naplo.Dto.V3.Orarend;
using Kreta.Naplo.Dto.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Tanar;
using Kreta.Naplo.Dto.V3.Tanmenet;
namespace Kreta.Naplo.Dto.V3.Converter
{
public static class ResponseModelConverter
{
public static List<IskolaorResponseDto> ModelToDto(List<IskolaorResponse> model)
=> model.ConvertAll(new Converter<IskolaorResponse, IskolaorResponseDto>((x) => x)).ToList();
public static HashSet<OrarendElemResponseDto> ModelToDto(IEnumerable<OrarendElemResponse> model) => model.ConvertAll(new Converter<OrarendElemResponse, OrarendElemResponseDto>((x) => x)).ToHashSet();
public static List<EnumResponseDto> ModelToDto(List<EnumResponse> model)
=> model.ConvertAll(new Converter<EnumResponse, EnumResponseDto>((x) => x)).ToList();
public static HashSet<OsztalyCsoportErtekelesekResponseDto> ModelToDto(IEnumerable<OsztalyCsoportErtekelesekResponse> model)
=> model.ConvertAll(new Converter<OsztalyCsoportErtekelesekResponse, OsztalyCsoportErtekelesekResponseDto>((x) => x)).ToHashSet();
public static List<TanmenetItemListResponseDto> ModelToDto(IEnumerable<TanmenetItemListResponse> model)
=> model.ConvertAll(new Converter<TanmenetItemListResponse, TanmenetItemListResponseDto>((x) => x)).ToList();
public static HashSet<Orarend.TanuloJelenletResponseDto> ModelToDto(IEnumerable<Domain.V3.Orarend.TanuloJelenletResponse> model)
=> model.ConvertAll(new Converter<Domain.V3.Orarend.TanuloJelenletResponse, Orarend.TanuloJelenletResponseDto>((x) => x)).ToHashSet();
public static IEnumerable<CsatolmanyResponseDto> ModelToDto(IEnumerable<CsatolmanyResponse> model)
=> model.ConvertAll(new Converter<CsatolmanyResponse, CsatolmanyResponseDto>((x) => x));
public static IEnumerable<OsztalyCsoportTanuloResponseDto> ModelToDto(IEnumerable<OsztalyCsoportTanuloResponse> model)
=> model.ConvertAll(new Converter<OsztalyCsoportTanuloResponse, OsztalyCsoportTanuloResponseDto>((x) => x));
public static IEnumerable<HetirendListResponseDto> ModelToDto(IEnumerable<HetirendListResponse> model)
=> model.ConvertAll(new Converter<HetirendListResponse, HetirendListResponseDto>((x) => x)).ToHashSet();
public static List<FeljegyzesResponseDto> ModelToDto(IEnumerable<FeljegyzesResponse> model)
=> model.ConvertAll(new Converter<FeljegyzesResponse, FeljegyzesResponseDto>((x) => x)).ToList();
public static List<OraFeljegyzesResponseDto> ModelToDto(IEnumerable<OraFeljegyzesResponse> model)
=> model.ConvertAll(new Converter<OraFeljegyzesResponse, OraFeljegyzesResponseDto>((x) => x)).ToList();
public static IEnumerable<BejelentettSzamonkeresekResponseDto> ModelToDto(IEnumerable<BejelentettSzamonkeresekResponse> model)
=> model.ConvertAll(new Converter<BejelentettSzamonkeresekResponse, BejelentettSzamonkeresekResponseDto>((x) => x));
public static List<OsztalyCsoportResponseDto> ModelToDto(IEnumerable<OsztalyCsoportResponse> model)
=> model.ConvertAll(new Converter<OsztalyCsoportResponse, OsztalyCsoportResponseDto>((x) => x)).ToList();
public static List<OsztalyCsoportGondviseloResponseDto> ModelToDto(IEnumerable<OsztalyCsoportGondviseloResponse> model)
=> model.ConvertAll(new Converter<OsztalyCsoportGondviseloResponse, OsztalyCsoportGondviseloResponseDto>((x) => x)).ToList();
public static IEnumerable<MondatbankResponseDto> ModelToDto(IEnumerable<MondatbankResponse> model)
=> model.ConvertAll(new Converter<MondatbankResponse, MondatbankResponseDto>((x) => x)).ToList();
public static IEnumerable<TantargyFelosztasResponseDto> ModelToDto(IEnumerable<TantargyFelosztasResponse> model)
=> model.ConvertAll(new Converter<TantargyFelosztasResponse, TantargyFelosztasResponseDto>((x) => x)).ToList();
public static IEnumerable<IgazolasResponseDto> ModelToDto(IEnumerable<IgazolasResponse> model)
=> model.ConvertAll(new Converter<IgazolasResponse, IgazolasResponseDto>((x) => x)).ToList();
public static IEnumerable<OsztalyokCsoportokResponseDto> ModelToDto(IEnumerable<OsztalyokCsoportokResponse> model)
=> model.ConvertAll(new Converter<OsztalyokCsoportokResponse, OsztalyokCsoportokResponseDto>((x) => x)).ToList();
public static IEnumerable<TanuloErtekelesekResponseDto> ModelToDto(IEnumerable<TanuloErtekelesekResponse> model)
=> model.ConvertAll(new Converter<TanuloErtekelesekResponse, TanuloErtekelesekResponseDto>((x) => x)).ToList();
}
}

View file

@ -0,0 +1,21 @@
using System;
using Kreta.Core.Exceptions;
using Kreta.Naplo.Domain.V3.Interfaces;
using Newtonsoft.Json;
namespace Kreta.Naplo.Dto.V3.Converter
{
public class UidConverter<T> : JsonConverter where T : IReadonlyUidRaw
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(value is IReadonlyUidRaw propertyValue ? propertyValue.UidRaw : throw new BlException(Core.Enum.BlExceptionType.ElvartErtekNemTalalhato));
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) => throw new NotImplementedException();
public override bool CanRead => false;
public override bool CanConvert(Type objectType) => objectType == typeof(string);
}
}

View file

@ -0,0 +1,22 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Csatolmany;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Csatolmany
{
public class CsatolmanyResponseDto
{
[Required, Description(DescriptionLookUp.CsatolmanyId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.CsatolmanyNev)]
public string Nev { get; set; }
public static implicit operator CsatolmanyResponseDto(CsatolmanyResponse model) => model == null ? null : new CsatolmanyResponseDto
{
Id = model.Id,
Nev = model.Nev
};
}
}

View file

@ -0,0 +1,350 @@

namespace Kreta.Naplo.Dto.V3.Documentation
{
internal static class DescriptionLookUp
{
public const string AdatszotarElem = "Adatszótár elem";
public const string LeirasNotComplete = "Dokumentációt nincs kész!!!";
public const string FelhasznaloId = "A felhasználó azonosítója";
public const string IdpUniqueId = "Globálisan egyedi azonosító (IDP)";
public const string Nev = "Név";
public const string Kep = "A felhasználó képe";
public const string FeladatEllatasiHelyId = "Feladatellátási hely azonosítója";
public const string FeladatEllatasiHelyNev = "Feladatellátási hely neve";
public const string PublikusEmailCim = "Publikus e-mail cím";
public const string MunkahelyiEmailCim = "Munkahelyi e-mail cím";
public const string PublikusTelefonszam = "Publikus telefonszám";
public const string MunkahelyiTelefonszam = "Munkahelyi telefonszám";
public const string OsztalyCsoportNev = "Osztály/csoport neve";
public const string FeltoltoTanarIdpUniqueId = "Feltöltő tanár idp uid-ja";
public const string OsztalyCsoportTanuloLista = "Osztály/csoport tanulóinak listája";
public const string TanuloUid = "Tanuló uid-ja";
public const string TanuloNev = "Tanuló név";
public const string TanuloAnyjaNeve = "Tanuló anyja neve";
public const string TanuloSzuletesiDatum = "Tanuló születési dátuma";
public const string IsMagantanulo = "A tanuló magántanuló-e";
public const string MaganTanulosagKezdetDatuma = "A tanuló magántanulóságának kezdeti dátuma";
public const string TanuloTanugyiAdatok = "A tanuló tanügyi adatai";
public const string TanuloIsJogviszonyatSzunetelteto = "A tanuló szünetelteti-e a jogviszonyát";
public const string TanuloIsSzakmaiGyakorlatonLevo = "A tanuló szakmai gyakorlaton van-e";
public const string FeljegyzesTipusLista = "A tanulóhoz tartozó gyorsbeírási lehetőségek listája";
public const string FeljegyzesLista = "A tanulóhoz tartozó feljegyzések listája";
public const string FeljegyzesId = "A feljegyzés Id-ja";
public const string FeljegyzesTipus = "A feljegyzés típusa (FeljegyzesTipus)";
public const string ResponseModelEgyediAzonosito = "Response model egyedi azonosítója (uid-ja)";
public const string TanmenetUid = "Tanmenet uid-ja";
public const string TanmenetItems = "Tanmenet response elemei";
public const string Megjegyzes = "Megjegyzés";
public const string Tema = "Téma";
public const string RovidNev = "Rövid név";
public const string EvesOraszam = "Éves óraszám";
public const string EvesOraSorszam = "Óra éves sorszáma";
public const string Keses = "Késés percben (null, ha hiányzás)";
public const string MulasztasTipus = "Mulasztás típusa";
public const string Mulasztas = "Mulasztás";
public const string HaziFeladatId = "Házi feladat Id-ja";
public const string BejelentettSzamonkeresId = "Bejelentett számonkérés uid-ja";
public const string BejelentettSzamonkeresMod = "Bejelentett számonkérés módja";
public const string BejelentettSzamonkeresTema = "Bejelentett számonkérés témája";
public const string HaziFeladatHatarido = "Házi feladat beadásának határideje";
public const string HaziFeladatSzoveg = "Házi feladat szövege";
public const string Hetirend = "Hetirend";
public const string HetSorszama = "Hét sorszáma";
public const string OrarendiOraId = "Órarendi óra Id-ja";
public const string TanitasiOraId = "Tanítási óra Id-ja";
public const string HasOrarendiOra = "Van-e az órának órarendi órája.";
public const string OraDatum = "Óra Kezdete";
public const string HaziFeladat = "Házi feladat";
public const string IsElmaradt = "Óra elmaradt-e";
public const string RogzitesDatuma = "Rögzítés dátuma";
public const string TanuloLista = "Tanuló lista";
public const string TanarNev = "Tanár neve";
public const string Allapot = "Tanóra állapota";
public const string Orakezdete = "Óra kezdete";
public const string Oravege = "Óra vége";
public const string Oraszam = "Óraszám";
public const string OratulajdonosTanarUid = "Óra tulajdonos tanár Guid-ja.";
public const string OratulajdonosTanarNev = "Óra tulajdonos tanár Neve.";
public const string HelyettesTanarUid = "Helyettes tanár Guid-ja.";
public const string HelyettesTanarNev = "Helyettes tanár Neve.";
public const string TanarUid = "Tanár Uid";
public const string Tantargy = "Tantárgy neve";
public const string TantargyKategoria = "Tantárgy neve";
public const string TeremNev = "Terem neve";
public const string HelyettesitoId = "Helyettesítő Id-ja";
public const string IdpEgyediAzonosito = "Az idp egyedi azonosítója";
public const string IntezmenyAzonosito = "Az intézmény azonosítója";
public const string MobilDatabaseVersion = "A mobil adatbázis verziója";
public const string ErtekelesDatum = "Az értékelés dátuma " + UtcIso8601;
public const string CultureInfo = "CultureInfo";
public const string FeltolthetoFajlokSzama = "Még feltölthető fájlok száma";
public const string Base64EncodedString = "A string base 64 enkódolva";
public const string FeltoltottFajlUid = "A feltöltött fájl uid-ja";
public const string MulasztasUid = "Mulasztás uid-ja";
public const string ErtekelesModEnum = "Értékelés mód enum, pl.: Írásbeli témazáró dolgozat";
public const string ErtekelesTipusEnum = "Értékelés típus enum, pl.: évközi jegy, értékelés";
public const string SzamonkeresMod = "Számonkérés módja";
public const string SzamonkeresTema = "Számonkérés témája";
public const string OsztalyCsoportId = "Osztály/csoport id";
public const string TantargyId = "Tantárgy id";
public const string Tanulok = "Tanulók";
public const string Ertekeles = "Értékelés";
public const string TanuloId = "Tanuló id";
public const string OsztalyzatTipus = "Osztályzat típusa";
public const string Szazalek = "Százalékos értékelés";
public const string Szoveg = "Szöveges értékelés";
public const string Id = "Id";
public const string DatumTol = "Dátum intervallum kezdete";
public const string DatumIg = "Dátum intervallum vége";
public const string UtcIso8601 = "UTC ISO 8601";
public const string EntitasTipusa = "Entitás típusa";
public const string EntitashozRogzitettOsztalyCsoportId = "Az entitáshoz rögzített Osztály/csoport ID-ja. ";
public const string EntitashozRogzitettOsztalyCsoportNev = "Az entitáshoz rögzített Osztály/csoport Neve. ";
public const string EntitashozRogzitettTantargyId = "Az entitáshoz rögzített Tantárgy ID-ja.";
public const string EntitashozRogzitettTantargyNev = "Az entitáshoz rögzített Tantárgy Neve.";
public const string EntitashozRogzitettTeremNeve = "Terem neve, ami az entitáshoz lett rögzítve";
public const string TanoraKezdetenekIdopontja = "Órarendi elem kezdetének időpontja " + UtcIso8601;
public const string TanoraVegenekIdopontja = "Órarendi elem végének időpontja " + UtcIso8601;
public const string EntitasTemaja = "Az entitás témája, lehet null.";
public const string EntitasOraszamaAzAdottNapon = "Az entitás hanyadik órán lesz az adott napon";
public const string NapirendiOraEsetenNull = "Napirendi óra esetén null";
public const string EntitasAllapota = "Entitás állapota";
public const string TanuloErtekelesFelmentes = "Tanuló értékelés felmentése";
public const string TanuloTantargyiAtlag = "Tanuló tantárgyi átlaga";
public const string TanuloErtekelesSzam = "Tanuló értékeléseinek száma";
public const string TanuloUtolsoErtekeles = "Tanuló utolsó értékelése";
public const string TanuloUtolsoErtekelesDatum = "Tanuló utolsó értékelésének dátuma";
public const string ErtekelesAloliFelmentes = "Értékelés alóli felmentés";
public const string TanoraLatogatasaAloliFelmentes = "Tanóra látogatása alóli felmentés";
public const string SzovegesenErtekelheto = "Szövegesen értékelhető";
public const string OrarendElemUid = "Órarendi elem uid-ja (Id, OraTipusa, OraDatuma UTC ISO 8601)";
public const string Leiras = "Leírás";
public const string CsatolmanyNev = "Csatolmány neve";
public const string CsatolmanyokOrahoz = "Órához tartozó csatolmányok";
public const string ElozoNaplozottOraDatum = "Az előző naplózott óra dátuma " + UtcIso8601;
public const string ElozoNaplozottOraTema = "Az előző naplózott óra témája";
public const string HaziFeladathozRogzitettCsatolmanyok = "Házi feladathoz rögzített csatolmányok";
public const string TantargyNev = "Tantárgy név";
public const string CsatolmanyId = "Házi feladathoz rögzítendő csatolmány id-ja";
public const string Gondviselok = "Gondviselők";
public const string GondviseloId = "Gondviselő id";
public const string GondviseloNev = "Gondviselő név";
public const string GondviseloRokonsagiFok = "Gondviselő rokonsági fok";
public const string GondviseloTelefonszam = "Gondviselő telefonszám";
public const string GondviseloEmail = "Gondviselő email";
public const string ElozoOranHianyzoAjanlasa = "Előző órán hiányzó ajánlása";
public const string NapiSzamonkeresLimit = "Napi számonkérési limit";
public const string LimitaltSzamonkeresekTipusai = "Limitált számonkérések típusai (ErtekelesMod)";
public const string IntezmenyNev = "Intézmény rövid neve";
public const string SzamonkeresId = "Számonkérés id";
public const string ErtekelesMod = "Értékelés mód";
public const string OraSzam = "Óraszám";
public const string ErtekelesTipusId = "Értékelés típus id";
public const string ErtekelesTipusNev = "Értékelés típus név";
public const string OsztalyCsoportok = "Osztályok/csoportok";
public const string TorvenyesKepviselo = "Törvényes képviselő";
public const string EntitashozRogzitettNev = "Az entitáshoz rögzített név.";
public const string FelmentesOka = "Felmentés oka";
public const string HasMulasztasGomb = "Tanulónak rögzíthető e mulasztás";
public const string TanuloNaplozasFelkialtojelSzoveg = "Tanuló naplózásánál a felkiáltójelnél levő szöveg";
public const string IgazolasId = "Igazolás id";
public const string IgazolasKezdete = "Tanuló igazolásának kezdete " + UtcIso8601;
public const string IgazolasVege = "Tanuló igazolásának vége " + UtcIso8601;
public const string IgazolasTipusa = "Tanuló igazolásának típusa";
public const string IgazolasMegjegyzes = "Tanuló igazolásának megjegyzése";
public const string IgazolasRogzito = "Tanuló igazolásának rögzítője";
public const string IgazolasTorolheto = "Igazolást törölhetem-e";
public const string IsTanitom = "Tanítom-e";
public const string OsztalyfonokCsoportvezeto = "Osztályfőnök/csoportvezető";
public const string OsztalyfonokCsoportvezetoUid = "Osztályfőnök/csoportvezető idp egyedi azonosítója";
public const string OsztalyfonokCsoportvezetoNev = "Osztályfőnök/csoportvezető neve";
public const string OsztalyfonokHelyettesUid = "Osztályfőnök-helyettes idp egyedi azonosítója";
public const string OsztalyfonokHelyettesNev = "Osztályfőnök-helyettes neve";
public const string ErtekelesId = "Értékelés id";
public const string ErtekelesOsztalyzatId = "Értékelés osztályzat id";
public const string ErtekelesOsztalyzatNev = "Értékelés osztályzat név";
public const string ErtekelesSzoveg = "Értékelés szöveg";
public const string ErtekelesSzazalek = "Értékelés százalék";
public const string ErtekelesFajtaId = "Értékelés fajtájának id-ja (Osztályzat = 0, Szöveges = 1, Százalékos = 2)";
public const string ErtekelesFajtaNev = "Értékelés fajtájának neve";
public const string ErtekelesModId = "Értékelés mód id";
public const string ErtekelesModNev = "Értékelés mód név";
public const string ErtekelesTema = "Értékelés téma";
public const string ErtekelesSuly = "Értékelés súly";
public const string ErtekelesRogzitesDatum = "Értékelés rögzítési dátuma " + UtcIso8601;
public const string Naplozart = "Naplózárt";
public const string ErtekelesDatuma = "Értékelés dátum";
public const string ForceSave = "Kényszerített mentés, ha 409 érkezett és a user a figyelmeztetés ellenére rögzíteni akar, akkor ez a paraméter true-val kerül beküldésre";
}
}

View file

@ -0,0 +1,26 @@
using Kreta.Naplo.Domain.V3.Enum;
namespace Kreta.Naplo.Dto.V3.Documentation
{
public class DocumentationExampleDto
{
public DocumentationExampleDto(string methodName, object requestParameter)
{
MethodName = methodName;
RequestParameter = requestParameter;
}
public DocumentationExampleDto(string methodName, object requestParameter, MockUserName mockUserName)
{
MethodName = methodName;
RequestParameter = requestParameter;
MockUserName = mockUserName;
}
public string MethodName { get; }
public MockUserName MockUserName { get; } = MockUserName.Farkase;
public object RequestParameter { get; }
}
}

View file

@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Enum;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.Enum
{
public class EnumRequestDto : IExamplesProvider
{
/// <summary>
/// Enum típus (Engedélyezett enum-ok: ErtekelesMod (LimitaltSzamonkeresekTipusai), ErtekelesTipus, FeljegyzesTipus, MulasztasTipus, OsztalyzatTipus, IgazolasTipus, CalendarOraTypeEnum, TanoraAllapotaEnum)
/// </summary>
[Required]
public string EnumTipus { get; set; }
public static implicit operator EnumRequest(EnumRequestDto dto) => new EnumRequest
{
EnumTipus = dto.EnumTipus
};
public object GetExamples() => new EnumRequestDto
{
EnumTipus = "ErtekelesMod"
};
}
}

View file

@ -0,0 +1,32 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Enum;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Enum
{
public class EnumResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.Id)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.Nev)]
public string Nev { get; set; }
[Required, Description(DescriptionLookUp.Leiras)]
public string Leiras { get; set; }
public static implicit operator EnumResponseDto(EnumResponse model) => new EnumResponseDto
{
Id = model.Id,
Nev = model.Nev,
Leiras = model.Leiras
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetNaploEnum", new EnumRequestDto
{
EnumTipus = "ErtekelesMod"
});
}
}

View file

@ -0,0 +1,25 @@
using System.ComponentModel;
using Kreta.Naplo.Domain.V3.Ertekeles;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Ertekeles
{
public class ErtekelesRequestDto
{
[Description(DescriptionLookUp.OsztalyzatTipus)]
public int OsztalyzatTipus { get; set; }
[Description(DescriptionLookUp.Szazalek)]
public string Szazalek { get; set; }
[Description(DescriptionLookUp.Szoveg)]
public string Szoveg { get; set; }
public static implicit operator ErtekelesRequest(ErtekelesRequestDto dto) => new ErtekelesRequest
{
OsztalyzatTipus = dto.OsztalyzatTipus,
Szazalek = dto.Szazalek,
Szoveg = dto.Szoveg
};
}
}

View file

@ -0,0 +1,30 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Ertekeles;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Ertekeles
{
public class ErtekelesResponseDto
{
[Description(DescriptionLookUp.OsztalyzatTipus)]
public int? OsztalyzatTipus { get; set; }
[Description(DescriptionLookUp.Szazalek)]
public int? Szazalek { get; set; }
[Description(DescriptionLookUp.Szoveg)]
public string Szoveg { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesTipusId)]
public int TipusId { get; set; }
public static implicit operator ErtekelesResponseDto(ErtekelesResponse model) => model != null ? new ErtekelesResponseDto
{
OsztalyzatTipus = model.OsztalyzatTipus,
Szazalek = model.Szazalek,
Szoveg = model.Szoveg,
TipusId = model.TipusId
} : null;
}
}

View file

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Core.Domain;
using Kreta.Core.Enum;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Kreta.Naplo.Dto.V3.Exception
{
public class NaploExceptionResponseDto
{
public NaploExceptionResponseDto(BlExceptionType exceptionType, string message)
{
ExceptionType = exceptionType;
Message = message;
}
public NaploExceptionResponseDto(BlExceptionType exceptionType, string message, List<DetailedErrorItem> errorList)
{
ExceptionType = exceptionType;
Message = message;
if (errorList != null && errorList.Count > 0)
{
ErrorList = errorList;
}
}
[Required, Description("Hiba egyedi azonosítója")]
public Guid ExceptionId => Guid.NewGuid();
[Required, Description("Az exception típusa; röviden az ok, ami kiváltotta"), JsonConverter(typeof(StringEnumConverter))]
public BlExceptionType ExceptionType { get; set; }
[Required, Description("Ember által olvasható hibaüzenet<br>kliens dönti el, hogy megjeleníti-e a felhasználó számára")]
public string Message { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] ////DevKornel: Swagger miatt
[Description("Ember által olvasható hibalista, null ha nincs plusz információ<br>kliens dönti el, hogy megjeleníti-e a felhasználó számára")]
public List<DetailedErrorItem> ErrorList { get; set; }
}
}

View file

@ -0,0 +1,39 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.HaziFeladat;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.HaziFeladat
{
public class HaziFeladatCreateRequestDto
{
[Required, Description(DescriptionLookUp.HaziFeladatSzoveg)]
public string Szoveg { get; set; }
[Required, Description(DescriptionLookUp.HaziFeladatHatarido + " (" + DescriptionLookUp.UtcIso8601 + ")")]
public DateTime HataridoDatuma { get; set; }
[Required, Description(DescriptionLookUp.OraDatum + " (" + DescriptionLookUp.UtcIso8601 + ")")]
public DateTime OraDatum { get; set; }
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Description(DescriptionLookUp.Oraszam)]
public int? Oraszam { get; set; }
public static implicit operator HaziFeladatCreateRequest(HaziFeladatCreateRequestDto dto) => new HaziFeladatCreateRequest
{
Szoveg = dto.Szoveg,
BeadasiHatarido = dto.HataridoDatuma.ToLocalTime(),
OraDatum = dto.OraDatum.ToLocalTime(),
Oraszam = dto.Oraszam,
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId
};
}
}

View file

@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Net;
using Kreta.Naplo.Domain.V3.HaziFeladat;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Csatolmany;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
using static Kreta.Naplo.Dto.V3.Converter.ResponseModelConverter;
namespace Kreta.Naplo.Dto.V3.HaziFeladat
{
public class HaziFeladatResponseDto : IDtoDocumentation
{
private string _szoveg;
[Required, Description(DescriptionLookUp.Id)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.HaziFeladatSzoveg + "; decoded HTML-ként küldi a BE")]
public string Szoveg { get => WebUtility.HtmlDecode(_szoveg); set => _szoveg = value; }
[Required ,Description(DescriptionLookUp.HaziFeladatHatarido)]
public DateTime? HataridoDatuma { get; set; }
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.TantargyNev)]
public string TantargyNev { get; set; }
[Description(DescriptionLookUp.HaziFeladathozRogzitettCsatolmanyok)]
public IEnumerable<CsatolmanyResponseDto> Csatolmanyok { get; set; }
public DocumentationExampleDto Example => new DocumentationExampleDto("GetHaziFeladat", 43510);
public static implicit operator HaziFeladatResponseDto(HaziFeladatResponse model) => new HaziFeladatResponseDto
{
Id = model.Id,
Szoveg = model.Szoveg,
HataridoDatuma = model.HataridoDatuma?.ToIso8601Utc(),
TantargyId = model.TantargyId,
TantargyNev = model.TantargyNev,
Csatolmanyok = ModelToDto(model.Csatolmanyok)
};
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.HaziFeladat;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.HaziFeladat
{
public class HaziFeladatUpdateRequestDto
{
[Required, Description(DescriptionLookUp.HaziFeladatSzoveg)]
public string Szoveg { get; set; }
[Required, Description(DescriptionLookUp.HaziFeladatHatarido)]
public DateTime HataridoDatuma { get; set; }
[Description(DescriptionLookUp.CsatolmanyId)]
public int? CsatolmanyId { get; set; }
public static implicit operator HaziFeladatUpdateRequest(HaziFeladatUpdateRequestDto dto) => new HaziFeladatUpdateRequest
{
Szoveg = dto.Szoveg,
HataridoDatuma = dto.HataridoDatuma.ToLocalTime(),
CsatolmanyId = dto.CsatolmanyId
};
}
}

View file

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V3.Igazolas;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Igazolas
{
public class IgazolasCreateRequestDto
{
/// <summary>
/// Tanuló id
/// </summary>
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
/// <summary>
/// Osztály/csoport id
/// </summary>
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
/// <summary>
/// Igazolás kezdete (UTC ISO 8601)
/// </summary>
[Required, Description(DescriptionLookUp.IgazolasKezdete)]
public DateTime IgazolasKezdete { get; set; }
/// <summary>
/// Igazolás vége (UTC ISO 8601)
/// </summary>
[Required, Description(DescriptionLookUp.IgazolasVege)]
public DateTime IgazolasVege { get; set; }
/// <summary>
/// Igazolás típus
/// </summary>
[Required, Description(DescriptionLookUp.IgazolasTipusa)]
public int IgazolasTipus { get; set; }
/// <summary>
/// Igazolás megjegyzése
/// </summary>
[Description(DescriptionLookUp.IgazolasMegjegyzes)]
public string IgazolasMegjegyzes { get; set; }
public static implicit operator IgazolasCreateRequest(IgazolasCreateRequestDto dto) => new IgazolasCreateRequest
{
TanuloId = dto.TanuloId,
OsztalyCsoportId = dto.OsztalyCsoportId,
IgazolasKezdete = dto.IgazolasKezdete,
IgazolasVege = dto.IgazolasVege,
IgazolasTipus = dto.IgazolasTipus,
IgazolasMegjegyzes = dto.IgazolasMegjegyzes
};
}
}

View file

@ -0,0 +1,47 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Igazolas;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Igazolas
{
public class IgazolasResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.IgazolasId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.IgazolasKezdete)]
public DateTime Kezdete { get; set; }
[Required, Description(DescriptionLookUp.IgazolasVege)]
public DateTime Vege { get; set; }
[Required, Description(DescriptionLookUp.IgazolasTipusa)]
public int Tipusa { get; set; }
[Description(DescriptionLookUp.IgazolasMegjegyzes)]
public string Megjegyzes { get; set; }
[Required, Description(DescriptionLookUp.IgazolasRogzito)]
public string Rogzito { get; set; }
[Required, Description(DescriptionLookUp.IgazolasTorolheto)]
public bool Torolheto { get; set; }
public DocumentationExampleDto ListExample => new DocumentationExampleDto("GetIgazolasok", 218789);
public static implicit operator IgazolasResponseDto(IgazolasResponse model) => new IgazolasResponseDto
{
Id = model.Id,
Kezdete = model.Kezdete.ToIso8601Utc(),
Vege = model.Vege.ToIso8601Utc(),
Tipusa = model.Tipusa,
Megjegyzes = model.Megjegyzes,
Rogzito = model.Rogzito,
Torolheto = model.Torolheto
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.Naplo.Dto.V3.Documentation;
using Newtonsoft.Json;
namespace Kreta.Naplo.Dto.V3.Interfaces
{
/// <summary>
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
/// Az interface-t implementáló model a dokumentációban egy példaválasz fog adni
/// </summary>
public interface IDtoDocumentation
{
[JsonIgnore]
DocumentationExampleDto Example { get; }
}
}

View file

@ -0,0 +1,15 @@
using Kreta.Naplo.Dto.V3.Documentation;
using Newtonsoft.Json;
namespace Kreta.Naplo.Dto.V3.Interfaces
{
/// <summary>
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
/// Az interface-t implementáló model a dokumentációban egy generikus példaválasz fog adni
/// </summary>
public interface IDtoListDocumentation
{
[JsonIgnore]
DocumentationExampleDto ListExample { get; }
}
}

View file

@ -0,0 +1,42 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Iskolaor;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Iskolaor
{
public class IskolaorResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.IdpEgyediAzonosito)]
public Guid Uid { get; set; }
[Required, Description(DescriptionLookUp.Nev)]
public string Nev { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyId)]
public int FeladatEllatasiHelyId { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyNev)]
public string FeladatEllatasiHelyNev { get; set; }
[Required, Description(DescriptionLookUp.MunkahelyiEmailCim)]
public string EmailCim { get; set; }
[Required, Description(DescriptionLookUp.PublikusTelefonszam)]
public string Telefonszam { get; set; }
public static implicit operator IskolaorResponseDto(IskolaorResponse model) => new IskolaorResponseDto
{
Uid = model.Uid,
Nev = model.Nev,
FeladatEllatasiHelyId = model.FeladatEllatasiHelyId,
FeladatEllatasiHelyNev = model.FeladatEllatasiHelyNev,
EmailCim = model.EmailCim,
Telefonszam = model.Telefonszam
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetIskolaorList", null);
}
}

View file

@ -0,0 +1,24 @@

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Ora;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Ora
{
public class FeljegyzesResponseDto
{
[Required, Description(DescriptionLookUp.FeljegyzesId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.FeljegyzesTipus)]
public int Tipus { get; set; }
public static implicit operator FeljegyzesResponseDto(FeljegyzesResponse model) => new FeljegyzesResponseDto
{
Id = model.Id,
Tipus = model.Tipus
};
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel;
using Kreta.Naplo.Domain.V3.Ora;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Ora
{
public class OraFeljegyzesRequestDto
{
[Description(DescriptionLookUp.TanitasiOraId)]
public int TanoraId { get; set; }
public static implicit operator OraFeljegyzesRequest(OraFeljegyzesRequestDto dto) => new OraFeljegyzesRequest
{
TanoraId = dto.TanoraId
};
}
}

View file

@ -0,0 +1,29 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Ora;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
using static Kreta.Naplo.Dto.V3.Converter.ResponseModelConverter;
namespace Kreta.Naplo.Dto.V3.Ora
{
public class OraFeljegyzesResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
[Required, Description(DescriptionLookUp.FeljegyzesLista)]
public List<FeljegyzesResponseDto> FeljegyzesLista { get; set; }
public static implicit operator OraFeljegyzesResponseDto(OraFeljegyzesResponse model) => new OraFeljegyzesResponseDto
{
TanuloId = model.TanuloId,
FeljegyzesLista = ModelToDto(model.FeljegyzesLista)
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetOraFeljegyzesek", new OraFeljegyzesRequestDto()
{
TanoraId = 13279493
});
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class HetirendListRequestDto
{
[Required]
public DateTime OrarendElemKezdoNapDatuma { get; set; }
[Required]
public DateTime OrarendElemVegNapDatuma { get; set; }
public static implicit operator HetirendListRequest(HetirendListRequestDto dto) => new HetirendListRequest
{
OrarendElemKezdoNapDatuma = dto.OrarendElemKezdoNapDatuma.ToLocalTime(),
OrarendElemVegNapDatuma = dto.OrarendElemVegNapDatuma.ToLocalTime()
};
}
}

View file

@ -0,0 +1,46 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class HetirendListResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.ResponseModelEgyediAzonosito)]
public int Id { get; set; }
[Required, Description("Az entitás kezdő napja")]
public DateTime KezdoNapDatuma { get; set; }
[Required, Description("Az entitás végének napja")]
public DateTime VegNapDatuma { get; set; }
[Required, Description("A hét sorszáma a tanév kezdetétől számítva")]
public int HetSorszama { get; set; }
[Required, Description(DescriptionLookUp.Hetirend)]
public string Hetirend { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"ListHetirend",
new HetirendListRequestDto
{
OrarendElemKezdoNapDatuma = new DateTime(2022, 05, 09, 0, 0, 0),
OrarendElemVegNapDatuma = new DateTime(2022, 05, 16, 0, 0, 0)
});
public static implicit operator HetirendListResponseDto(HetirendListResponse model) => new HetirendListResponseDto
{
Id = model.Id,
KezdoNapDatuma = model.KezdoNapDatuma.ToIso8601Utc(),
VegNapDatuma = model.VegNapDatuma.ToIso8601Utc(),
HetSorszama = model.HetSorszama,
Hetirend = model.Hetirend
};
}
}

View file

@ -0,0 +1,23 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Enums;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class MulasztasForOraNaplozasRequestDto
{
[Required, Description(DescriptionLookUp.MulasztasTipus)]
public int Tipus { get; set; }
[Description(DescriptionLookUp.Keses)]
public int? Keses { get; set; }
public static implicit operator MulasztasForOraNaplozasRequest(MulasztasForOraNaplozasRequestDto dto) => new MulasztasForOraNaplozasRequest
{
Tipus = (MulasztasTipusEnum)dto.Tipus,
Keses = dto.Keses
};
}
}

View file

@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Utils;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.UniqueIdentifier;
using Kreta.Naplo.Dto.V3.Converter;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OraNaplozasRequestDto
{
[Required, Description(DescriptionLookUp.OrarendElemUid)]
public string OrarendElemUid { get; set; }
[Required, Description(DescriptionLookUp.Tema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.IsElmaradt)]
public bool IsElmaradt { get; set; }
[Description(DescriptionLookUp.TanuloLista)]
public List<TanuloForOraNaplozasListRequestDto> TanuloLista { get; set; } = new List<TanuloForOraNaplozasListRequestDto>();
[Description(DescriptionLookUp.HaziFeladatSzoveg)]
public string Hazifeladat { get; set; }
[Description(DescriptionLookUp.HaziFeladatHatarido)]
public DateTime? HazifeladatHatarido { get; set; }
[Description(DescriptionLookUp.HaziFeladatId)]
public int? HazifeladatId { get; set; }
public static implicit operator OraNaplozasRequest(OraNaplozasRequestDto model) => new OraNaplozasRequest
(
new OrarendElemUid(model.OrarendElemUid),
model.Tema,
model.IsElmaradt,
RequestModelConverter.DtoToModel(model.TanuloLista),
CommonUtils.ReplaceNewLineToHtmlTag(model.Hazifeladat),
model.HazifeladatHatarido?.ToLocalTime(),
model.HazifeladatId
);
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OraNaplozasTorlesRequestDto
{
/// <summary>
/// Órarendi elem uid-ja (Id, OraTipusa, OraDatuma UTC ISO 8601)
/// </summary>
[Required]
public string OrarendElemUid { get; set; }
public static implicit operator OraNaplozasTorlesRequest(OraNaplozasTorlesRequestDto dto)
=> dto == null ? new OraNaplozasTorlesRequestDto() : new OraNaplozasTorlesRequest(dto.OrarendElemUid);
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OrarendElemRequestDto
{
/// <summary>
/// Órarendi elem uid-ja (Id, OraTipusa, OraDatuma UTC ISO 8601)
/// </summary>
[Required]
public string OrarendElemUid { get; set; }
public static implicit operator OrarendElemRequest(OrarendElemRequestDto dto)
=> dto == null ? new OrarendElemRequestDto() : new OrarendElemRequest(dto.OrarendElemUid);
}
}

View file

@ -0,0 +1,159 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Enums.ManualEnums;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Attributes;
using Kreta.Naplo.Dto.V3.Converter;
using Kreta.Naplo.Dto.V3.Csatolmany;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
using Kreta.Naplo.Dto.V3.UniqueIdentifier;
using Newtonsoft.Json;
using static Kreta.Naplo.Dto.V3.Converter.ResponseModelConverter;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OrarendElemResponseDto : IDtoListDocumentation, IDtoDocumentation
{
[Required, Description(DescriptionLookUp.ResponseModelEgyediAzonosito), JsonConverter(typeof(UidConverter<OrarendElemUidDto>)), SwaggerChangeType(typeof(string))]
public OrarendElemUidDto Uid { get; set; }
[Required, Description(DescriptionLookUp.EntitashozRogzitettNev +
"<br>Ha ki van töltve a tantárgy rövid neve, akkor az kerül bele, egyébként a teljes neve;" +
"<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => tanév rendje neve")]
public string Nev { get; set; }
[Required, Description(DescriptionLookUp.HasOrarendiOra)]
public bool HasOrarendiOra { get; set; }
[Required, Description(DescriptionLookUp.EntitasTipusa)]
public int Tipus { get; set; }
[Description(DescriptionLookUp.EntitashozRogzitettOsztalyCsoportId + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public int OsztalyCsoportId { get; set; }
[Description(DescriptionLookUp.EntitashozRogzitettOsztalyCsoportNev + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public string OsztalyCsoportNev { get; set; }
[Description(DescriptionLookUp.EntitashozRogzitettTantargyId +
"<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public int TantargyId { get; set; }
[Description(DescriptionLookUp.EntitashozRogzitettTantargyNev +
"<br>Ha ki van töltve a tantárgy rövid neve, akkor az kerül bele, egyébként a teljes neve;" +
"<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public string TantargyNev { get; set; }
[Description(DescriptionLookUp.EntitashozRogzitettTeremNeve + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public string Terem { get; set; }
[Required, Description(DescriptionLookUp.TanoraKezdetenekIdopontja + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => esemény kezdő dátum")]
public DateTime Kezdete { get; set; }
[Required, Description(DescriptionLookUp.TanoraVegenekIdopontja + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => esemény végdátum")]
public DateTime Vege { get; set; }
[Description(DescriptionLookUp.EntitasTemaja +
"A tanárnak naplózás esetén kötelező megadnia;" +
"Nem naplózott óra esetén, tanévrendje esemény esetén vagy ha a testreszabásban le van tiltva a téma láthatósága => null")]
public string Tema { get; set; }
[Description(DescriptionLookUp.EntitasOraszamaAzAdottNapon + "; " +
DescriptionLookUp.NapirendiOraEsetenNull +
"<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public int? Oraszam { get; set; }
[Required, Description(DescriptionLookUp.EntitasAllapota)]
public int Allapot { get; set; }
[Description(DescriptionLookUp.OratulajdonosTanarUid + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public Guid TanarUid { get; set; }
[Description(DescriptionLookUp.OratulajdonosTanarNev + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public string TanarNev { get; set; }
[Description(DescriptionLookUp.HelyettesTanarUid + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public Guid? HelyettesitoTanarUid { get; set; }
[Description(DescriptionLookUp.HelyettesTanarNev + "<br>Ha " + nameof(CalendarOraTypeEnum) + " == " + nameof(CalendarOraTypeEnum.TanevRendjeEsemeny) + " => null")]
public string HelyettesitoTanarNev { get; set; }
[Required, Description(DescriptionLookUp.EvesOraSorszam)]
public int? EvesOraSorszam { get; set; }
[Description(DescriptionLookUp.HaziFeladatId)]
public int? HaziFeladatId { get; set; }
[Description(DescriptionLookUp.BejelentettSzamonkeresId)]
public int? BejelentettSzamonkeresId { get; set; }
[Description(DescriptionLookUp.BejelentettSzamonkeresMod)]
public string BejelentettSzamonkeresMod { get; set; }
[Description(DescriptionLookUp.BejelentettSzamonkeresTema)]
public string BejelentettSzamonkeresTema { get; set; }
[Required, Description(DescriptionLookUp.CsatolmanyokOrahoz)]
public IEnumerable<CsatolmanyResponseDto> Csatolmanyok { get; set; }
[Description(DescriptionLookUp.ElozoNaplozottOraDatum)]
public DateTime? ElozoNaplozottOraDatum { get; set; }
[Description(DescriptionLookUp.ElozoNaplozottOraTema)]
public string ElozoNaplozottOraTema { get; set; }
[Required, Description(DescriptionLookUp.Naplozart)]
public bool Naplozart{ get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"GetOrarend",
new OrarendRequestDto
{
DatumTol = new DateTime(2022, 2, 14, 0, 0, 0),
DatumIg = new DateTime(2022, 2, 20, 0, 0, 0)
});
public DocumentationExampleDto Example
=> new DocumentationExampleDto(
"GetOrarendElem",
new OrarendElemRequestDto
{
OrarendElemUid = "13279465,TanitasiOra,2022-02-22T23:00:00Z"
});
public static implicit operator OrarendElemResponseDto(OrarendElemResponse model) => new OrarendElemResponseDto
{
Uid = model.Uid,
Nev = model.Nev,
HasOrarendiOra = model.HasOrarendiOra,
Tipus = (int)model.Uid.Tipus,
OsztalyCsoportId = model.OsztalyCsoportId,
OsztalyCsoportNev = model.OsztalyCsoportNev,
TantargyId = model.TantargyId,
TantargyNev = model.TantargyNev,
Terem = model.Terem,
Kezdete = model.Kezdete.ToIso8601Utc(),
Vege = model.Vege.ToIso8601Utc(),
Tema = model.Tema,
Oraszam = model.Oraszam,
Allapot = model.Allapot,
TanarUid = model.TanarUid,
TanarNev = model.TanarNev,
HelyettesitoTanarUid = model.HelyettesitoTanarUid,
HelyettesitoTanarNev = model.HelyettesitoTanarNev,
EvesOraSorszam = model.EvesOraSorszam,
HaziFeladatId = model.HaziFeladatId,
BejelentettSzamonkeresId = model.BejelentettSzamonkeresId,
BejelentettSzamonkeresMod = model.BejelentettSzamonkeresMod,
BejelentettSzamonkeresTema = model.BejelentettSzamonkeresTema,
Csatolmanyok = ModelToDto(model.Csatolmanyok),
ElozoNaplozottOraDatum = model.ElozoNaplozottOraDatum?.ToIso8601Utc(),
ElozoNaplozottOraTema = model.ElozoNaplozottOraTema,
Naplozart = model.Naplozart
};
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OrarendRequestDto
{
/// <summary>
/// Dátum intervallum kezdete (UTC ISO 8601, másodperc pontossággal)
/// </summary>
[Required, Description(DescriptionLookUp.DatumTol)]
public DateTime DatumTol { get; set; }
/// <summary>
/// Dátum intervallum vége (UTC ISO 8601, másodperc pontossággal)
/// </summary>
[Required, Description(DescriptionLookUp.DatumIg)]
public DateTime DatumIg { get; set; }
public static implicit operator OrarendRequest(OrarendRequestDto model) => new OrarendRequest(model.DatumTol.ToLocalTime(), model.DatumIg.ToLocalTime());
}
}

View file

@ -0,0 +1,38 @@
using Kreta.Naplo.Dto.V3.Documentation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using Swashbuckle.Examples;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class SzamonkeresRequestDto : IExamplesProvider
{
[Required, Description(DescriptionLookUp.OrarendElemUid)]
public string OrarendElemUid { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesMod)]
public int ErtekelesMod { get; set; }
[Description(DescriptionLookUp.Tema)]
public string Tema { get; set; }
[Description(DescriptionLookUp.ForceSave)]
public bool ForceSave { get; set; }
public static implicit operator SzamonkeresRequest(SzamonkeresRequestDto dto) => new SzamonkeresRequest(dto.OrarendElemUid)
{
ErtekelesMod = dto.ErtekelesMod,
Tema = dto.Tema,
ForceSave = dto.ForceSave
};
public object GetExamples() => new SzamonkeresRequestDto
{
OrarendElemUid = "813423,OrarendiOra,2022-10-06T22:00:00Z",
ErtekelesMod = 1507,
Tema = "Doga lesz, készüljetek!",
ForceSave = false
};
}
}

View file

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class TanuloForOraNaplozasListRequestDto
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.Mulasztas)]
public MulasztasForOraNaplozasRequestDto Mulasztas { get; set; }
[Description(DescriptionLookUp.FeljegyzesTipusLista)]
public List<int> FeljegyzesTipusLista { get; set; } = new List<int>();
public static implicit operator TanuloForOraNaplozasListRequest(TanuloForOraNaplozasListRequestDto model) => new TanuloForOraNaplozasListRequest
{
Id = model.Id,
Mulasztas = model.Mulasztas,
FeljegyzesTipusLista = model.FeljegyzesTipusLista
};
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class TanuloJelenletRequestDto
{
/// <summary>
/// Órarendi elem uid-ja (Id, OraTipusa, OraDatuma UTC ISO 8601)
/// </summary>
[Required]
public string OrarendElemUid { get; set; }
public static implicit operator TanuloJelenletRequest(TanuloJelenletRequestDto dto)
=> dto == null ? new TanuloJelenletRequestDto() : new TanuloJelenletRequest(dto.OrarendElemUid);
}
}

View file

@ -0,0 +1,57 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class TanuloJelenletResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
[Required, Description(DescriptionLookUp.MulasztasTipus)]
public int Allapot { get; set; }
[Required, Description(DescriptionLookUp.MulasztasTipus)]
public int MulasztasTipus { get; set; }
[Description(DescriptionLookUp.Keses)]
public int? Keses { get; set; }
[Required, Description(DescriptionLookUp.TanuloNaplozasFelkialtojelSzoveg)]
public string Szoveg { get; set; }
[Required, Description(DescriptionLookUp.HasMulasztasGomb)]
public bool HasMulasztasGomb { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"GetJelenlet",
new TanuloJelenletRequestDto
{
OrarendElemUid = "13279471,TanitasiOra,2022-02-27T23:00:00Z"
});
public static implicit operator TanuloJelenletResponseDto(TanuloJelenletResponse model) => new TanuloJelenletResponseDto
{
TanuloId = model.TanuloId,
Allapot = model.Allapot,
MulasztasTipus = model.MulasztasTipus,
Keses = model.Keses,
Szoveg = model.Szoveg,
HasMulasztasGomb = model.HasMulasztasGomb,
};
public object GetExamples() => new TanuloJelenletResponseDto
{
TanuloId = 218789,
Allapot = 1827,
MulasztasTipus = 1827,
Szoveg = "Előző órán hiányzott",
HasMulasztasGomb = true,
Keses = null
};
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class BejelentettSzamonkeresekRequestDto
{
/// <summary>
/// Osztály/csoport id
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
/// <summary>
/// Dátum
/// </summary>
[Required]
public DateTime Datum { get; set; }
public static implicit operator BejelentettSzamonkeresekRequest(BejelentettSzamonkeresekRequestDto dto) => new BejelentettSzamonkeresekRequest
{
OsztalyCsoportId = dto.OsztalyCsoportId,
Datum = dto.Datum.ToLocalTime()
};
}
}

View file

@ -0,0 +1,57 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class BejelentettSzamonkeresekResponseDto : IDtoDocumentation, IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.SzamonkeresId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.Tema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesMod)]
public int ErtekelesMod { get; set; }
[Description(DescriptionLookUp.OraSzam)]
public int? OraSzam { get; set; }
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.TantargyNev)]
public string TantargyNev { get; set; }
[Required, Description(DescriptionLookUp.TanarUid)]
public Guid TanarUid { get; set; }
[Required, Description(DescriptionLookUp.TanarNev)]
public string TanarNev { get; set; }
public DocumentationExampleDto ListExample => new DocumentationExampleDto("GetBejelentettSzamonkeresek",
new BejelentettSzamonkeresekRequestDto
{
OsztalyCsoportId = 804093,
Datum = DateTime.Parse("2022-06-02T22:00:00Z")
});
public DocumentationExampleDto Example => new DocumentationExampleDto("GetBejelentettSzamonkeres", 4707);
public static implicit operator BejelentettSzamonkeresekResponseDto(BejelentettSzamonkeresekResponse model) => new BejelentettSzamonkeresekResponseDto
{
Id = model.Id,
Tema = model.Tema,
ErtekelesMod = model.ErtekelesMod,
OraSzam = model.OraSzam,
TantargyId = model.TantargyId,
TantargyNev = model.TantargyNev,
TanarUid = model.TanarUid,
TanarNev = model.TanarNev
};
}
}

View file

@ -0,0 +1,33 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class MondatbankRequestDto : IExamplesProvider
{
/// <summary>
/// Tantárgy id
/// </summary>
[Required]
public int TantargyId { get; set; }
/// <summary>
/// Osztály/Csoport id
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
public static implicit operator MondatbankRequest(MondatbankRequestDto dto) => new MondatbankRequest
{
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId
};
public object GetExamples() => new MondatbankRequestDto
{
TantargyId = 414771,
OsztalyCsoportId = 130796
};
}
}

View file

@ -0,0 +1,32 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class MondatbankResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.RovidNev)]
public string RovidNev { get; set; }
[Required, Description(DescriptionLookUp.Nev)]
public string Nev { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"GetMondatbank",
new MondatbankRequestDto
{
TantargyId = 414771,
OsztalyCsoportId = 130796
});
public static implicit operator MondatbankResponseDto(MondatbankResponse model) => new MondatbankResponseDto
{
RovidNev = model.RovidNev,
Nev = model.Nev
};
}
}

View file

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Enums;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Domain.V3.Utility.ValidationAttributes;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Ertekeles;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportErtekelesRequestDto : IExamplesProvider
{
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesDatum)]
public DateTime Datum { get; set; }
[Required, EnumToDescription(DescriptionLookUp.SzamonkeresMod, typeof(ErtekelesModEnum))]
public int Mod { get; set; }
[Description(DescriptionLookUp.SzamonkeresTema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.Tanulok)]
public List<TanuloForOsztalyCsoportErtekelesRequestDto> TanuloLista { get; set; }
public static implicit operator OsztalyCsoportErtekelesRequest(OsztalyCsoportErtekelesRequestDto dto) => new OsztalyCsoportErtekelesRequest
{
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId,
Datum = dto.Datum.ToLocalTime(),
Mod = dto.Mod,
Tema = dto.Tema,
TanuloLista = Converter.RequestModelConverter.DtoToModel(dto.TanuloLista)
};
public object GetExamples()
=> new OsztalyCsoportErtekelesRequestDto
{
TantargyId = 330986,
OsztalyCsoportId = 804093,
Datum = DateTime.Now.ToLocalTime(),
Mod = 1509,
Tema = "Témácska",
TanuloLista = new List<TanuloForOsztalyCsoportErtekelesRequestDto> {
new TanuloForOsztalyCsoportErtekelesRequestDto {
TanuloId = 218789,
Ertekeles = new ErtekelesRequestDto { OsztalyzatTipus = 1505, Szazalek = null, Szoveg = null }
}
}
};
}
}

View file

@ -0,0 +1,48 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportErtekelesekRequestDto : IExamplesProvider
{
/// <summary>
/// Tantárgy id
/// </summary>
[Required]
public int TantargyId { get; set; }
/// <summary>
/// Osztály/csoport id
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
/// <summary>
/// Dátum (óra vagy értékelés bejegyzés dátuma, ShortDateTime, UTC ISO 8601) opcionális
/// </summary>
public DateTime? Datum { get; set; }
/// <summary>
/// Tanuló id
/// </summary>
public int? TanuloId { get; set; }
public static implicit operator OsztalyCsoportErtekelesekRequest(OsztalyCsoportErtekelesekRequestDto dto) => new OsztalyCsoportErtekelesekRequest
{
Datum = dto.Datum ?? DateTime.Now,
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId,
TanuloId = dto.TanuloId
};
public object GetExamples() => new OsztalyCsoportErtekelesekRequestDto
{
TantargyId = 414768,
OsztalyCsoportId = 130796
};
}
}

View file

@ -0,0 +1,62 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Ertekeles;
using Kreta.Naplo.Dto.V3.Interfaces;
using Kreta.Naplo.Dto.V3.Tanulo;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportErtekelesekResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
[Required, Description(DescriptionLookUp.TanuloErtekelesFelmentes)]
public TanuloMentessegResponseDto TanuloErtekelesFelmentes { get; set; }
[Description(DescriptionLookUp.TanuloTantargyiAtlag)]
public decimal? TanuloTantargyiAtlag { get; set; }
[Required, Description(DescriptionLookUp.TanuloErtekelesSzam)]
public int TanuloErtekelesSzam { get; set; }
[Description(DescriptionLookUp.TanuloUtolsoErtekeles)]
public ErtekelesResponseDto TanuloUtolsoErtekeles { get; set; }
[Description(DescriptionLookUp.TanuloUtolsoErtekelesDatum)]
public DateTime? TanuloUtolsoErtekelesDatum { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"GetOsztalyCsoportErtekelesek",
new OsztalyCsoportErtekelesekRequestDto
{
TantargyId = 414768,
OsztalyCsoportId = 130796
});
public static implicit operator OsztalyCsoportErtekelesekResponseDto(OsztalyCsoportErtekelesekResponse model) => new OsztalyCsoportErtekelesekResponseDto
{
TanuloId = model.TanuloId,
TanuloErtekelesFelmentes = model.TanuloErtekelesFelmentes,
TanuloTantargyiAtlag = model.TanuloTantargyiAtlag,
TanuloErtekelesSzam = model.TanuloErtekelesSzam,
TanuloUtolsoErtekeles = model.TanuloUtolsoErtekeles,
TanuloUtolsoErtekelesDatum = model.TanuloUtolsoErtekelesDatum?.ToIso8601Utc()
};
public object GetExamples() => new OsztalyCsoportErtekelesekResponseDto
{
TanuloId = 218789,
TanuloErtekelesFelmentes = new TanuloMentessegResponseDto { ErtekelesAloliFelmentes = true, TanoraLatogatasaAloliFelmentes = false, SzovegesenErtekelheto = true },
TanuloTantargyiAtlag = (decimal?)4.92,
TanuloErtekelesSzam = 21,
TanuloUtolsoErtekeles = new ErtekelesResponseDto { OsztalyzatTipus = 1505, Szazalek = null, Szoveg = null },
TanuloUtolsoErtekelesDatum = DateTime.Now.ToIso8601Utc()
};
}
}

View file

@ -0,0 +1,38 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportGondviseloResponseDto
{
[Required, Description(DescriptionLookUp.GondviseloId)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.GondviseloNev)]
public string Nev { get; set; }
[Description(DescriptionLookUp.GondviseloRokonsagiFok)]
public string RokonsagiFok { get; set; }
[Required, Description(DescriptionLookUp.GondviseloTelefonszam)]
public string Telefonszam { get; set; }
[Required, Description(DescriptionLookUp.GondviseloEmail)]
public string Email { get; set; }
[Required, Description(DescriptionLookUp.TorvenyesKepviselo)]
public bool IsTorvenyesKepviselo { get; set; }
public static implicit operator OsztalyCsoportGondviseloResponseDto(OsztalyCsoportGondviseloResponse model) => new OsztalyCsoportGondviseloResponseDto
{
Id = model.Id,
Nev = model.Nev,
RokonsagiFok = model.RokonsagiFok,
Telefonszam = model.Telefonszam,
Email = model.Email,
IsTorvenyesKepviselo = model.IsTorvenyesKepviselo
};
}
}

View file

@ -0,0 +1,22 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportResponseDto
{
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportNev)]
public string OsztalyCsoportNev { get; set; }
public static implicit operator OsztalyCsoportResponseDto(OsztalyCsoportResponse model) => new OsztalyCsoportResponseDto
{
OsztalyCsoportId = model.OsztalyCsoportId,
OsztalyCsoportNev = model.OsztalyCsoportNev
};
}
}

View file

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportTanuloAdatokResponseDto : OsztalyCsoportTanuloResponseDto
{
[Required, Description(DescriptionLookUp.OsztalyCsoportok)]
public List<OsztalyCsoportResponseDto> OsztalyCsoportok { get; set; }
[Required, Description(DescriptionLookUp.Gondviselok)]
public List<OsztalyCsoportGondviseloResponseDto> Gondviselok { get; set; }
public static implicit operator OsztalyCsoportTanuloAdatokResponseDto(OsztalyCsoportTanuloAdatokResponse model) => new OsztalyCsoportTanuloAdatokResponseDto
{
TanuloId = model.TanuloId,
TanuloNev = model.TanuloNev,
TanuloSzuletesiDatum = model.TanuloSzuletesiDatum,
TanuloAnyjaNeve = model.TanuloAnyjaNeve,
OsztalyCsoportok = Converter.ResponseModelConverter.ModelToDto(model.OsztalyCsoportok),
Gondviselok = Converter.ResponseModelConverter.ModelToDto(model.Gondviselok)
};
}
}

View file

@ -0,0 +1,33 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportTanuloRequestDto : IExamplesProvider
{
/// <summary>
/// Osztály/csoport id
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
/// <summary>
/// Dátum ha nincs megadva akkor a mai nap.
/// </summary>
public DateTime? Datum { get; set; }
public static implicit operator OsztalyCsoportTanuloRequest(OsztalyCsoportTanuloRequestDto dto) => new OsztalyCsoportTanuloRequest
{
OsztalyCsoportId = dto.OsztalyCsoportId,
Datum = dto.Datum?.ToLocalTime()
};
public object GetExamples() => new OsztalyCsoportTanuloRequestDto
{
OsztalyCsoportId = 130796,
Datum = DateTime.Now
};
}
}

View file

@ -0,0 +1,36 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportTanuloResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
[Required, Description(DescriptionLookUp.TanuloNev)]
public string TanuloNev { get; set; }
[Required, Description(DescriptionLookUp.TanuloSzuletesiDatum)]
public DateTime TanuloSzuletesiDatum { get; set; }
[Required, Description(DescriptionLookUp.TanuloAnyjaNeve)]
public string TanuloAnyjaNeve { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto("GetOsztalyCsoportTanuloi", 130796);
public static implicit operator OsztalyCsoportTanuloResponseDto(OsztalyCsoportTanuloResponse model) => new OsztalyCsoportTanuloResponseDto
{
TanuloId = model.TanuloId,
TanuloNev = model.TanuloNev,
TanuloSzuletesiDatum = model.TanuloSzuletesiDatum.ToIso8601Utc(),
TanuloAnyjaNeve = model.TanuloAnyjaNeve
};
}
}

View file

@ -0,0 +1,46 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyokCsoportokResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportNev)]
public string OsztalyCsoportNev { get; set; }
[Required, Description(DescriptionLookUp.IsTanitom)]
public bool IsTanitom { get; set; }
[Description(DescriptionLookUp.OsztalyfonokCsoportvezetoUid)]
public Guid? OsztalyfonokCsoportvezetoUid { get; set; }
[Description(DescriptionLookUp.OsztalyfonokCsoportvezetoNev)]
public string OsztalyfonokCsoportvezetoNev { get; set; }
[Description(DescriptionLookUp.OsztalyfonokHelyettesUid)]
public Guid? OsztalyfonokHelyettesUid { get; set; }
[Description(DescriptionLookUp.OsztalyfonokHelyettesNev)]
public string OsztalyfonokHelyettesNev { get; set; }
public DocumentationExampleDto ListExample => new DocumentationExampleDto("GetOsztalyokCsoportok", null);
public static implicit operator OsztalyokCsoportokResponseDto(OsztalyokCsoportokResponse model) => new OsztalyokCsoportokResponseDto
{
OsztalyCsoportId = model.OsztalyCsoportId,
OsztalyCsoportNev = model.OsztalyCsoportNev,
IsTanitom = model.IsTanitom,
OsztalyfonokCsoportvezetoUid = model.OsztalyfonokCsoportvezetoUid,
OsztalyfonokCsoportvezetoNev = model.OsztalyfonokCsoportvezetoNev,
OsztalyfonokHelyettesUid = model.OsztalyfonokHelyettesUid,
OsztalyfonokHelyettesNev = model.OsztalyfonokHelyettesNev
};
}
}

View file

@ -0,0 +1,39 @@
using Kreta.Naplo.Dto.V3.Documentation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class TanuloErtekelesMentesRequestDto
{
[Required, Description(DescriptionLookUp.ErtekelesDatuma)]
public DateTime ErtekelesDatum { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesModId)]
public int ErtekelesModId { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesTema)]
public string ErtekelesTema { get; set; }
[Description(DescriptionLookUp.ErtekelesOsztalyzatId)]
public int? ErtekelesOsztalyzatId { get; set; }
[Description(DescriptionLookUp.ErtekelesSzoveg)]
public string ErtekelesSzoveg { get; set; }
[Description(DescriptionLookUp.ErtekelesSzazalek)]
public int? ErtekelesSzazalek { get; set; }
public static implicit operator TanuloErtekelesMentesRequest(TanuloErtekelesMentesRequestDto dto) => new TanuloErtekelesMentesRequest
{
ErtekelesDatum = dto.ErtekelesDatum.ToLocalTime(),
ErtekelesModId = dto.ErtekelesModId,
ErtekelesTema = dto.ErtekelesTema,
ErtekelesOsztalyzatId = dto.ErtekelesOsztalyzatId,
ErtekelesSzoveg = dto.ErtekelesSzoveg,
ErtekelesSzazalek = dto.ErtekelesSzazalek
};
}
}

View file

@ -0,0 +1,41 @@
using System.ComponentModel.DataAnnotations;
using Swashbuckle.Examples;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class TanuloErtekelesekRequestDto : IExamplesProvider
{
/// <summary>
/// Tanuló id
/// </summary>
[Required]
public int TanuloId { get; set; }
/// <summary>
/// Tantárgy id
/// </summary>
[Required]
public int TantargyId { get; set; }
/// <summary>
/// Osztály/csoport id
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
public static implicit operator TanuloErtekelesekRequest(TanuloErtekelesekRequestDto dto) => new TanuloErtekelesekRequest
{
TanuloId = dto.TanuloId,
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId
};
public object GetExamples() => new TanuloErtekelesekRequestDto
{
TanuloId = 218785,
TantargyId = 330986,
OsztalyCsoportId = 804093
};
}
}

View file

@ -0,0 +1,119 @@
using Kreta.Naplo.Dto.V3.Documentation;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System;
using Kreta.Naplo.Dto.V3.Interfaces;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class TanuloErtekelesekResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.ErtekelesId)]
public int ErtekelesId { get; set; }
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.TantargyNev)]
public string TantargyNev { get; set; }
[Description(DescriptionLookUp.Ertekeles)]
public string Ertekeles { get; set; }
[Description(DescriptionLookUp.ErtekelesOsztalyzatId)]
public int? ErtekelesOsztalyzatId { get; set; }
[Description(DescriptionLookUp.ErtekelesOsztalyzatNev)]
public string ErtekelesOsztalyzatNev { get; set; }
[Description(DescriptionLookUp.ErtekelesSzoveg)]
public string ErtekelesSzoveg { get; set; }
[Description(DescriptionLookUp.ErtekelesSzazalek)]
public int? ErtekelesSzazalek { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesFajtaId)]
public int ErtekelesFajtaId { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesFajtaNev)]
public string ErtekelesFajtaNev { get; set; }
[Description(DescriptionLookUp.ErtekelesModId)]
public int? ErtekelesModId { get; set; }
[Description(DescriptionLookUp.ErtekelesModNev)]
public string ErtekelesModNev { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesTipusId)]
public int ErtekelesTipusId { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesTipusNev)]
public string ErtekelesTipusNev { get; set; }
[Description(DescriptionLookUp.ErtekelesTema)]
public string ErtekelesTema { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesDatum)]
public DateTime ErtekelesDatum { get; set; }
[Description(DescriptionLookUp.ErtekelesSuly)]
public int? ErtekelesSuly { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesRogzitesDatum)]
public DateTime ErtekelesRogzitesDatum { get; set; }
[Required, Description(DescriptionLookUp.TanarUid)]
public Guid TanarUid { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyId)]
public int FeladatEllatasiHelyId { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyNev)]
public string FeladatEllatasiHelyNev { get; set; }
[Required, Description(DescriptionLookUp.Naplozart)]
public bool Naplozart { get; set; }
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto(
"GetTanuloErtekelesei",
new TanuloErtekelesekRequestDto
{
TanuloId = 218785,
TantargyId = 330986,
OsztalyCsoportId = 804093
});
public static implicit operator TanuloErtekelesekResponseDto(TanuloErtekelesekResponse model) => new TanuloErtekelesekResponseDto
{
ErtekelesId = model.ErtekelesId,
TantargyId = model.TantargyId,
TantargyNev = model.TantargyNev,
Ertekeles = model.Ertekeles,
ErtekelesOsztalyzatId = model.ErtekelesOsztalyzatId,
ErtekelesOsztalyzatNev = model.ErtekelesOsztalyzatNev,
ErtekelesSzoveg = model.ErtekelesSzoveg,
ErtekelesSzazalek = model.ErtekelesSzazalek,
ErtekelesFajtaId = model.ErtekelesFajtaId,
ErtekelesFajtaNev = model.ErtekelesFajtaNev,
ErtekelesModId = model.ErtekelesModId,
ErtekelesModNev = model.ErtekelesModNev,
ErtekelesTipusId = model.ErtekelesTipusId,
ErtekelesTipusNev = model.ErtekelesTipusNev,
ErtekelesTema = model.ErtekelesTema,
ErtekelesDatum = model.ErtekelesDatum.ToIso8601Utc(),
ErtekelesSuly = model.ErtekelesSuly,
ErtekelesRogzitesDatum = model.ErtekelesRogzitesDatum.ToIso8601Utc(),
TanarUid = model.TanarUid,
OsztalyCsoportId = model.OsztalyCsoportId,
FeladatEllatasiHelyId = model.FeladatEllatasiHelyId,
FeladatEllatasiHelyNev = model.FeladatEllatasiHelyNev,
Naplozart = model.Naplozart
};
}
}

View file

@ -0,0 +1,23 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Ertekeles;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class TanuloForOsztalyCsoportErtekelesRequestDto
{
[Required, Description(DescriptionLookUp.TanuloId)]
public int TanuloId { get; set; }
[Required, Description(DescriptionLookUp.Ertekeles)]
public ErtekelesRequestDto Ertekeles { get; set; }
public static implicit operator TanuloForOsztalyCsoportErtekelesRequest(TanuloForOsztalyCsoportErtekelesRequestDto dto) => new TanuloForOsztalyCsoportErtekelesRequest
{
TanuloId = dto.TanuloId,
Ertekeles = dto.Ertekeles
};
}
}

View file

@ -0,0 +1,24 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanar;
using Kreta.Naplo.Dto.V3.Documentation;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.Tanar
{
public class BeallitasokRequestDto : IExamplesProvider
{
[Required, Description(DescriptionLookUp.ElozoOranHianyzoAjanlasa)]
public bool ElozoOranHianyzoAjanlasa { get; set; }
public static implicit operator BeallitasokRequest(BeallitasokRequestDto dto) => new BeallitasokRequest
{
ElozoOranHianyzoAjanlasa = dto.ElozoOranHianyzoAjanlasa
};
public object GetExamples() => new BeallitasokRequestDto
{
ElozoOranHianyzoAjanlasa = true
};
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanar;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Tanar
{
public class BeallitasokResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.ElozoOranHianyzoAjanlasa)]
public bool ElozoOranHianyzoAjanlasa { get; set; }
[Required, Description(DescriptionLookUp.NapiSzamonkeresLimit)]
public int NapiSzamonkeresLimit { get; set; }
[Required, Description(DescriptionLookUp.LimitaltSzamonkeresekTipusai)]
public List<int> LimitaltSzamonkeresekTipusai { get; set; }
public static implicit operator BeallitasokResponseDto(BeallitasokResponse model) => new BeallitasokResponseDto
{
ElozoOranHianyzoAjanlasa = model.ElozoOranHianyzoAjanlasa,
NapiSzamonkeresLimit = model.NapiSzamonkeresLimit,
LimitaltSzamonkeresekTipusai = model.LimitaltSzamonkeresekTipusai
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetBeallitasok", null);
}
}

View file

@ -0,0 +1,54 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanar;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Tanar
{
public class ProfilResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.IdpEgyediAzonosito)]
public Guid Uid { get; set; }
[Required, Description(DescriptionLookUp.Nev)]
public string Nev { get; set; }
[Required, Description(DescriptionLookUp.IntezmenyNev)]
public string IntezmenyNev { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyId)]
public int FeladatEllatasiHelyId { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyNev)]
public string FeladatEllatasiHelyNev { get; set; }
[Description(DescriptionLookUp.PublikusEmailCim)]
public string PublikusEmailCim { get; set; }
[Description(DescriptionLookUp.PublikusTelefonszam)]
public string PublikusTelefonszam { get; set; }
[Description(DescriptionLookUp.MunkahelyiEmailCim)]
public string MunkahelyiEmailCim { get; set; }
[Description(DescriptionLookUp.MunkahelyiTelefonszam)]
public string MunkahelyiTelefonszam { get; set; }
public static implicit operator ProfilResponseDto(ProfilResponse model) => new ProfilResponseDto
{
Uid = model.Uid,
Nev = model.Nev,
IntezmenyNev = model.IntezmenyNev,
FeladatEllatasiHelyId = model.FeladatEllatasiHelyId,
FeladatEllatasiHelyNev = model.FeladatEllatasiHelyNev,
PublikusEmailCim = model.PublikusEmailCim,
PublikusTelefonszam = model.PublikusTelefonszam,
MunkahelyiEmailCim = model.MunkahelyiEmailCim,
MunkahelyiTelefonszam = model.MunkahelyiTelefonszam
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetProfil", null);
}
}

View file

@ -0,0 +1,41 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanar;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Tanar
{
public class TantargyFelosztasResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportNev)]
public string OsztalyCsoportNev { get; set; }
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.TantargyNev)]
public string TantargyNev { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyId)]
public int FeladatellatasiHelyId { get; set; }
[Required, Description(DescriptionLookUp.FeladatEllatasiHelyNev)]
public string FeladatellatasiHely { get; set; }
public static implicit operator TantargyFelosztasResponseDto(TantargyFelosztasResponse model) => new TantargyFelosztasResponseDto
{
OsztalyCsoportId = model.OsztalyCsoportId,
OsztalyCsoportNev = model.OsztalyCsoportNev,
TantargyId = model.TantargyId,
TantargyNev = model.TantargyNev,
FeladatellatasiHelyId = model.FeladatellatasiHelyId,
FeladatellatasiHely = model.FeladatellatasiHely
};
public DocumentationExampleDto Example => new DocumentationExampleDto("GetTantargyFelosztasok", null);
}
}

View file

@ -0,0 +1,37 @@
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanmenet;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Interfaces;
namespace Kreta.Naplo.Dto.V3.Tanmenet
{
public class TanmenetItemListResponseDto : IDtoListDocumentation
{
[Required, Description(DescriptionLookUp.Id)]
public int Id { get; set; }
[Required, Description(DescriptionLookUp.Tema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.EvesOraszam)]
public int EvesOraszam { get; set; }
public static implicit operator TanmenetItemListResponseDto(TanmenetItemListResponse model) => new TanmenetItemListResponseDto
{
Id = model.Id,
Tema = model.Tema,
EvesOraszam = model.EvesOraszam
};
public DocumentationExampleDto ListExample
=> new DocumentationExampleDto("ListTanmenet",
new TanmenetRequestDto
{
OsztalyCsoportId = 130796,
TantargyId = 414780,
TanarUid = new Guid("bf37a8ca-8c59-4030-b6e1-4c1f5e80da48")
});
}
}

View file

@ -0,0 +1,34 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Tanmenet;
namespace Kreta.Naplo.Dto.V3.Tanmenet
{
public class TanmenetRequestDto
{
/// <summary>
/// Osztály/Csoport Id-ja
/// </summary>
[Required]
public int OsztalyCsoportId { get; set; }
/// <summary>
/// Tantárgy Id-ja
/// </summary>
[Required]
public int TantargyId { get; set; }
/// <summary>
/// Feltöltő tanár idp uid-ja
/// </summary>
[Required]
public Guid TanarUid { get; set; }
public static implicit operator TanmenetRequest(TanmenetRequestDto dto) => new TanmenetRequest
{
OsztalyCsoportId = dto.OsztalyCsoportId,
TantargyId = dto.TantargyId,
TanarUid = dto.TanarUid
};
}
}

View file

@ -0,0 +1,30 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Ertekeles;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Tanulo
{
public class TanuloMentessegResponseDto
{
[Required, Description(DescriptionLookUp.ErtekelesAloliFelmentes)]
public bool ErtekelesAloliFelmentes { get; set; }
[Required, Description(DescriptionLookUp.TanoraLatogatasaAloliFelmentes)]
public bool TanoraLatogatasaAloliFelmentes { get; set; }
[Required, Description(DescriptionLookUp.SzovegesenErtekelheto)]
public bool SzovegesenErtekelheto { get; set; }
[Required, Description(DescriptionLookUp.FelmentesOka)]
public string FelmentesOka { get; set; }
public static implicit operator TanuloMentessegResponseDto(TanuloMentessegResponse model) => new TanuloMentessegResponseDto
{
ErtekelesAloliFelmentes = model.ErtekelesAloliFelmentes,
TanoraLatogatasaAloliFelmentes = model.TanoraLatogatasaAloliFelmentes,
SzovegesenErtekelheto = model.SzovegesenErtekelheto,
FelmentesOka = model.FelmentesOka
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.Naplo.Domain.V3.Interfaces;
using Kreta.Naplo.Domain.V3.Logic;
using Kreta.Naplo.Domain.V3.UniqueIdentifier;
using Kreta.Naplo.Domain.V3.Utility;
namespace Kreta.Naplo.Dto.V3.UniqueIdentifier
{
public class OrarendElemUidDto : IReadonlyUidRaw
{
public string UidRaw { get; private set; }
public static implicit operator OrarendElemUidDto(OrarendElemUid model) => new OrarendElemUidDto
{
UidRaw = UidLogic.Concat(model.Id, model.Tipus, model.Datum.ToIso8601Utc().ToIso8601UtcString())
};
}
}

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net48" />
<package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net48" />
<package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net48" />
<package id="Swashbuckle.Examples" version="3.12.0" targetFramework="net48" />
</packages>