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

Binary file not shown.

View file

@ -0,0 +1,13 @@
namespace Kreta.Naplo.Domain
{
/// <summary>
/// Service interface
/// </summary>
public interface IService
{
/// <summary>
/// Service context
/// </summary>
ServiceContext Context { get; set; }
}
}

View file

@ -0,0 +1,274 @@
<?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>{9BFF7535-E0F6-4437-AF5F-540E1B4506B2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Kreta.Naplo.Domain</RootNamespace>
<AssemblyName>Kreta.Naplo.Domain</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</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>
</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, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Kreta.Core.Validation.2.0.16\lib\net452\Kreta.Core.Validation.dll</HintPath>
</Reference>
<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="System" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net" />
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\Tools\SharedAssemblyInfo.cs">
<Link>Properties\SharedAssemblyInfo.cs</Link>
</Compile>
<Compile Include="IService.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceContext.cs" />
<Compile Include="V2\Converter\EnumConverter.cs" />
<Compile Include="V2\Converter\GetModelConverter.cs" />
<Compile Include="V2\Converter\PostModelConverter.cs" />
<Compile Include="V2\Model\CustomEnum\NaploEnumList.cs" />
<Compile Include="V2\Model\CustomEnum\NaploEnumListItem.cs" />
<Compile Include="V2\Model\CustomEnum\NaploEnum.cs" />
<Compile Include="V2\Model\Get\Enum\EnumRequest.cs" />
<Compile Include="V2\Model\Get\OpenBoard\FeltolthetoFajlokSzamaRequest.cs" />
<Compile Include="V2\Model\Get\OpenBoard\FeltolthetoFajlokSzamaResponse.cs" />
<Compile Include="V2\Model\Get\Orarend\TanarSimplifiedGetResponse.cs" />
<Compile Include="V2\Model\Get\Orarend\OraGetResponse.cs" />
<Compile Include="V2\Model\Get\Orarend\OraGetRequest.cs" />
<Compile Include="V2\Model\Get\Ora\JavasoltJelenletTemplate\JavasoltJelenletTemplateGetRequest.cs" />
<Compile Include="V2\Model\Get\Ora\JavasoltJelenletTemplate\JavasoltJelenletTemplateGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\JavasoltJelenletTemplate\JavasoltJelenletTemplateItemGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\TanitasiOra\JavasoltJelenlet\JavasoltJelenletGetRequest.cs" />
<Compile Include="V2\Model\Get\Ora\TanitasiOra\JavasoltJelenlet\JavasoltJelenletGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\TanitasiOra\JavasoltJelenlet\JavasoltJelenletKeyGetRequest.cs" />
<Compile Include="V2\Model\Get\Ora\TanitasiOra\JavasoltJelenlet\JavasoltJelenletSzuroGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\TanitasiOra\JavasoltJelenlet\JavasoltJelenletTanuloGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\OrarendiOra\JavasoltJelenlet\JavasoltJelenletGetRequest.cs" />
<Compile Include="V2\Model\Get\Ora\OrarendiOra\JavasoltJelenlet\JavasoltJelenletTanuloGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\OrarendiOra\JavasoltJelenlet\JavasoltJelenletGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\OrarendiOra\JavasoltJelenlet\JavasoltJelenletSzuroGetResponse.cs" />
<Compile Include="V2\Model\Get\Ora\OrarendiOra\JavasoltJelenlet\JavasoltJelenletKeyGetRequest.cs" />
<Compile Include="V2\Model\Get\Tanar\IskolaorRequest.cs" />
<Compile Include="V2\Model\Get\Tanar\IskolaorResponse.cs" />
<Compile Include="V2\Model\Get\Tanar\ProfilRequest.cs" />
<Compile Include="V2\Model\Get\Tanar\ProfilResponse.cs" />
<Compile Include="V2\Model\Get\Tanmenet\TanmenetKeyGetRequest.cs" />
<Compile Include="V2\Model\Get\Tanmenet\TanmenetGetRequest.cs" />
<Compile Include="V2\Model\Get\Tanmenet\TanmenetItemGetResponse.cs" />
<Compile Include="V2\Model\Get\Tanmenet\TanmenetGetResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\ErtekelesFajta.cs" />
<Compile Include="V2\Model\Get\Tanulo\ErtekelesGetRequest.cs" />
<Compile Include="V2\Model\Get\Tanulo\ErtekelesGetResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\MulasztasRequest.cs" />
<Compile Include="V2\Model\Get\Tanulo\FeljegyzesResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\MulasztasResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\FeljegyzesRequest.cs" />
<Compile Include="V2\Model\Get\Tanulo\OsztalyTanuloiRequest.cs" />
<Compile Include="V2\Model\Get\Tanulo\OsztalyTanuloiResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\TanugyiAdatokGetResponse.cs" />
<Compile Include="V2\Model\Get\Tanulo\TanuloResponse.cs" />
<Compile Include="V2\Interface\IGetRequest.cs" />
<Compile Include="V2\Model\Post\Ertekeles\ErtekelesResponse.cs" />
<Compile Include="V2\Model\Post\Ertekeles\ErtekelesRequest.cs" />
<Compile Include="V2\Model\Post\Ertekeles\OsztalyCsoportErtekelesRequest.cs" />
<Compile Include="V2\Model\Post\Ertekeles\TanuloForOsztalyCsoportErtekelesRequest.cs" />
<Compile Include="V2\Model\Post\OpenBoard\FeltoltottFajlResponse.cs" />
<Compile Include="V2\Model\Post\OpenBoard\FeltoltottFajlRequest.cs" />
<Compile Include="V2\Model\Post\Naplozas\MulasztasForOraNaplozasRequest.cs" />
<Compile Include="V2\Model\Post\Naplozas\OraNaplozasRequest.cs" />
<Compile Include="V2\Model\Post\Naplozas\OraNaplozasResponse.cs" />
<Compile Include="V2\Model\Post\Naplozas\TanuloForOraNaplozasRequest.cs" />
<Compile Include="V2\Model\ResponseWrapper.cs" />
<Compile Include="V2\Service\IEnumService.cs" />
<Compile Include="V2\Service\IErtekelesService.cs" />
<Compile Include="V2\Service\ICommonService.cs" />
<Compile Include="V2\Service\IIskolaorService.cs" />
<Compile Include="V2\Service\IOraService.cs" />
<Compile Include="V2\Service\ITanarService.cs" />
<Compile Include="V3\Adatszotar\Adatszotar.cs" />
<Compile Include="V3\Common\ApiSecurity.cs" />
<Compile Include="V3\Common\DefaultConnectionParameters.cs" />
<Compile Include="V3\Common\MobileUser.cs" />
<Compile Include="V3\Constant.cs" />
<Compile Include="V3\Csatolmany\CsatolmanyListRequest.cs" />
<Compile Include="V3\Csatolmany\CsatolmanyResponse.cs" />
<Compile Include="V3\Enum\Adatszotar.cs" />
<Compile Include="V3\Enum\EnumRequest.cs" />
<Compile Include="V3\Enum\EnumResponse.cs" />
<Compile Include="V3\Enum\ErtekelesLekeresTipusEnum.cs" />
<Compile Include="V3\Enum\FelhasznaloSzerepkor.cs" />
<Compile Include="V3\Enum\MockUserName.cs" />
<Compile Include="V3\Ertekeles\ErtekelesRequest.cs" />
<Compile Include="V3\Ertekeles\ErtekelesResponse.cs" />
<Compile Include="V3\Felmentes\FelmentesRequest.cs" />
<Compile Include="V3\Igazolas\IgazolasCreateRequest.cs" />
<Compile Include="V3\Igazolas\IgazolasResponse.cs" />
<Compile Include="V3\Orarend\SzamonkeresRequest.cs" />
<Compile Include="V3\OsztalyCsoport\BejelentettSzamonkeresekRequest.cs" />
<Compile Include="V3\OsztalyCsoport\BejelentettSzamonkeresekResponse.cs" />
<Compile Include="V3\Orarend\FelmentesResponse.cs" />
<Compile Include="V3\Orarend\HetirendListRequest.cs" />
<Compile Include="V3\Orarend\HetirendListResponse.cs" />
<Compile Include="V3\Orarend\OraNaplozasTorlesRequest.cs" />
<Compile Include="V3\Ora\FeljegyzesResponse.cs" />
<Compile Include="V3\Ora\OraFeljegyzesRequest.cs" />
<Compile Include="V3\Ora\OraFeljegyzesResponse.cs" />
<Compile Include="V3\Ora\TanuloJelenletRequest.cs" />
<Compile Include="V3\Ora\TanuloJelenletResponse.cs" />
<Compile Include="V3\OsztalyCsoport\MondatbankRequest.cs" />
<Compile Include="V3\OsztalyCsoport\MondatbankResponse.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloRequest.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesRequest.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportGondviseloResponse.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportResponse.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloAdatokResponse.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyokCsoportokResponse.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesekRequest.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesekResponse.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloErtekelesMentesRequest.cs" />
<Compile Include="V3\OsztalyCsoport\TanuloForOsztalyCsoportErtekelesRequest.cs" />
<Compile Include="V3\Ertekeles\TanuloMentessegResponse.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatUpdateRequest.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatCreateRequest.cs" />
<Compile Include="V3\HaziFeladat\HaziFeladatResponse.cs" />
<Compile Include="V3\Indexers\UidsCollection.cs" />
<Compile Include="V3\Interfaces\IModelValidacio.cs" />
<Compile Include="V3\Interfaces\IReadonlyUidRaw.cs" />
<Compile Include="V3\Interfaces\IRequestUidFilter.cs" />
<Compile Include="V3\Interfaces\IRequestUidsFilter.cs" />
<Compile Include="V3\Interfaces\ISortable.cs" />
<Compile Include="V3\Intezmeny\IntezmenyAdatok.cs" />
<Compile Include="V3\Iskolaor\IskolaorResponse.cs" />
<Compile Include="V3\Logic\UidLogic.cs" />
<Compile Include="V3\Orarend\MulasztasForOraNaplozasRequest.cs" />
<Compile Include="V3\Orarend\OrarendElemSimplified.cs" />
<Compile Include="V3\Orarend\TanuloForOraNaplozasListRequest.cs" />
<Compile Include="V3\Orarend\OrarendElemRequest.cs" />
<Compile Include="V3\Orarend\OrarendElemResponse.cs" />
<Compile Include="V3\Orarend\OraNaplozasRequest.cs" />
<Compile Include="V3\Orarend\OrarendRequest.cs" />
<Compile Include="V3\Tanar\BeallitasokRequest.cs" />
<Compile Include="V3\Tanar\TantargyFelosztasResponse.cs" />
<Compile Include="V3\Tanar\BeallitasokResponse.cs" />
<Compile Include="V3\Tanar\ProfilResponse.cs" />
<Compile Include="V3\Orarend\TanuloJelenletRequest.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesekRequest.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportTanuloResponse.cs" />
<Compile Include="V3\OsztalyCsoport\OsztalyCsoportErtekelesekResponse.cs" />
<Compile Include="V3\Tanmenet\TanmenetItemListResponse.cs" />
<Compile Include="V3\Tanmenet\TanmenetListResponse.cs" />
<Compile Include="V3\Tanmenet\TanmenetRequest.cs" />
<Compile Include="V3\Orarend\TanuloJelenletResponse.cs" />
<Compile Include="V3\UniqueIdentifier\AdatszotarUid.cs" />
<Compile Include="V3\UniqueIdentifier\IntezmenyUid.cs" />
<Compile Include="V3\UniqueIdentifier\OrarendElemUid.cs" />
<Compile Include="V3\Utility\Extensions.cs" />
<Compile Include="V3\Utility\ValidationAttributes\EnumToDescriptionAttribute.cs" />
<Compile Include="V3\Utility\ValidationAttributes\ShortDateTimeAttribute.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</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.DataAccessManual\Kreta.DataAccessManual.csproj">
<Project>{3212F2BF-6883-48B4-9F7D-0DFF4C826221}</Project>
<Name>Kreta.DataAccessManual</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kreta.Enums\Kreta.Enums.csproj">
<Project>{1D5E0AC2-DFAB-4D32-9AD1-B5788A7D06BD}</Project>
<Name>Kreta.Enums</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Kreta.Resources\Kreta.Resources.csproj">
<Project>{DFCB4D33-B599-42B2-98C6-B60FD220DB0C}</Project>
<Name>Kreta.Resources</Name>
</ProjectReference>
<ProjectReference Include="..\Kreta.Naplo.Dao\Kreta.Naplo.Dao.csproj">
<Project>{0B9D719F-127A-4269-A05D-F65C055705DA}</Project>
<Name>Kreta.Naplo.Dao</Name>
</ProjectReference>
<ProjectReference Include="..\Kreta.Naplo.Infrastrucure\Kreta.Naplo.Infrastrucure.csproj">
<Project>{120e1b9d-daf1-4e96-a04e-9ac1dc551e8b}</Project>
<Name>Kreta.Naplo.Infrastrucure</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="V3\Tanulo\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -0,0 +1 @@


View file

@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using Kreta.Naplo.Infrastructure;
namespace Kreta.Naplo.Domain
{
/// <summary>
/// Service contect
/// </summary>
public class ServiceContext
{
/// <summary>
/// Institute code
/// </summary>
public string InstituteCode { get; }
/// <summary>
/// User identitier
/// </summary>
public int UserId { get; }
/// <summary>
/// User roles
/// </summary>
public IEnumerable<string> UserRoles { get; }
/// <summary>
/// Base url
/// </summary>
public string BaseUrl { get; }
public int SchoolYearId { get; }
/// <summary>
/// Api key
/// </summary>
public string ApiKey { get; }
/// <summary>
/// User agent
/// </summary>
public string UserAgent { get; }
/// <summary>
/// Constuctor
/// </summary>
/// <param name="instituteCode">Institute code</param>
/// <param name="userId">User Id</param>
/// <param name="userRoles">User roles</param>
/// <param name="baseUrl">Base url</param>
/// <param name="apiKey">Api key</param>
/// <param name="userAgent">User Agent</param>
public ServiceContext(string instituteCode, int userId, IEnumerable<string> userRoles, string baseUrl, string apiKey, string userAgent, int schoolYearId)
{
if (string.IsNullOrWhiteSpace(instituteCode))
{
throw new ArgumentException($"{nameof(InstituteCode)} cannot be null or white space");
}
this.InstituteCode = instituteCode;
if (userId < Constants.MinimumPrimaryKeyValue)
{
throw new ArgumentException($"{nameof(userId)} must be greater or equal than {Constants.MinimumPrimaryKeyValue}");
}
if (schoolYearId < Constants.MinimumPrimaryKeyValue)
{
throw new ArgumentException($"{nameof(schoolYearId)} must be greater or equal than {Constants.MinimumPrimaryKeyValue}");
}
this.SchoolYearId = schoolYearId;
this.UserId = userId;
this.UserRoles = userRoles ?? throw new ArgumentNullException(nameof(userRoles));
if (string.IsNullOrWhiteSpace(baseUrl))
{
throw new ArgumentException($"{nameof(baseUrl)} cannot be null or white space");
}
this.BaseUrl = baseUrl;
if (string.IsNullOrWhiteSpace(apiKey))
{
throw new ArgumentException($"{nameof(apiKey)} cannot be null or white space");
}
this.ApiKey = apiKey;
UserAgent = userAgent ?? throw new ArgumentNullException(nameof(userAgent));
}
}
}

Binary file not shown.

View file

@ -0,0 +1,15 @@
using System;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Converter
{
/// <summary>
/// This registers the converter functions called CoToModel and ModelToCo, but it's not mandatory to do.
/// </summary>
public static class EnumConverter
{
public static NaploEnumList CoToModel<T>(NaploEnumListCo<T> co) where T : struct, IConvertible => NaploEnumList.Create(co);
public static NaploEnumListItem CoToModel(NaploEnumListItemCo co) => co;
}
}

View file

@ -0,0 +1,67 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
using Kreta.Naplo.Domain.V2.Model.Get.OpenBoard;
using Kreta.Naplo.Domain.V2.Model.Get.Ora.JavasoltJelenletTemplate;
using Kreta.Naplo.Domain.V2.Model.Get.Orarend;
using Kreta.Naplo.Domain.V2.Model.Get.Tanar;
using Kreta.Naplo.Domain.V2.Model.Get.Tanmenet;
using Kreta.Naplo.Domain.V2.Model.Get.Tanulo;
using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet;
using OrarendiOraCo = Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet;
using TanitasiOraCo = Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
namespace Kreta.Naplo.Domain.V2.Model.Converter
{
/// <summary>
/// This registers the converter functions called CoToModel and ModelToCo, but it's not mandatory to do.
/// </summary>
public static class GetModelConverter
{
public static ProfilResponse CoToModel(ProfilResponseCo co) => co;
private static IskolaorResponse CoToModel(IskolaorResponseCo co) => co;
public static List<IskolaorResponse> CoToModel(List<IskolaorResponseCo> co) => co.ConvertAll(CoToModel);
private static OraGetResponse CoToModel(OraGetResponseCo co) => co;
public static List<OraGetResponse> CoToModel(List<OraGetResponseCo> co) => co.ConvertAll(CoToModel);
public static TanuloResponse CoToModel(TanuloResponseCo co) => co;
public static OsztalyTanuloiResponse CoToModel(OsztalyTanuloiResponseCo co) => co;
private static MulasztasResponse CoToModel(MulasztasResponseCo co) => co;
public static List<MulasztasResponse> CoToModel(List<MulasztasResponseCo> co) => co.ConvertAll(CoToModel);
private static FeljegyzesResponse CoToModel(FeljegyzesResponseCo co) => co;
public static List<FeljegyzesResponse> CoToModel(List<FeljegyzesResponseCo> co) => co.ConvertAll(CoToModel);
private static FeljegyzesInfoResponse CoToModel(FeljegyzesInfoResponseCo co) => co;
public static List<FeljegyzesInfoResponse> CoToModel(List<FeljegyzesInfoResponseCo> co) => co.ConvertAll(CoToModel);
private static TanmenetItemGetResponse CoToModel(TanmenetItemGetResponseCo co) => co;
public static List<TanmenetItemGetResponse> CoToModel(List<TanmenetItemGetResponseCo> co) => co.ConvertAll(CoToModel);
private static TanmenetGetResponse CoToModel(TanmenetGetResponseCo co) => co;
public static List<TanmenetGetResponse> CoToModel(List<TanmenetGetResponseCo> co) => co.ConvertAll(CoToModel);
private static OrarendiOra.JavasoltJelenletGetResponse CoToModel(OrarendiOraCo.JavasoltJelenletGetResponseCo co) => co;
public static List<OrarendiOra.JavasoltJelenletGetResponse> CoToModel(List<OrarendiOraCo.JavasoltJelenletGetResponseCo> co) => co.ConvertAll(CoToModel);
private static OrarendiOra.JavasoltJelenletSzuroGetResponse CoToModel(OrarendiOraCo.JavasoltJelenletSzuroGetResponseCo co) => co;
public static List<OrarendiOra.JavasoltJelenletSzuroGetResponse> CoToModel(List<OrarendiOraCo.JavasoltJelenletSzuroGetResponseCo> co) => co.ConvertAll(CoToModel);
private static TanitasiOra.JavasoltJelenletGetResponse CoToModel(TanitasiOraCo.JavasoltJelenletGetResponseCo co) => co;
public static List<TanitasiOra.JavasoltJelenletGetResponse> CoToModel(List<TanitasiOraCo.JavasoltJelenletGetResponseCo> co) => co.ConvertAll(CoToModel);
private static TanitasiOra.JavasoltJelenletSzuroGetResponse CoToModel(TanitasiOraCo.JavasoltJelenletSzuroGetResponseCo co) => co;
public static List<TanitasiOra.JavasoltJelenletSzuroGetResponse> CoToModel(List<TanitasiOraCo.JavasoltJelenletSzuroGetResponseCo> co) => co.ConvertAll(CoToModel);
private static JavasoltJelenletTemplateGetResponse CoToModel(JavasoltJelenletTemplateGetResponseCo co) => co;
public static List<JavasoltJelenletTemplateGetResponse> CoToModel(List<JavasoltJelenletTemplateGetResponseCo> co) => co.ConvertAll(CoToModel);
private static JavasoltJelenletTemplateItemGetResponse CoToModel(JavasoltJelenletTemplateItemGetResponseCo co) => co;
public static List<JavasoltJelenletTemplateItemGetResponse> CoToModel(List<JavasoltJelenletTemplateItemGetResponseCo> co) => co.ConvertAll(CoToModel);
private static OrarendiOra.JavasoltJelenletTanuloGetResponse CoToModel(OrarendiOraCo.JavasoltJelenletTanuloGetResponseCo co) => co;
public static List<OrarendiOra.JavasoltJelenletTanuloGetResponse> CoToModel(List<OrarendiOraCo.JavasoltJelenletTanuloGetResponseCo> co) => co.ConvertAll(CoToModel);
private static TanitasiOra.JavasoltJelenletTanuloGetResponse CoToModel(TanitasiOraCo.JavasoltJelenletTanuloGetResponseCo co) => co;
public static List<TanitasiOra.JavasoltJelenletTanuloGetResponse> CoToModel(List<TanitasiOraCo.JavasoltJelenletTanuloGetResponseCo> co) => co.ConvertAll(CoToModel);
public static FeltolthetoFajlokSzamaResponse CoToModel(FeltolthetoFajlokSzamaResponseCo co) => co;
private static NaploEnumListItem CoToModel(NaploEnumListItemCo co) => co;
public static List<NaploEnumListItem> CoToModel(List<NaploEnumListItemCo> co) => co.ConvertAll(CoToModel);
}
}

View file

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard;
using Kreta.Naplo.Domain.V2.Model.Get.OpenBoard;
using Kreta.Naplo.Domain.V2.Model.Get.Tanmenet;
using Kreta.Naplo.Domain.V2.Model.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.Post.Ertekeles;
using Kreta.Naplo.Domain.V2.Model.Post.Naplozas;
using Kreta.Naplo.Domain.V2.Model.Post.OpenBoard;
using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet;
using OrarendiOraCo = Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet;
using TanitasiOraCo = Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
namespace Kreta.Naplo.Domain.V2.Model.Converter
{
/// <summary>
/// This registers the converter functions called CoToModel and ModelToCo, but it's not mandatory to do.
/// </summary>
public static class PostModelConverter
{
#region Request
public static TanuloForOraNaplozasRequestCo ModelToCo(TanuloForOraNaplozasRequest model) => model;
public static List<TanuloForOraNaplozasRequestCo> ModelToCo(List<TanuloForOraNaplozasRequest> model) => model.ConvertAll(ModelToCo);
public static OraNaplozasRequestCo ModelToCo(OraNaplozasRequest model) => model;
public static List<OraNaplozasRequestCo> ModelToCo(List<OraNaplozasRequest> model) => model.ConvertAll(ModelToCo);
public static OsztalyCsoportErtekelesRequestCo ModelToCo(OsztalyCsoportErtekelesRequest model) => model;
public static List<OsztalyCsoportErtekelesRequestCo> ModelToCo(List<OsztalyCsoportErtekelesRequest> model) => model.ConvertAll(ModelToCo);
private static TanuloForOsztalyCsoportErtekelesRequestCo ModelToCo(TanuloForOsztalyCsoportErtekelesRequest model) => model;
public static List<TanuloForOsztalyCsoportErtekelesRequestCo> ModelToCo(List<TanuloForOsztalyCsoportErtekelesRequest> model) => model.ConvertAll(ModelToCo);
private static TanmenetGetRequestCo ModelToCo(TanmenetGetRequest model) => model;
public static List<TanmenetGetRequestCo> ModelToCo(List<TanmenetGetRequest> model) => model.ConvertAll(ModelToCo);
public static FeltoltottFajlRequestCo ModelToCo(FeltoltottFajlRequest model) => model;
public static FeltolthetoFajlokSzamaRequestCo ModelToCo(FeltolthetoFajlokSzamaRequest model) => model;
public static ErtekelesGetRequestCo ModelToCo(ErtekelesGetRequest model) => model;
private static TanmenetKeyGetRequestCo ModelToCo(TanmenetKeyGetRequest model) => model;
public static TanmenetKeyGetRequestCo[] ModelToCo(TanmenetKeyGetRequest[] model) => Array.ConvertAll(model, ModelToCo);
private static OrarendiOraCo.JavasoltJelenletKeyGetRequestCo ModelToCo(OrarendiOra.JavasoltJelenletKeyGetRequest model) => model;
public static OrarendiOraCo.JavasoltJelenletKeyGetRequestCo[] ModelToCo(OrarendiOra.JavasoltJelenletKeyGetRequest[] model) => Array.ConvertAll(model, ModelToCo);
private static TanitasiOraCo.JavasoltJelenletKeyGetRequestCo ModelToCo(TanitasiOra.JavasoltJelenletKeyGetRequest model) => model;
public static TanitasiOraCo.JavasoltJelenletKeyGetRequestCo[] ModelToCo(TanitasiOra.JavasoltJelenletKeyGetRequest[] model) => Array.ConvertAll(model, ModelToCo);
#endregion Request
#region Response
private static OraNaplozasResponse CoToModel(OraNaplozasResponseCo co) => co;
public static List<OraNaplozasResponse> CoToModel(List<OraNaplozasResponseCo> co) => co.ConvertAll(CoToModel);
private static ErtekelesResponse CoToModel(ErtekelesResponseCo co) => co;
public static List<ErtekelesResponse> CoToModel(List<ErtekelesResponseCo> co) => co.ConvertAll(CoToModel);
public static FeltoltottFajlResponse CoToModel(FeltoltottFajlResponseCo co) => co;
private static ErtekelesGetResponse CoToModel(ErtekelesGetResponseCo co) => co;
public static List<ErtekelesGetResponse> CoToModel(List<ErtekelesGetResponseCo> co) => co.ConvertAll(CoToModel);
#endregion Response
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Naplo.Domain.V2.Interface
{
public interface IGetRequest
{
string Hash { get; set; }
}
}

Binary file not shown.

View file

@ -0,0 +1,31 @@
using System;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
namespace Kreta.Naplo.Domain.V2.Model.CustomEnum
{
public class NaploEnum
{
public static implicit operator int(NaploEnum naploEnum) => naploEnum.Id;
public static implicit operator int?(NaploEnum naploEnum) => naploEnum?.Id;
public int Id { get; set; }
public string Nev { get; set; }
private NaploEnum() { }
public static NaploEnum Create<T>(NaploEnumCo<T> co) where T : struct, IConvertible
{
if (co == null)
return null;
return new NaploEnum
{
Id = co.Id,
Nev = co.Nev
};
}
public static NaploEnumCo<T> Create<T>(NaploEnum model) where T : struct, IConvertible
{
if (model == null)
return null;
return new NaploEnumCo<T>(model.Id);
}
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
using Kreta.Naplo.Domain.V2.Model.Converter;
namespace Kreta.Naplo.Domain.V2.Model.CustomEnum
{
public class NaploEnumList
{
public List<NaploEnumListItem> ElemLista { get; set; }
/// <summary>
/// Returns an NaploEnumList Instance that has been converted from NaploEnumListCO
/// </summary>
public static NaploEnumList Create<T>(NaploEnumListCo<T> co) where T : struct, IConvertible
=> new NaploEnumList
{
ElemLista = co.ElemLista.ConvertAll(EnumConverter.CoToModel)
};
}
}

View file

@ -0,0 +1,19 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
namespace Kreta.Naplo.Domain.V2.Model.CustomEnum
{
public class NaploEnumListItem
{
public int Id { get; set; }
public string Nev { get; set; }
/// public string Leiras { get; set; }
public static implicit operator NaploEnumListItem(NaploEnumListItemCo co) => new NaploEnumListItem
{
Id = co.Id,
/// TODO Nev = co.Nev
Nev = co.Description /// TODO rename Leiras
};
}
}

View file

@ -0,0 +1,18 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Enum;
using Kreta.Enums.ManualEnums.WebApi.Naplo;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Enum
{
public class EnumRequest : IGetRequest
{
public string Hash { get; set; }
public EngedelyezettEnumok EngedelyezettEnumName { get; set; }
public static implicit operator EnumRequestCo(EnumRequest model) => new EnumRequestCo
{
Hash = model.Hash,
EngedelyezettEnum = (int)model.EngedelyezettEnumName
};
}
}

View file

@ -0,0 +1,16 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard;
namespace Kreta.Naplo.Domain.V2.Model.Get.OpenBoard
{
public class FeltolthetoFajlokSzamaRequest
{
public int? OrarendiOraId { get; set; }
public int? TanitasiOraId { get; set; }
public static implicit operator FeltolthetoFajlokSzamaRequestCo(FeltolthetoFajlokSzamaRequest model) => new FeltolthetoFajlokSzamaRequestCo
{
OrarendiOraId = model.OrarendiOraId,
TanitasiOraId = model.TanitasiOraId
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard;
using Kreta.Core.Validation.Exceptions;
namespace Kreta.Naplo.Domain.V2.Model.Get.OpenBoard
{
public class FeltolthetoFajlokSzamaResponse
{
public int FeltolthetoFajlokSzama { get; set; }
public ValidationException Exception { get; set; }
public static implicit operator FeltolthetoFajlokSzamaResponse(FeltolthetoFajlokSzamaResponseCo co) => new FeltolthetoFajlokSzamaResponse
{
FeltolthetoFajlokSzama = co.FeltolthetoFajlokSzama,
Exception = co.Exception
};
}
}

View file

@ -0,0 +1,18 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.JavasoltJelenletTemplate
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
using Kreta.Enums.ManualEnums;
using Kreta.Naplo.Domain.V2.Interface;
public class JavasoltJelenletTemplateGetRequest : IGetRequest
{
public string Hash { get; set; }
public TanoraAllapotaEnum OraAllapot { get; set; }
public static implicit operator JavasoltJelenletTemplateGetRequestCo(JavasoltJelenletTemplateGetRequest model) => new JavasoltJelenletTemplateGetRequestCo
{
Hash = model.Hash,
OraAllapot = model.OraAllapot
};
}
}

View file

@ -0,0 +1,23 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.JavasoltJelenletTemplate
{
public class JavasoltJelenletTemplateGetResponse
{
public int Prioritas { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public JavasoltJelenletTemplateType Tipus { get; set; }
public List<JavasoltJelenletTemplateItemGetResponse> SzuroElemLista { get; set; }
public static implicit operator JavasoltJelenletTemplateGetResponse(JavasoltJelenletTemplateGetResponseCo co) => new JavasoltJelenletTemplateGetResponse
{
Prioritas = co.Prioritas,
Tipus = co.Tipus,
SzuroElemLista = CoToModel(co.SzuroElemLista)
};
}
}

View file

@ -0,0 +1,21 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.JavasoltJelenletTemplate
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
using Kreta.Enums;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
public class JavasoltJelenletTemplateItemGetResponse
{
public bool IsDefault { get; set; }
public bool IsEnabled { get; set; }
public NaploEnum MulasztasTipusAdatszotar { get; set; }
public static implicit operator JavasoltJelenletTemplateItemGetResponse(JavasoltJelenletTemplateItemGetResponseCo co) => new JavasoltJelenletTemplateItemGetResponse
{
IsDefault = co.IsDefault,
IsEnabled = co.IsEnabled,
MulasztasTipusAdatszotar = NaploEnum.Create<MulasztasTipusEnum>(co.MulasztasTipusAdatszotar)
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet
{
public class JavasoltJelenletGetRequest
{
public JavasoltJelenletKeyGetRequest[] Key { get; set; }
public static implicit operator JavasoltJelenletGetRequestCo(JavasoltJelenletGetRequest model) => new JavasoltJelenletGetRequestCo
{
Key = ModelToCo(model.Key)
};
}
}

View file

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet
{
public class JavasoltJelenletGetResponse
{
public int OrarendiOraId { get; set; }
public DateTime OraKezdetDatumaUtc { get; set; }
public List<JavasoltJelenletTanuloGetResponse> TanuloLista { get; set; }
public static implicit operator JavasoltJelenletGetResponse(JavasoltJelenletGetResponseCo co) => new JavasoltJelenletGetResponse
{
OrarendiOraId = co.OrarendiOraId,
OraKezdetDatumaUtc = co.OraKezdetDatuma.ToUniversalTime(),
TanuloLista = CoToModel(co.TanuloLista)
};
}
}

View file

@ -0,0 +1,22 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet
{
using System;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
public class JavasoltJelenletKeyGetRequest
{
public DateTime OraKezdetDatumaUtc { get; set; }
public DateTime OraVegDatumaUtc { get; set; }
public int OrarendiOraId { get; set; }
public static implicit operator JavasoltJelenletKeyGetRequestCo(JavasoltJelenletKeyGetRequest model) => new JavasoltJelenletKeyGetRequestCo
{
OrarendiOraId = model.OrarendiOraId,
OraKezdetDatuma = model.OraKezdetDatumaUtc,
OraVegDatuma = model.OraVegDatumaUtc
};
}
}

View file

@ -0,0 +1,22 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public class JavasoltJelenletSzuroGetResponse
{
public string Megjegyzes { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public JavasoltJelenletTemplateType Tipus { get; set; }
public static implicit operator JavasoltJelenletSzuroGetResponse(JavasoltJelenletSzuroGetResponseCo co) => new JavasoltJelenletSzuroGetResponse
{
Megjegyzes = co.Megjegyzes,
Tipus = co.Tipus
};
}
}

View file

@ -0,0 +1,18 @@
using System.Collections.Generic;
using System.Linq;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet
{
public class JavasoltJelenletTanuloGetResponse
{
public int TanuloId { get; set; }
public List<JavasoltJelenletSzuroGetResponse> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
public static implicit operator JavasoltJelenletTanuloGetResponse(JavasoltJelenletTanuloGetResponseCo co) => new JavasoltJelenletTanuloGetResponse
{
TanuloId = co.TanuloId,
JavasoltJelenletTemplateTipusSzuroLista = CoToModel(co.JavasoltJelenletTemplateTipusSzuroLista.Cast<JavasoltJelenletSzuroGetResponseCo>().ToList())
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet
{
public class JavasoltJelenletGetRequest
{
public JavasoltJelenletKeyGetRequest[] Key { get; set; }
public static implicit operator JavasoltJelenletGetRequestCo(JavasoltJelenletGetRequest model) => new JavasoltJelenletGetRequestCo
{
Key = ModelToCo(model.Key)
};
}
}

View file

@ -0,0 +1,19 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet
{
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
public class JavasoltJelenletGetResponse
{
public int TanitasiOraId { get; set; }
public List<JavasoltJelenletTanuloGetResponse> TanuloLista { get; set; }
public static implicit operator JavasoltJelenletGetResponse(JavasoltJelenletGetResponseCo co) => new JavasoltJelenletGetResponse
{
TanitasiOraId = co.TanitasiOraId,
TanuloLista = CoToModel(co.TanuloLista)
};
}
}

View file

@ -0,0 +1,14 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
public class JavasoltJelenletKeyGetRequest
{
public int TanitasiOraId { get; set; }
public static implicit operator JavasoltJelenletKeyGetRequestCo(JavasoltJelenletKeyGetRequest model) => new JavasoltJelenletKeyGetRequestCo
{
TanitasiOraId = model.TanitasiOraId
};
}
}

View file

@ -0,0 +1,22 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public class JavasoltJelenletSzuroGetResponse
{
public string Megjegyzes { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public JavasoltJelenletTemplateType Tipus { get; set; }
public static implicit operator JavasoltJelenletSzuroGetResponse(JavasoltJelenletSzuroGetResponseCo co) => new JavasoltJelenletSzuroGetResponse
{
Megjegyzes = co.Megjegyzes,
Tipus = co.Tipus
};
}
}

View file

@ -0,0 +1,18 @@
using System.Collections.Generic;
using System.Linq;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet
{
public class JavasoltJelenletTanuloGetResponse
{
public int TanuloId { get; set; }
public List<JavasoltJelenletSzuroGetResponse> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
public static implicit operator JavasoltJelenletTanuloGetResponse(JavasoltJelenletTanuloGetResponseCo co) => new JavasoltJelenletTanuloGetResponse
{
TanuloId = co.TanuloId,
JavasoltJelenletTemplateTipusSzuroLista = CoToModel(co.JavasoltJelenletTemplateTipusSzuroLista.Cast<JavasoltJelenletSzuroGetResponseCo>().ToList())
};
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Orarend
{
public class OraGetRequest : IGetRequest
{
public string Hash { get; set; }
[Required]
public DateTime DatumUtc { get; set; }
public static implicit operator OraGetRequestCo(OraGetRequest model) => new OraGetRequestCo
{
Hash = model.Hash,
Datum = model.DatumUtc
};
}
}

View file

@ -0,0 +1,55 @@
using System;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend;
using Kreta.BusinessLogic.Utils;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Get.Orarend
{
public class OraGetResponse
{
public int? OrarendiOraId { get; set; }
public int? TanitasiOraId { get; set; }
public NaploEnum Allapot { get; set; }
public DateTime KezdeteUtc { get; set; }
public DateTime VegeUtc { get; set; }
public int? EvesOraszam { get; set; }
public int? Oraszam { get; set; }
public bool IsElmaradt { get; set; }
public string Tema { get; set; }
public int TantargyId { get; set; }
public string TantargyNev { get; set; }
public string TantargyKategoria { get; set; }
public int OsztalyCsoportId { get; set; }
public string OsztalyCsoportNev { get; set; }
public string TeremNev { get; set; }
public string HazifeladatSzovege { get; set; }
public int? HazifeladatId { get; set; }
public DateTime? HazifeladatHataridoUtc { get; set; }
public TanarSimplifiedGetResponse OraTulajdonosTanar { get; set; }
public int? HelyettesitoId { get; set; }
public static implicit operator OraGetResponse(OraGetResponseCo co) => new OraGetResponse
{
OrarendiOraId = co.OrarendiOraId,
TanitasiOraId = co.TanitasiOraId,
Allapot = NaploEnum.Create(co.Allapot),
KezdeteUtc = co.Kezdete.ToUniversalTime(),
VegeUtc = co.Vege.ToUniversalTime(),
EvesOraszam = co.EvesOraszam,
Oraszam = co.Oraszam,
IsElmaradt = co.IsElmaradt,
Tema = co.Tema,
TantargyId = co.TantargyId,
TantargyNev = co.TantargyNev,
TantargyKategoria = co.TantargyKategoria,
HelyettesitoId = co.HelyettesitoId,
OsztalyCsoportId = co.OsztalyCsoportId,
OsztalyCsoportNev = co.OsztalyCsoportNev,
TeremNev = co.TeremNev,
HazifeladatSzovege = CommonUtils.RemoveHtmlTags(co.HazifeladatSzovege),
HazifeladatId = co.HazifeladatId,
OraTulajdonosTanar = co.OraTulajdonosTanar,
HazifeladatHataridoUtc = co.HazifeladatHatarido?.ToUniversalTime(),
};
}
}

View file

@ -0,0 +1,17 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Orarend
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend;
public class TanarSimplifiedGetResponse
{
public int Id { get; set; }
public string Nev { get; set; }
public static implicit operator TanarSimplifiedGetResponse(TanarSimplifiedGetResponseCo co) => co == null ? null : new TanarSimplifiedGetResponse
{
Id = co.Id,
Nev = co.Nev
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanar
{
public class IskolaorRequest : IGetRequest
{
public string Hash { get; set; }
public static implicit operator IskolaorRequestCo(IskolaorRequest model) => new IskolaorRequestCo
{
Hash = model.Hash
};
}
}

View file

@ -0,0 +1,28 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanar
{
public class IskolaorResponse
{
public int Id { get; set; }
public string IdpEgyediAzonosito { get; set; }
public string Nev { get; set; }
public int FeladatEllatasiHelyId { get; set; }
public string FeladatEllatasiHely { get; set; }
public string EmailCim { get; set; }
public string Telefonszam { get; set; }
public string IntezmenyAzonosito { get; set; }
public static implicit operator IskolaorResponse(IskolaorResponseCo co) => new IskolaorResponse
{
Id = co.Id,
IdpEgyediAzonosito = co.IdpEgyediAzonosito,
Nev = co.Nev,
FeladatEllatasiHelyId = co.FeladatEllatasiHelyId,
FeladatEllatasiHely = co.FeladatEllatasiHely,
EmailCim = co.EmailCim,
Telefonszam = co.Telefonszam,
IntezmenyAzonosito = co.IntezmenyAzonosito
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanar
{
public class ProfilRequest : IGetRequest
{
public string Hash { get; set; }
public static implicit operator ProfilRequestCo(ProfilRequest model) => new ProfilRequestCo
{
Hash = model.Hash
};
}
}

View file

@ -0,0 +1,28 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanar
{
public class ProfilResponse
{
public int Id { get; set; }
public string Nev { get; set; }
public string Kep { get; set; }
public int FeladatEllatasiHelyId { get; set; }
public string FeladatEllatasiHely { get; set; }
public string PublikusEmailCim { get; set; }
public string MunkahelyiEmailCim { get; set; }
public string PublikusTelefonszam { get; set; }
public static implicit operator ProfilResponse(ProfilResponseCo co) => new ProfilResponse
{
Id = co.Id,
Nev = co.Nev,
Kep = co.Kep,
FeladatEllatasiHelyId = co.FeladatEllatasiHelyId,
FeladatEllatasiHely = co.FeladatEllatasiHely,
PublikusEmailCim = co.PublikusEmailCim,
MunkahelyiEmailCim = co.MunkahelyiEmailCim,
PublikusTelefonszam = co.PublikusTelefonszam
};
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanmenet
{
public class TanmenetGetRequest
{
public TanmenetKeyGetRequest[] Key { get; set; }
public static implicit operator TanmenetGetRequestCo(TanmenetGetRequest model) => new TanmenetGetRequestCo
{
Key = ModelToCo(model.Key)
};
}
}

View file

@ -0,0 +1,21 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
using static Kreta.Naplo.Domain.V2.Model.Converter.GetModelConverter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanmenet
{
public class TanmenetGetResponse
{
public int OsztalyCsoportId { get; set; }
public int TantargyId { get; set; }
public int FeltoltoTanarId { get; set; }
public List<TanmenetItemGetResponse> Items { get; set; }
public static implicit operator TanmenetGetResponse(TanmenetGetResponseCo co) => new TanmenetGetResponse
{
OsztalyCsoportId = co.OsztalyCsoportId,
TantargyId = co.TantargyId,
FeltoltoTanarId = co.FeltoltoTanarId,
Items = CoToModel(co.Items)
};
}
}

View file

@ -0,0 +1,25 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanmenet
{
public class TanmenetItemGetResponse
{
public int Id { get; set; }
public string Megjegyzes { get; set; }
public string Nev { get; set; }
public string RovidNev { get; set; }
public string Tema { get; set; }
public int EvesOraszam { get; set; }
public static implicit operator TanmenetItemGetResponse(TanmenetItemGetResponseCo co) => new TanmenetItemGetResponse
{
Id = co.Id,
Megjegyzes = co.Megjegyzes,
Nev = co.Nev,
RovidNev = co.RovidNev,
Tema = co.Tema,
EvesOraszam = co.EvesOraszam
};
}
}

View file

@ -0,0 +1,18 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanmenet
{
public class TanmenetKeyGetRequest
{
public int OsztalyCsoportId { get; set; }
public int TantargyId { get; set; }
public int FeltoltoTanarId { get; set; }
public static implicit operator TanmenetKeyGetRequestCo(TanmenetKeyGetRequest model) => new TanmenetKeyGetRequestCo
{
OsztalyCsoportId = model.OsztalyCsoportId,
TantargyId = model.TantargyId,
FeltoltoTanarId = model.FeltoltoTanarId
};
}
}

View file

@ -0,0 +1,20 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class ErtekelesFajta
{
public int? Osztalyzat { get; set; }
public string Szoveg { get; set; }
public int? Szazalek { get; set; }
public static implicit operator ErtekelesFajta(ErtekelesFajtaCo co) => new ErtekelesFajta
{
Osztalyzat = co.Osztalyzat,
Szoveg = co.Szoveg,
Szazalek = co.Szazalek
};
}
}

View file

@ -0,0 +1,20 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class ErtekelesGetRequest
{
[Required]
public int TanuloId { get; set; }
[Required]
public int TantargyId { get; set; }
public static implicit operator ErtekelesGetRequestCo(ErtekelesGetRequest model) => new ErtekelesGetRequestCo
{
TanuloId = model.TanuloId,
TantargyId = model.TantargyId
};
}
}

View file

@ -0,0 +1,34 @@
using System;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class ErtekelesGetResponse
{
public int Id { get; set; }
public ErtekelesFajta Ertekeles { get; set; }
public DateTime Datum { get; set; }
public NaploEnum Tipus { get; set; }
public NaploEnum Mod { get; set; }
public int Suly { get; set; }
public string Tema { get; set; }
public static implicit operator ErtekelesGetResponse(ErtekelesGetResponseCo co) => new ErtekelesGetResponse
{
Id = co.Id,
Ertekeles = co.Ertekeles,
Datum = co.Datum,
Tipus = NaploEnum.Create(co.Tipus),
Mod = NaploEnum.Create(co.Mod),
Suly = co.Suly,
Tema = co.Tema
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class FeljegyzesRequest : IGetRequest
{
public string Hash { get; set; }
public int TanoraId { get; set; }
public static implicit operator FeljegyzesRequestCo(FeljegyzesRequest model) => new FeljegyzesRequestCo
{
Hash = model.Hash,
TanoraId = model.TanoraId
};
}
}

View file

@ -0,0 +1,31 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.Converter;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class FeljegyzesResponse
{
public List<FeljegyzesInfoResponse> FeljegyzesLista { get; set; }
public int TanuloId { get; set; }
public static implicit operator FeljegyzesResponse(FeljegyzesResponseCo co) => new FeljegyzesResponse
{
FeljegyzesLista = GetModelConverter.CoToModel(co.FeljegyzesLista),
TanuloId = co.TanuloId,
};
}
public class FeljegyzesInfoResponse
{
public int Id { get; set; }
public NaploEnum Tipus { get; set; }
public static implicit operator FeljegyzesInfoResponse(FeljegyzesInfoResponseCo co) => new FeljegyzesInfoResponse
{
Id = co.Id,
Tipus = NaploEnum.Create(co.Tipus),
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class MulasztasRequest : IGetRequest
{
public string Hash { get; set; }
public int TanoraId { get; set; }
public static implicit operator MulasztasRequestCo(MulasztasRequest model) => new MulasztasRequestCo
{
Hash = model.Hash,
TanoraId = model.TanoraId
};
}
}

View file

@ -0,0 +1,21 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class MulasztasResponse
{
public int Id { get; set; }
public NaploEnum Tipus { get; set; }
public int? Keses { get; set; }
public int TanuloId { get; set; }
public static implicit operator MulasztasResponse(MulasztasResponseCo co) => new MulasztasResponse
{
Id = co.Id,
Tipus = NaploEnum.Create(co.Tipus),
Keses = co.Keses,
TanuloId = co.TanuloId
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Interface;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class OsztalyTanuloiRequest : IGetRequest
{
public string Hash { get; set; }
public int OsztalyCsoportId { get; set; }
public static implicit operator OsztalyTanuloiRequestCo(OsztalyTanuloiRequest model) => new OsztalyTanuloiRequestCo
{
Hash = model.Hash,
OsztalyCsoportId = model.OsztalyCsoportId
};
}
}

View file

@ -0,0 +1,20 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.Converter;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class OsztalyTanuloiResponse
{
public int Id { get; set; }
public string Nev { get; set; }
public List<TanuloResponse> TanuloLista { get; set; }
public static implicit operator OsztalyTanuloiResponse(OsztalyTanuloiResponseCo co) => new OsztalyTanuloiResponse
{
Id = co.Id,
Nev = co.Nev,
TanuloLista = co.TanuloLista.ConvertAll(GetModelConverter.CoToModel)
};
}
}

View file

@ -0,0 +1,17 @@
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
public class TanugyiAdatokGetResponse
{
public bool IsJogviszonySzunetelteto { get; set; }
public bool IsSzakmaiGyakorlatonLevo { get; set; }
public static implicit operator TanugyiAdatokGetResponse(TanugyiAdatokGetResponseCo co) => new TanugyiAdatokGetResponse
{
IsJogviszonySzunetelteto = co.IsJogviszonySzunetelteto,
IsSzakmaiGyakorlatonLevo = co.IsSzakmaiGyakorlatonLevo
};
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
namespace Kreta.Naplo.Domain.V2.Model.Get.Tanulo
{
public class TanuloResponse
{
public int Id { get; set; }
public string Nev { get; set; }
public string AnyjaNev { get; set; }
public DateTime SzuletesUtc { get; set; }
public TanugyiAdatokGetResponse TanugyiAdatok { get; set; }
public List<TanuloMentessegResponseCo> Felmentesek { get; set; }
public static implicit operator TanuloResponse(TanuloResponseCo co) => new TanuloResponse
{
Id = co.Id,
Nev = co.Nev,
AnyjaNev = co.AnyjaNev,
SzuletesUtc = co.Szuletes.ToUniversalTime(),
TanugyiAdatok = co.TanugyiAdatok,
Felmentesek = co.Felmentesek
};
}
}

Binary file not shown.

View file

@ -0,0 +1,22 @@
namespace Kreta.Naplo.Domain.V2.Model.Post.Ertekeles
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.Enums;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
public class ErtekelesRequest
{
public NaploEnum OsztalyzatTipus { get; set; }
public int? Szazalek { get; set; }
public string Szoveg { get; set; }
public static implicit operator ErtekelesRequestCo(ErtekelesRequest model) => new ErtekelesRequestCo
{
OsztalyzatTipus = NaploEnum.Create<OsztalyzatTipusEnum>(model.OsztalyzatTipus),
Szazalek = model.Szazalek,
Szoveg = model.Szoveg
};
}
}

View file

@ -0,0 +1,15 @@
namespace Kreta.Naplo.Domain.V2.Model.Post.Ertekeles
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.Core.Validation.Exceptions;
public class ErtekelesResponse
{
public ValidationException Exception { get; set; }
public static implicit operator ErtekelesResponse(ErtekelesResponseCo co) => new ErtekelesResponse
{
Exception = co.Exception,
};
}
}

View file

@ -0,0 +1,37 @@
namespace Kreta.Naplo.Domain.V2.Model.Post.Ertekeles
{
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.Enums;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
public class OsztalyCsoportErtekelesRequest
{
public DateTime DatumUtc { get; set; }
public NaploEnum Mod { get; set; }
public NaploEnum Tipus { get; set; }
public string Tema { get; set; }
public int OsztalyCsoportId { get; set; }
public int TantargyId { get; set; }
public List<TanuloForOsztalyCsoportErtekelesRequest> TanuloLista { get; set; }
public static implicit operator OsztalyCsoportErtekelesRequestCo(OsztalyCsoportErtekelesRequest model) => new OsztalyCsoportErtekelesRequestCo
{
Datum = model.DatumUtc.ToLocalTime().Date,
Mod = NaploEnum.Create<ErtekelesModEnum>(model.Mod),
Tipus = NaploEnum.Create<ErtekelesTipusEnum>(model.Tipus),
Tema = model.Tema,
OsztalyCsoportId = model.OsztalyCsoportId,
TantargyId = model.TantargyId,
TanuloLista = ModelToCo(model.TanuloLista)
};
}
}

View file

@ -0,0 +1,21 @@
namespace Kreta.Naplo.Domain.V2.Model.Post.Ertekeles
{
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
public class TanuloForOsztalyCsoportErtekelesRequest
{
public ErtekelesRequest Ertekeles { get; set; }
public int TanuloId { get; set; }
public int MobilId { get; set; }
public static implicit operator TanuloForOsztalyCsoportErtekelesRequestCo(TanuloForOsztalyCsoportErtekelesRequest model) => new TanuloForOsztalyCsoportErtekelesRequestCo
{
Ertekeles = model.Ertekeles,
TanuloId = model.TanuloId,
MobilId = model.MobilId
};
}
}

View file

@ -0,0 +1,18 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
using Kreta.Enums;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Post.Naplozas
{
public class MulasztasForOraNaplozasRequest
{
public NaploEnum Tipus { get; set; }
public int? Keses { get; set; }
public static implicit operator MulasztasForOraNaplozasRequestCo(MulasztasForOraNaplozasRequest model) => new MulasztasForOraNaplozasRequestCo
{
Tipus = NaploEnum.Create<MulasztasTipusEnum>(model.Tipus),
Keses = model.Keses
};
}
}

View file

@ -0,0 +1,48 @@
namespace Kreta.Naplo.Domain.V2.Model.Post.Naplozas
{
using System;
using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
using Kreta.BusinessLogic.Utils;
using static Kreta.Naplo.Domain.V2.Model.Converter.PostModelConverter;
public class OraNaplozasRequest
{
public DateTime DatumUtc { get; set; }
public string Hazifeladat { get; set; }
public DateTime? HazifeladatHataridoUtc { get; set; }
public int? HazifeladatId { get; set; }
public bool IsElmaradt { get; set; }
public int MobilId { get; set; }
public int? OrarendiOraId { get; set; }
public DateTime RogzitesDatumUtc { get; set; }
public int? TanitasiOraId { get; set; }
public List<TanuloForOraNaplozasRequest> TanuloLista { get; set; } = new List<TanuloForOraNaplozasRequest>();
public string Tema { get; set; }
public static implicit operator OraNaplozasRequestCo(OraNaplozasRequest model) => new OraNaplozasRequestCo
{
MobilId = model.MobilId,
OrarendiOraId = model.OrarendiOraId,
TanitasiOraId = model.TanitasiOraId,
Datum = model.DatumUtc.ToLocalTime(),
RogzitesDatum = model.RogzitesDatumUtc.ToLocalTime(),
IsElmaradt = model.IsElmaradt,
Tema = model.Tema,
HazifeladatId = model.HazifeladatId,
Hazifeladat = CommonUtils.ReplaceNewLineToHtmlTag(model.Hazifeladat),
HazifeladatHatarido = model.HazifeladatHataridoUtc?.ToLocalTime(),
TanuloLista = ModelToCo(model.TanuloLista)
};
}
}

View file

@ -0,0 +1,18 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
using Kreta.Core.Validation.Exceptions;
namespace Kreta.Naplo.Domain.V2.Model.Post.Naplozas
{
public class OraNaplozasResponse
{
public int MobilId { get; set; }
public ValidationException Exception { get; set; }
public static implicit operator OraNaplozasResponse(OraNaplozasResponseCo co) => new OraNaplozasResponse
{
MobilId = co.MobilId,
Exception = co.Exception
};
}
}

View file

@ -0,0 +1,22 @@
using System.Collections.Generic;
using System.Linq;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
using Kreta.Enums.ManualEnums;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
namespace Kreta.Naplo.Domain.V2.Model.Post.Naplozas
{
public class TanuloForOraNaplozasRequest
{
public int Id { get; set; }
public MulasztasForOraNaplozasRequest Mulasztas { get; set; }
public List<NaploEnum> FeljegyzesTipusLista { get; set; } = new List<NaploEnum>();
public static implicit operator TanuloForOraNaplozasRequestCo(TanuloForOraNaplozasRequest model) => new TanuloForOraNaplozasRequestCo
{
Id = model.Id,
Mulasztas = model.Mulasztas,
FeljegyzesTipusLista = model.FeljegyzesTipusLista.Select(x => NaploEnum.Create<FeljegyzesTipusEnum>(x)).ToList()
};
}
}

View file

@ -0,0 +1,20 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard;
namespace Kreta.Naplo.Domain.V2.Model.Post.OpenBoard
{
public class FeltoltottFajlRequest
{
public int? Id { get; set; }
public string ContentAsBase64EncodedString { get; set; }
public int? OrarendiOraId { get; set; }
public int? TanitasiOraId { get; set; }
public static implicit operator FeltoltottFajlRequestCo(FeltoltottFajlRequest model) => new FeltoltottFajlRequestCo
{
Id = model.Id,
ContentAsBase64EncodedString = model.ContentAsBase64EncodedString,
OrarendiOraId = model.OrarendiOraId,
TanitasiOraId = model.TanitasiOraId
};
}
}

View file

@ -0,0 +1,17 @@
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard;
using Kreta.Core.Validation.Exceptions;
namespace Kreta.Naplo.Domain.V2.Model.Post.OpenBoard
{
public class FeltoltottFajlResponse
{
public int FeltolthetoFajlokSzama { get; set; }
public ValidationException Exception { get; set; }
public static implicit operator FeltoltottFajlResponse(FeltoltottFajlResponseCo co) => new FeltoltottFajlResponse
{
FeltolthetoFajlokSzama = co.FeltolthetoFajlokSzama,
Exception = co.Exception
};
}
}

View file

@ -0,0 +1,30 @@
using System;
using System.Net;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co;
namespace Kreta.Naplo.Domain.V2.Model
{
public sealed class ResponseWrapper<T> where T : class, new()
{
public HttpStatusCode StatusCode { get; set; }
public DateTime UtolsoSzinkronDatumUtc { get; set; }
public string Hash { get; set; }
public T Adatcsomag { get; set; }
private ResponseWrapper() { }
/// <summary>
/// Returns an ResponseWrapper Instance that has been converted from ResponseWrapperCO
/// </summary>
/// <typeparam name="TIn">Co Type</typeparam>
/// <param name="modelConverter">The modelConverter for Adatcsomag prop</param>
public static ResponseWrapper<T> Create<TIn>(ResponseWrapperCo<TIn> co, Converter<TIn, T> modelConverter) where TIn : class, new()
=> new ResponseWrapper<T>
{
StatusCode = co.StatusCode,
UtolsoSzinkronDatumUtc = co.UtolsoSzinkronDatumUtc,
Hash = co.Hash,
Adatcsomag = co.Adatcsomag != null ? modelConverter(co.Adatcsomag) : null
};
}
}

View file

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model;
using Kreta.Naplo.Domain.V2.Model.Get.OpenBoard;
using Kreta.Naplo.Domain.V2.Model.Get.Orarend;
using Kreta.Naplo.Domain.V2.Model.Get.Tanmenet;
using Kreta.Naplo.Domain.V2.Model.Get.Tanulo;
using Kreta.Naplo.Domain.V2.Model.Post.Naplozas;
using Kreta.Naplo.Domain.V2.Model.Post.OpenBoard;
using OrarendiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.OrarendiOra.JavasoltJelenlet;
using TanitasiOra = Kreta.Naplo.Domain.V2.Model.Get.Ora.TanitasiOra.JavasoltJelenlet;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface ICommonService
{
Task<List<object>> ListTanmenetAsync(TanmenetGetRequest request);
Task<List<object>> ListJavasoltJelenletAsync(OrarendiOra.JavasoltJelenletGetRequest request);
Task<List<object>> ListJavasoltJelenletAsync(TanitasiOra.JavasoltJelenletGetRequest request);
Task<ResponseWrapper<List<object>>> ListJavasoltJelenletTemplateAsync(object request);
Task<ResponseWrapper<List<OraGetResponse>>> GetOraListaAsync(OraGetRequest request);
Task<List<OraNaplozasResponse>> OraNaplozasAsync(List<OraNaplozasRequest> request);
Task<FeltoltottFajlResponse> PostFajlFeltoltesAsync(FeltoltottFajlRequest request);
Task<FeltolthetoFajlokSzamaResponse> GetFeltolthetoFajlokSzamaAsync(FeltolthetoFajlokSzamaRequest request);
Task<List<ErtekelesGetResponse>> GetTanuloErtekeleseiAsync(ErtekelesGetRequest request);
}
}

View file

@ -0,0 +1,13 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model;
using Kreta.Naplo.Domain.V2.Model.CustomEnum;
using Kreta.Naplo.Domain.V2.Model.Get.Enum;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface IEnumService
{
Task<ResponseWrapper<List<NaploEnumListItem>>> GetNaploEnumAsync(EnumRequest request);
}
}

View file

@ -0,0 +1,11 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model.Post.Ertekeles;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface IErtekelesService
{
Task<List<ErtekelesResponse>> PostOsztalyCsoportErtekelesAsync(List<OsztalyCsoportErtekelesRequest> request);
}
}

View file

@ -0,0 +1,12 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model;
using Kreta.Naplo.Domain.V2.Model.Get.Tanar;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface IIskolaorService
{
Task<ResponseWrapper<List<IskolaorResponse>>> GetIskolaorAsync(IskolaorRequest request);
}
}

View file

@ -0,0 +1,15 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model;
using Kreta.Naplo.Domain.V2.Model.Get.Tanulo;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface IOraService
{
Task<ResponseWrapper<List<MulasztasResponse>>> GetMulasztasAsync(MulasztasRequest request);
Task<ResponseWrapper<List<FeljegyzesResponse>>> GetFeljegyzesAsync(FeljegyzesRequest request);
Task<ResponseWrapper<OsztalyTanuloiResponse>> GetOsztalyTanuloiAsync(OsztalyTanuloiRequest request);
}
}

View file

@ -0,0 +1,11 @@
using System.Threading.Tasks;
using Kreta.Naplo.Domain.V2.Model;
using Kreta.Naplo.Domain.V2.Model.Get.Tanar;
namespace Kreta.Naplo.Domain.V2.Service
{
public interface ITanarService
{
Task<ResponseWrapper<ProfilResponse>> GetProfilAsync(ProfilRequest request);
}
}

Binary file not shown.

View file

@ -0,0 +1,86 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.Naplo.Domain.V3.UniqueIdentifier;
namespace Kreta.Naplo.Domain.V3.Adatszotar
{
[Serializable]
public class Adatszotar<T> where T : System.Enum
{
private string _leiras;
public Adatszotar(int id)
{
Uid = new AdatszotarUid(id, GetEnumName(id));
}
public Adatszotar(int id, string leiras)
{
Uid = new AdatszotarUid(id, GetEnumName(id));
Leiras = leiras;
}
public Adatszotar(string leiras)
{
Uid = new AdatszotarUid(0, GetEnumName(0));
Leiras = leiras;
}
public Adatszotar(string nev, string leiras)
{
Uid = new AdatszotarUid(0, nev);
Leiras = leiras;
}
public string EnumTypeFullName => typeof(T).Name;
public string EnumTypeName => EnumTypeFullName.Replace("Enum", string.Empty).Replace("enum", string.Empty);
public static bool IsAdatszotarElem(int id) => id >= Constant.EgyedilegFelvettAdatSzotarElemStartIndex && string.IsNullOrWhiteSpace(System.Enum.GetName(typeof(T), id));
public string Leiras { get => _leiras ?? GetDisplayNameAttribute(); private set => _leiras = value; }
public AdatszotarUid Uid { get; private set; }
private string GetEnumName(int id) => id == 0 ? $"{typeof(T)}_{nameof(Enum.Adatszotar.IsmeretlenErtek)}"
: IsAdatszotarElem(id) ? nameof(Enum.Adatszotar.AdatszotarElem)
: System.Enum.GetName(typeof(T), id);
public override bool Equals(object obj) => obj is Adatszotar<T> @enum && Uid.Id == @enum.Uid.Id;
public T GetEnum() => (T)System.Enum.Parse(typeof(T), Uid.Nev);
public override int GetHashCode() => 2_108_858_624 + Uid.Id.GetHashCode();
private string GetDisplayNameAttribute()
{
if (string.IsNullOrWhiteSpace(Uid.Nev))
{
return null;
}
var fieldInfo = typeof(T).GetField(Uid.Nev);
if (fieldInfo != null)
{
var attributes = (DisplayAttribute)fieldInfo.GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault();
if (attributes != null)
{
return attributes.GetName();
}
}
return null;
}
public static implicit operator Adatszotar<T>(int id) => new Adatszotar<T>(id);
public static implicit operator Adatszotar<T>(T enumValue) => new Adatszotar<T>(Convert.ToInt32(enumValue));
public static bool operator !=(Adatszotar<T> lhsWrapper, T rhsEnum) => IsAdatszotarElem(lhsWrapper.Uid.Id) || !lhsWrapper.GetEnum().Equals(rhsEnum);
public static bool operator ==(Adatszotar<T> lhsWrapper, T rhsEnum) => !IsAdatszotarElem(lhsWrapper.Uid.Id) && lhsWrapper.GetEnum().Equals(rhsEnum);
}
}

View file

@ -0,0 +1,16 @@
namespace Kreta.Naplo.Domain.V3.Common
{
public class ApiSecurity
{
public ApiSecurity(string accessTokenRaw, string securityKey)
{
AccessTokenRaw = accessTokenRaw;
SecurityKey = securityKey;
Signature = AccessTokenRaw.Split('.')[2];
}
public string AccessTokenRaw { get; private set; }
public string SecurityKey { get; private set; }
public string Signature { get; private set; }
}
}

View file

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using Kreta.DataAccessManual.Interfaces;
using Kreta.Naplo.Dao.V3.Naplo;
using Kreta.Naplo.Domain.V3.Enum;
namespace Kreta.Naplo.Domain.V3.Common
{
public class DefaultConnectionParameters
{
public string IntezmenyAzonosito { get; }
public int IntezmenyId { get; }
public int TanevId { get; }
public int TanevSorszam { get; }
public int FelhasznaloId { get; }
public IEnumerable<FelhasznaloSzerepkor> JogosultsagLista { get; }
public IDalHandler DalHandler { get; set; }
public string UserName { get; }
public Guid UserIdpUniqueId { get; }
public Guid InstituteUniqueId { get; }
public DefaultConnectionParameters(MobileUser mobileUser, IntezmenyAdatokDao intezmenyAdatok, string intezmenyAzonosito)
{
IntezmenyAzonosito = intezmenyAzonosito;
FelhasznaloId = mobileUser.UserId;
JogosultsagLista = mobileUser.Roles;
UserName = mobileUser.UserName;
UserIdpUniqueId = mobileUser.UserIdpUniqueId;
TanevId = intezmenyAdatok.TanevId;
TanevSorszam = intezmenyAdatok.TanevSorszam;
IntezmenyId = intezmenyAdatok.IntezmenyId;
InstituteUniqueId = mobileUser.InstituteUniqueId;
}
}
}

View file

@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using Kreta.Naplo.Domain.V3.Enum;
namespace Kreta.Naplo.Domain.V3.Common
{
public class MobileUser
{
private const int MinimumIdentifierValue = 1;
public MobileUser(string instituteCode, int userId, string userName, IEnumerable<FelhasznaloSzerepkor> roles, int schoolYearId, Guid userIdpUniqueId, Guid instituteUniqueId)
{
if (string.IsNullOrWhiteSpace(instituteCode))
{
throw new ArgumentException($"{nameof(instituteCode)} cannot be null or whitespace");
}
InstituteCode = instituteCode;
if (userId < MinimumIdentifierValue)
{
throw new ArgumentException($"{nameof(userId)} must be greater or equal to {MinimumIdentifierValue}");
}
UserId = userId;
if (string.IsNullOrWhiteSpace(userName))
{
throw new ArgumentException($"{nameof(userName)} cannot be null or whitespace");
}
UserName = userName;
if (roles == null)
{
throw new ArgumentNullException(nameof(roles));
}
Roles = roles;
if (schoolYearId < MinimumIdentifierValue)
{
throw new ArgumentException($"{nameof(schoolYearId)} must be greater or equal to {MinimumIdentifierValue}");
}
SchoolYearId = schoolYearId;
UserIdpUniqueId = userIdpUniqueId;
InstituteUniqueId = instituteUniqueId;
}
public string InstituteCode { get; }
public int SchoolYearId { get; }
public IEnumerable<FelhasznaloSzerepkor> Roles { get; }
public int UserId { get; }
public string UserName { get; }
public Guid UserIdpUniqueId { get; }
public Guid InstituteUniqueId { get; }
}
}

View file

@ -0,0 +1,15 @@
namespace Kreta.Naplo.Domain.V3
{
public static class Constant
{
public static readonly char UidInnerDelimiter = ',';
public static readonly string UidNullValue = "null";
public static readonly string UidNanValue = "HibasUid";
public static readonly char UidDelimiter = ';';
public static readonly int EgyedilegFelvettAdatSzotarElemStartIndex = 100_000;
}
}

View file

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using Kreta.Naplo.Domain.V3.Orarend;
namespace Kreta.Naplo.Domain.V3.Csatolmany
{
public class CsatolmanyListRequest
{
public DateTime DatumTol { get; set; }
public DateTime DatumIg { get; set; }
public IEnumerable<OrarendElemSimplified> OrarendElemek { get; set; }
}
}

View file

@ -0,0 +1,15 @@
using System.Collections.Generic;
namespace Kreta.Naplo.Domain.V3.Csatolmany
{
public class CsatolmanyResponse : IEqualityComparer<CsatolmanyResponse>
{
public int Id { get; set; }
public string Nev { get; set; }
public bool Equals(CsatolmanyResponse x, CsatolmanyResponse y) => x.Id.Equals(y.Id);
public int GetHashCode(CsatolmanyResponse obj) => obj.Id.GetHashCode();
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Naplo.Domain.V3.Enum
{
public enum Adatszotar
{
IsmeretlenErtek,
AdatszotarElem
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Naplo.Domain.V3.Enum
{
public class EnumRequest
{
public string EnumTipus { get; set; }
}
}

View file

@ -0,0 +1,11 @@
namespace Kreta.Naplo.Domain.V3.Enum
{
public class EnumResponse
{
public int Id { get; set; }
public string Nev { get; set; }
public string Leiras { get; set; }
}
}

View file

@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace Kreta.Naplo.Domain.V3.Enum
{
public enum ErtekelesLekeresTipusEnum
{
[Display(Name = "Nem bizonyítvány típusú értékelések")]
NemBizonyitvanyErtekelesTipus,
[Display(Name = "Bizonyítvány típusú értékelések")]
BizonyitvanyErtekelesTipus,
[Display(Name = "Minden értékelés típus")]
MindenErtekelesTipus
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Naplo.Domain.V3.Enum
{
public enum FelhasznaloSzerepkor
{
Tanar,
Adminisztrator
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Naplo.Domain.V3.Enum
{
public enum MockUserName
{
None,
Farkase
}
}

View file

@ -0,0 +1,14 @@
using Kreta.Enums;
using Kreta.Naplo.Domain.V3.Adatszotar;
namespace Kreta.Naplo.Domain.V3.Ertekeles
{
public class ErtekelesRequest
{
public Adatszotar<OsztalyzatTipusEnum> OsztalyzatTipus { get; set; }
public string Szazalek { get; set; }
public string Szoveg { get; set; }
}
}

View file

@ -0,0 +1,13 @@
namespace Kreta.Naplo.Domain.V3.Ertekeles
{
public class ErtekelesResponse
{
public int? OsztalyzatTipus { get; set; }
public int? Szazalek { get; set; }
public string Szoveg { get; set; }
public int TipusId { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using System;
namespace Kreta.Naplo.Domain.V3.Ertekeles
{
public class TanuloMentessegResponse
{
public bool ErtekelesAloliFelmentes { get; set; }
public bool TanoraLatogatasaAloliFelmentes { get; set; }
public bool SzovegesenErtekelheto { get; set; }
public string FelmentesOka { get; set; }
public bool IsMaganTanulo { get; set; }
public bool IsSzakmaiGyakorlatonLevo { get; set; }
public bool IsJogviszonySzunetelteto { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Naplo.Domain.V3.Utility.ValidationAttributes;
namespace Kreta.Naplo.Domain.V3.Felmentes
{
public class FelmentesRequest
{
[Required]
public int OsztalyCsoportId { get; set; }
[Required]
public DateTime Datum { get; set; }
public int? TanuloId { get; set; }
public int? TantargyId { get; set; }
}
}

View file

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.Naplo.Domain.V3.Interfaces;
namespace Kreta.Naplo.Domain.V3.HaziFeladat
{
public class HaziFeladatCreateRequest : IValidatableObject, IModelValidacio<HaziFeladatCreateRequest>
{
public string Szoveg { get; set; }
public DateTime BeadasiHatarido { get; set; }
public DateTime OraDatum { get; set; }
public int? Oraszam { get; set; }
public int TantargyId { get; set; }
public int OsztalyCsoportId { get; set; }
public Dictionary<Predicate<HaziFeladatCreateRequest>, string> ModelValidaciok => new Dictionary<Predicate<HaziFeladatCreateRequest>, string>
{
{ x => string.IsNullOrWhiteSpace(x.Szoveg), "Házi feladat szövege nem lehet üres!" },
{ x => x.BeadasiHatarido < DateTime.Today.AddDays(1), "Házi feladat nem rögzíthető korábbi határidővel, mint a holnapi!" },
{ x => x.BeadasiHatarido < x.OraDatum, "Házi feladat határideje nem lehet korábban, mint az óra dátuma!" }
};
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using Kreta.Naplo.Domain.V3.Csatolmany;
namespace Kreta.Naplo.Domain.V3.HaziFeladat
{
public class HaziFeladatResponse
{
public int Id { get; set; }
public string Szoveg { get; set; }
public DateTime? HataridoDatuma { get; set; }
public int TantargyId { get; set; }
public string TantargyNev { get; set; }
public IEnumerable<CsatolmanyResponse> Csatolmanyok { get; set; }
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.Naplo.Domain.V3.Interfaces;
namespace Kreta.Naplo.Domain.V3.HaziFeladat
{
public class HaziFeladatUpdateRequest : IValidatableObject, IModelValidacio<HaziFeladatUpdateRequest>
{
public string Szoveg { get; set; }
public DateTime HataridoDatuma { get; set; }
public int? CsatolmanyId { get; set; }
public Dictionary<Predicate<HaziFeladatUpdateRequest>, string> ModelValidaciok => new Dictionary<Predicate<HaziFeladatUpdateRequest>, string>
{
{ x => string.IsNullOrWhiteSpace(x.Szoveg), "Házi feladata szöveg nem lehet üres!" },
{ x => x.HataridoDatuma < DateTime.Today.AddDays(1), "Házi feladat nem rögzíthető korábbi határidővel, mint a holnapi!" }
};
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
}
}

View file

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.SqlTypes;
using System.Linq;
using Kreta.Enums;
using Kreta.Naplo.Domain.V3.Interfaces;
namespace Kreta.Naplo.Domain.V3.Igazolas
{
public class IgazolasCreateRequest : IValidatableObject, IModelValidacio<IgazolasCreateRequest>
{
[Required]
public int TanuloId { get; set; }
[Required]
public int OsztalyCsoportId { get; set; }
[Required]
public DateTime IgazolasKezdete { get; set; }
[Required]
public DateTime IgazolasVege { get; set; }
[Required]
public int IgazolasTipus { get; set; }
public string IgazolasMegjegyzes { get; set; }
public Dictionary<Predicate<IgazolasCreateRequest>, string> ModelValidaciok => new Dictionary<Predicate<IgazolasCreateRequest>, string>
{
{ x => x.IgazolasVege < x.IgazolasKezdete, $"A {nameof(IgazolasKezdete)} és a {nameof(IgazolasVege)} paraméterek meg vannak adva, de a {nameof(IgazolasKezdete)} nagyobb, mint a {nameof(IgazolasVege)} értek!" },
{ x => (x.IgazolasVege - x.IgazolasKezdete).Days > 20, $"A {nameof(IgazolasKezdete)} és a {nameof(IgazolasVege)} paraméterek meg vannak adva, de maximum 20 napos intervallum adható meg!" },
{ x => x.IgazolasKezdete < (DateTime)SqlDateTime.MinValue || x.IgazolasKezdete > (DateTime)SqlDateTime.MaxValue, $"A {nameof(IgazolasKezdete)} paraméter nem lehet kisebb, mint 1753. január 1. és nagyobb, mint 9999. december 31.!" },
{ x => x.IgazolasVege < (DateTime)SqlDateTime.MinValue || x.IgazolasVege > (DateTime)SqlDateTime.MaxValue, $"A {nameof(IgazolasVege)} paraméter nem lehet kisebb, mint 1753. január 1. és nagyobb, mint 9999. december 31.!" },
{ x => !System.Enum.IsDefined(typeof(IgazolasTipusEnum), x.IgazolasTipus), "Az igazolás típusa nem megfelelő!" }
};
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
}
}

View file

@ -0,0 +1,21 @@
using System;
namespace Kreta.Naplo.Domain.V3.Igazolas
{
public class IgazolasResponse
{
public int Id { get; set; }
public DateTime Kezdete { get; set; }
public DateTime Vege { get; set; }
public int Tipusa { get; set; }
public string Megjegyzes { get; set; }
public string Rogzito { get; set; }
public bool Torolheto { get; set; }
}
}

View file

@ -0,0 +1,50 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Kreta.Core.Enum;
using Kreta.Core.Exceptions;
using Kreta.Naplo.Domain.V3.Interfaces;
namespace Kreta.Naplo.Domain.V3.Indexers
{
public class UidsCollection<T> : IEnumerable<T> where T : class, IReadonlyUidRaw
{
private readonly List<T> _uids = new List<T>();
public UidsCollection(string uidsRaw, Converter<string[], T> uidsConverter)
{
if (string.IsNullOrWhiteSpace(uidsRaw))
{
return;
}
string[] uidArray = uidsRaw.Split(Constant.UidDelimiter);
if (uidArray.Length > 50)
{
throw new BlException(BlExceptionType.ListaTobbMint50ElemetTartalmaz);
}
_uids = new List<T>(uidArray.Length);
for (int i = 0; i < uidArray.Length; i++)
{
_uids.Add(GetUid(uidArray[i]));
}
T GetUid(string uidRaw)
{
string[] compositeKey = uidRaw.Split(Constant.UidInnerDelimiter);
T uid = uidsConverter.Invoke(compositeKey);
return uid;
}
}
public T this[int index] => _uids[index];
public IEnumerator GetEnumerator() => throw new NotImplementedException();
IEnumerator<T> IEnumerable<T>.GetEnumerator() => _uids.GetEnumerator();
}
}

View file

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace Kreta.Naplo.Domain.V3.Interfaces
{
public interface IModelValidacio<T>
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
Dictionary<Predicate<T>, string> ModelValidaciok { get; }
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Naplo.Domain.V3.Interfaces
{
public interface IReadonlyUidRaw
{
string UidRaw { get; }
}
}

View file

@ -0,0 +1,9 @@
namespace Kreta.Naplo.Domain.V3.Interfaces
{
public interface IRequestUidFilter<T> where T : class, IReadonlyUidRaw
{
T Uid { get; set; }
bool IsCallerGetOnlyOneItem { get; set; }
}
}

View file

@ -0,0 +1,9 @@
using Kreta.Naplo.Domain.V3.Indexers;
namespace Kreta.Naplo.Domain.V3.Interfaces
{
public interface IRequestUidsFilter<T> where T : class, IReadonlyUidRaw
{
UidsCollection<T> Uids { get; }
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Naplo.Domain.V3.Interfaces
{
public interface ISortable
{
int SortIndex { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using System.Collections.Generic;
using Kreta.Naplo.Domain.V3.UniqueIdentifier;
namespace Kreta.Naplo.Domain.V3.Intezmeny
{
public class IntezmenyAdatok : IEqualityComparer<IntezmenyAdatok>
{
public IntezmenyUid Uid { get; set; }
public string Azonosito { get; set; }
public string TeljesNev { get; set; }
public string RovidNev { get; set; }
public bool Equals(IntezmenyAdatok x, IntezmenyAdatok y) => x.Uid.Equals(x.Uid, y.Uid);
public int GetHashCode(IntezmenyAdatok obj) => obj.Uid.UidRaw.GetHashCode();
}
}

Some files were not shown because too many files have changed in this diff Show more