init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,9 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo
|
||||
{
|
||||
public class NaploFacade : NaploFacadeBase
|
||||
{
|
||||
public NaploFacade(MobileUser mobileUser) : base(mobileUser) { }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo
|
||||
{
|
||||
public class NaploFacadeBase
|
||||
{
|
||||
protected DefaultConnectionParameters DefaultConnectionParameters { get; }
|
||||
protected MobileUser MobileUser { get; }
|
||||
|
||||
private NaploFacadeBase() { }
|
||||
public NaploFacadeBase(MobileUser mobileUser)
|
||||
{
|
||||
MobileUser = mobileUser;
|
||||
DefaultConnectionParameters = new DefaultConnectionParameters(mobileUser);
|
||||
}
|
||||
}
|
||||
}
|
156
Kreta.BusinessLogic/Classes/MobileApi/Naplo/NaploFacadeV2.cs
Normal file
156
Kreta.BusinessLogic/Classes/MobileApi/Naplo/NaploFacadeV2.cs
Normal file
|
@ -0,0 +1,156 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.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.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.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Post;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.UtilityMethods;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.DataAccessManual;
|
||||
using OrarendiOra = V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
|
||||
using TanitasiOra = V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
|
||||
|
||||
public class NaploFacadeV2 : NaploFacade
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public NaploFacadeV2(MobileUser mobileUser, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(mobileUser)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
#region Tanar
|
||||
|
||||
public ResponseWrapperCo<ProfilResponseCo> Profil(ProfilRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<ProfilResponseCo>(request.Hash);
|
||||
returnObject.FillData(TanarGetSubqueries.Profil(base.MobileUser.UserId, DefaultConnectionParameters));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public ResponseWrapperCo<List<IskolaorResponseCo>> Iskolaor(IskolaorRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<IskolaorResponseCo>>(request.Hash);
|
||||
returnObject.FillData(IskolaorGetSubqueries.Iskolaor(base.MobileUser.UserId, DefaultConnectionParameters));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
#endregion Tanar
|
||||
|
||||
#region Orarend
|
||||
|
||||
public ResponseWrapperCo<List<OraGetResponseCo>> OraLista(OraGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return OrarendGetSubqueries.OraLista(base.MobileUser.UserId, h, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.TanevId, request, DefaultConnectionParameters.IntezmenyAzonosito);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public List<OraNaplozasResponseCo> CreateOraNaplozas(List<OraNaplozasRequestCo> request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return OrarendPostSubqueries.CreateOraNaplozas(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, request, fileServiceHelper, coreApiClient);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
#endregion Orarend
|
||||
|
||||
#region Ora
|
||||
#region OrarendiOra
|
||||
|
||||
public List<OrarendiOra.JavasoltJelenletGetResponseCo> ListJavasoltJelenlet(OrarendiOra.JavasoltJelenletGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return OrarendiOraSubqueries.ListJavasoltJelenlet(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h, request, null);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
#endregion OrarendiOra
|
||||
|
||||
#region TanitasiOra
|
||||
|
||||
public List<TanitasiOra.JavasoltJelenletGetResponseCo> ListJavasoltJelenlet(TanitasiOra.JavasoltJelenletGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return TanitasiOraSubqueries.ListJavasoltJelenlet(base.MobileUser.UserId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h, request, Enums.OktNevelesiKategoriaEnum.NevelesOktatas);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
#endregion TanitasiOra
|
||||
|
||||
public ResponseWrapperCo<List<FeljegyzesResponseCo>> FeljegyzesLista(FeljegyzesRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return OraSubqueries.FeljegyzesLista(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public ResponseWrapperCo<List<MulasztasResponseCo>> MulasztasLista(MulasztasRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<MulasztasResponseCo>>(request.Hash);
|
||||
returnObject.FillData(OraSubqueries.MulasztasLista(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public ResponseWrapperCo<OsztalyTanuloiResponseCo> GetOsztalyTanuloi(OsztalyTanuloiRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<OsztalyTanuloiResponseCo>(request.Hash);
|
||||
request.OraShortDatuma = DateTime.Now; ///TODO @DevKornel OraDatuma bekötése, hogy vizsgalja, ki van besorolva az adott napon
|
||||
returnObject.FillData(OraSubqueries.GetOsztalyTanuloi(base.MobileUser.UserId, request, DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.TanevId));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public ResponseWrapperCo<List<JavasoltJelenletTemplateGetResponseCo>> ListJavasoltJelenletTemplate(JavasoltJelenletTemplateGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<JavasoltJelenletTemplateGetResponseCo>>(request.Hash);
|
||||
returnObject.FillData(OraSubqueries.ListJavasoltJelenletTemplate(base.MobileUser.UserId, request));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
#endregion Ora
|
||||
|
||||
#region Enum
|
||||
|
||||
public ResponseWrapperCo<List<NaploEnumListItemCo>> GetNaploEnum(EnumRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<NaploEnumListItemCo>>(request.Hash);
|
||||
returnObject.FillData(EnumSubqueries.GetNaploEnum(h, DefaultConnectionParameters.TanevId, request));
|
||||
return returnObject;
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
#endregion Enum
|
||||
|
||||
#region Tanmenet
|
||||
|
||||
public List<TanmenetGetResponseCo> ListTanmenet(TanmenetGetRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return TanmenetSubqueries.ListTanmenet(h, base.MobileUser.UserId, DefaultConnectionParameters.TanevId, DefaultConnectionParameters.IntezmenyId, DefaultConnectionParameters.IntezmenyAzonosito, request);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
#endregion Tanmenet
|
||||
|
||||
#region Ertekeles
|
||||
|
||||
public List<ErtekelesResponseCo> CreateOsztalyCsoportErtekeles(List<OsztalyCsoportErtekelesRequestCo> request) => ErtekelesPostSubqueries.CreateOsztalyCsoportErtekeles(MobileUser.UserId, DefaultConnectionParameters, request);
|
||||
|
||||
public List<ErtekelesGetResponseCo> GetTanuloErtekelesei(ErtekelesGetRequestCo request)
|
||||
=> TanuloErtekeleseiGetSubqueries.GetTanuloErtekelesei(DefaultConnectionParameters, request);
|
||||
|
||||
#endregion Ertekeles
|
||||
|
||||
#region OpenBoard
|
||||
public FeltoltottFajlResponseCo CreateFajlFeltoltes(FeltoltottFajlRequestCo request) => Dal.MobileConnection.Run(DefaultConnectionParameters.IntezmenyAzonosito, DefaultConnectionParameters.TanevId, h =>
|
||||
{
|
||||
return FeltoltottFajlPostSubqueries.CreateFajlFeltoltes(h, fileServiceHelper, DefaultConnectionParameters, request);
|
||||
}, DefaultConnectionParameters.FelhasznaloId);
|
||||
|
||||
public FeltolthetoFajlokSzamaResponseCo GetFeltolthetoFajlokSzama(FeltolthetoFajlokSzamaRequestCo request)
|
||||
=> FeltolthetoFajlokSzamaGetSubqueries.GetFeltolthetoFajlokSzama(DefaultConnectionParameters, request);
|
||||
#endregion OpenBoard
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum
|
||||
{
|
||||
public enum ErtekelesErtekFajta
|
||||
{
|
||||
None,
|
||||
[Display(Name = "Elégtelen (1) és Jeles (5) között az öt alapértelmezett érték")]
|
||||
Osztalyzat = 1,
|
||||
[Display(Name = "Szöveges értékelés")]
|
||||
Szoveges = 2,
|
||||
[Display(Name = "Százalékos értékelés")]
|
||||
Szazalekos = 3,
|
||||
[Display(Name = "Rossz, Változó, Jó, Példás")]
|
||||
MagatartasErtek = 4,
|
||||
[Display(Name = "Hanyag, Változó, Jó, Példás")]
|
||||
SzorgalomErtek = 5
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum
|
||||
{
|
||||
public class NaploEnumCo<T> where T : struct, IConvertible
|
||||
{
|
||||
public static implicit operator NaploEnumCo<T>(int id) => new NaploEnumCo<T>(id);
|
||||
public static implicit operator NaploEnumCo<T>(T enumValue) => new NaploEnumCo<T>(Convert.ToInt32(enumValue));
|
||||
public static bool operator ==(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => lhsWrapperCo.GetEnum().Equals(rhsEnum);
|
||||
public static bool operator !=(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => !lhsWrapperCo.GetEnum().Equals(rhsEnum);
|
||||
|
||||
public string EnumTypeNameWPostFix => typeof(T).Name;
|
||||
public string EnumTypeName => EnumTypeNameWPostFix.Replace("Enum", "").Replace("enum", "");
|
||||
public bool IsGeneratedEnum => !string.IsNullOrWhiteSpace(Nev);
|
||||
|
||||
public T GetEnum()
|
||||
{
|
||||
T enumValue;
|
||||
|
||||
if (!System.Enum.TryParse<T>(Nev, out enumValue))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NemEngedelyezettVagyNemLetezoEnum);
|
||||
}
|
||||
|
||||
return enumValue;
|
||||
}
|
||||
public int Id { get; private set; }
|
||||
public string Nev { get; private set; }
|
||||
|
||||
public NaploEnumCo(int id)
|
||||
{
|
||||
Fill(id);
|
||||
if (!typeof(T).IsEnum)
|
||||
{
|
||||
throw new ArgumentException("T must be an enum");
|
||||
}
|
||||
}
|
||||
|
||||
private void Fill(int id)
|
||||
{
|
||||
Id = id;
|
||||
Nev = System.Enum.GetName(typeof(T), id);
|
||||
if (!typeof(T).IsEnum)
|
||||
{
|
||||
throw new ArgumentException("T must be an enum");
|
||||
}
|
||||
}
|
||||
|
||||
public NaploEnumCo(int id, string nev)
|
||||
{
|
||||
Id = id;
|
||||
Nev = nev;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum
|
||||
{
|
||||
public class NaploEnumListCo<T> where T : struct, IConvertible
|
||||
{
|
||||
private T KretaEnum { get; }
|
||||
public List<NaploEnumListItemCo> ElemLista { get; } = new List<NaploEnumListItemCo>();
|
||||
|
||||
public string EnumTypeNameWPostFix => typeof(T).Name;
|
||||
public string EnumTypeName => EnumTypeNameWPostFix.Replace("Enum", "").Replace("enum", "");
|
||||
|
||||
public NaploEnumListCo()
|
||||
{
|
||||
if (!typeof(T).IsEnum)
|
||||
throw new ArgumentException("T must be an enum");
|
||||
}
|
||||
|
||||
public void Fill(List<KeyValuePair<int, string>> idAndDescriptionList)
|
||||
{
|
||||
foreach (var idAndDescription in idAndDescriptionList)
|
||||
{
|
||||
ElemLista.Add(new NaploEnumListItemCo(idAndDescription.Key, System.Enum.GetName(typeof(T), idAndDescription.Key), idAndDescription.Value));
|
||||
}
|
||||
}
|
||||
public void Fill(int id, string description)
|
||||
{
|
||||
ElemLista.Add(new NaploEnumListItemCo(id, System.Enum.GetName(typeof(T), id), description));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum
|
||||
{
|
||||
public class NaploEnumListItemCo
|
||||
{
|
||||
public int Id { get; }
|
||||
public string Name { get; }
|
||||
public string Description { get; }
|
||||
|
||||
public NaploEnumListItemCo(int Id, string name, string description)
|
||||
{
|
||||
this.Id = Id;
|
||||
this.Name = name;
|
||||
this.Description = description;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums.ManualEnums.WebApi.Naplo;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Enum
|
||||
{
|
||||
public class EnumRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
public NaploEnumCo<EngedelyezettEnumok> EngedelyezettEnum { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes
|
||||
{
|
||||
public class FelmentesGetRequestCo
|
||||
{
|
||||
public IEnumerable<int> TanuloIds { get; set; }
|
||||
public int FelhasznaloId { get; set; }
|
||||
public int IntezmenyId { get; set; }
|
||||
public string IntezmenyAzonosito { get; set; }
|
||||
public int TanevId { get; set; }
|
||||
public int TantargyId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes
|
||||
{
|
||||
using System;
|
||||
|
||||
public class FelmentesGetResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public bool IsErtekelesAlolFelmentett { get; set; }
|
||||
|
||||
public bool IsOralatogatasAlolFelmentett { get; set; }
|
||||
|
||||
public bool IsSzovegesenErtekelheto { get; set; }
|
||||
|
||||
public string FelmentesOkSzovege { get; set; }
|
||||
|
||||
public DateTime? KezdetDatuma { get; set; }
|
||||
|
||||
public int TantargyId { get; set; }
|
||||
|
||||
public string TantargyNev { get; set; }
|
||||
|
||||
public DateTime? VegDatuma { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard
|
||||
{
|
||||
public class FeltolthetoFajlokSzamaRequestCo
|
||||
{
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? TanitasiOraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using Kreta.Core.Validation.Exceptions;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard
|
||||
{
|
||||
public class FeltolthetoFajlokSzamaResponseCo
|
||||
{
|
||||
public int FeltolthetoFajlokSzama { get; set; }
|
||||
public ValidationException Exception { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common
|
||||
{
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
|
||||
public interface IJavasoltJelenletSzuroGetResponseCo
|
||||
{
|
||||
string Megjegyzes { get; set; }
|
||||
|
||||
JavasoltJelenletTemplateType Tipus { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common
|
||||
{
|
||||
public interface IJavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
int TanuloId { get; set; }
|
||||
List<IJavasoltJelenletSzuroGetResponseCo> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetRequestCo
|
||||
{
|
||||
public JavasoltJelenletKeyGetRequestCo[] Key { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetResponseCo
|
||||
{
|
||||
public int TantargyId { get; set; }
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
public DateTime OraKezdetDatuma { get; set; }
|
||||
public List<JavasoltJelenletTanuloGetResponseCo> TanuloLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet
|
||||
{
|
||||
using System;
|
||||
|
||||
public class JavasoltJelenletKeyGetRequestCo
|
||||
{
|
||||
public DateTime OraKezdetDatuma { get; set; }
|
||||
|
||||
public DateTime OraVegDatuma { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public int TantargyId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet
|
||||
{
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
|
||||
public class JavasoltJelenletSzuroGetResponseCo : IJavasoltJelenletSzuroGetResponseCo
|
||||
{
|
||||
public JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType tipus)
|
||||
{
|
||||
this.Megjegyzes = Constant.GetMegjegyzesByJavasoltJelenletTemplateType(tipus);
|
||||
this.Tipus = tipus;
|
||||
}
|
||||
|
||||
private JavasoltJelenletSzuroGetResponseCo()
|
||||
{
|
||||
}
|
||||
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public JavasoltJelenletTemplateType Tipus { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletTanuloGetResponseCo : IJavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
public List<IJavasoltJelenletSzuroGetResponseCo> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate
|
||||
{
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
public class JavasoltJelenletTemplateGetRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
public TanoraAllapotaEnum OraAllapot { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate
|
||||
{
|
||||
public class JavasoltJelenletTemplateGetResponseCo
|
||||
{
|
||||
public int Prioritas { get; set; }
|
||||
public JavasoltJelenletTemplateType Tipus { get; set; }
|
||||
public List<JavasoltJelenletTemplateItemGetResponseCo> SzuroElemLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate
|
||||
{
|
||||
public class JavasoltJelenletTemplateItemGetResponseCo : IEquatable<JavasoltJelenletTemplateItemGetResponseCo>
|
||||
{
|
||||
public JavasoltJelenletTemplateItemGetResponseCo(bool isDefault, bool isEnabled, MulasztasTipusEnum mulasztasTipusAdatszotar)
|
||||
{
|
||||
IsDefault = isDefault;
|
||||
IsEnabled = isEnabled;
|
||||
MulasztasTipusAdatszotar = mulasztasTipusAdatszotar;
|
||||
}
|
||||
|
||||
public bool IsDefault { get; set; }
|
||||
public bool IsEnabled { get; set; }
|
||||
public MulasztasTipusEnum MulasztasTipusAdatszotar { get; set; }
|
||||
|
||||
public bool Equals(JavasoltJelenletTemplateItemGetResponseCo other) => MulasztasTipusAdatszotar == other.MulasztasTipusAdatszotar;
|
||||
|
||||
public override int GetHashCode() => MulasztasTipusAdatszotar.GetHashCode();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetRequestCo
|
||||
{
|
||||
public JavasoltJelenletKeyGetRequestCo[] Key { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetResponseCo
|
||||
{
|
||||
public int OrarendiOraId { get; set; }
|
||||
public DateTime OraKezdetDatuma { get; set; }
|
||||
public List<JavasoltJelenletTanuloGetResponseCo> TanuloLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletKeyGetRequestCo
|
||||
{
|
||||
public int OrarendiOraId { get; set; }
|
||||
public DateTime OraKezdetDatuma { get; set; }
|
||||
public DateTime OraVegDatuma { get; set; }
|
||||
public bool IsHelyettesitesKeresoAltalTalaltOra { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet
|
||||
{
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
|
||||
public class JavasoltJelenletSzuroGetResponseCo : IJavasoltJelenletSzuroGetResponseCo
|
||||
{
|
||||
public JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType tipus)
|
||||
{
|
||||
this.Megjegyzes = Constant.GetMegjegyzesByJavasoltJelenletTemplateType(tipus);
|
||||
this.Tipus = tipus;
|
||||
}
|
||||
|
||||
private JavasoltJelenletSzuroGetResponseCo()
|
||||
{
|
||||
}
|
||||
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public JavasoltJelenletTemplateType Tipus { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletTanuloGetResponseCo : IJavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
public List<IJavasoltJelenletSzuroGetResponseCo> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetRequestCo
|
||||
{
|
||||
public JavasoltJelenletKeyGetRequestCo[] Key { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletGetResponseCo
|
||||
{
|
||||
public int TanitasiOraId { get; set; }
|
||||
public List<JavasoltJelenletTanuloGetResponseCo> TanuloLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletKeyGetRequestCo
|
||||
{
|
||||
public int TanitasiOraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet
|
||||
{
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
|
||||
public class JavasoltJelenletSzuroGetResponseCo : IJavasoltJelenletSzuroGetResponseCo
|
||||
{
|
||||
public JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType tipus)
|
||||
{
|
||||
this.Megjegyzes = Constant.GetMegjegyzesByJavasoltJelenletTemplateType(tipus);
|
||||
this.Tipus = tipus;
|
||||
}
|
||||
|
||||
private JavasoltJelenletSzuroGetResponseCo()
|
||||
{
|
||||
}
|
||||
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public JavasoltJelenletTemplateType Tipus { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet
|
||||
{
|
||||
public class JavasoltJelenletTanuloGetResponseCo : IJavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
public List<IJavasoltJelenletSzuroGetResponseCo> JavasoltJelenletTemplateTipusSzuroLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend
|
||||
{
|
||||
public class OraGetRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
public DateTime Datum { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend
|
||||
{
|
||||
public class OraGetResponseCo
|
||||
{
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? TanitasiOraId { get; set; }
|
||||
public NaploEnumCo<TanoraAllapotaEnum> Allapot { get; set; }
|
||||
public DateTime Kezdete { get; set; }
|
||||
public DateTime Vege { get; set; }
|
||||
public int? Oraszam { get; set; }
|
||||
public int? EvesOraszam { 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? HazifeladatHatarido { get; set; }
|
||||
public TanarSimplifiedGetResponseCo OraTulajdonosTanar { get; set; }
|
||||
public int? HelyettesitoId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend
|
||||
{
|
||||
public class TanarSimplifiedGetResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Nev { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar
|
||||
{
|
||||
public class IskolaorRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar
|
||||
{
|
||||
public class IskolaorResponseCo
|
||||
{
|
||||
public int Id { 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 IdpEgyediAzonosito { get; set; }
|
||||
public string IntezmenyAzonosito { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar
|
||||
{
|
||||
public class ProfilRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar
|
||||
{
|
||||
public class ProfilResponseCo
|
||||
{
|
||||
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; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet
|
||||
{
|
||||
public class TanmenetGetRequestCo
|
||||
{
|
||||
public TanmenetKeyGetRequestCo[] Key { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet
|
||||
{
|
||||
public class TanmenetGetResponseCo
|
||||
{
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
public int TantargyId { get; set; }
|
||||
public int FeltoltoTanarId { get; set; }
|
||||
public List<TanmenetItemGetResponseCo> Items { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet
|
||||
{
|
||||
public class TanmenetItemGetResponseCo
|
||||
{
|
||||
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; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet
|
||||
{
|
||||
public class TanmenetKeyGetRequestCo
|
||||
{
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
public int TantargyId { get; set; }
|
||||
public int FeltoltoTanarId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class ErtekelesFajtaCo
|
||||
{
|
||||
public int? Osztalyzat { get; set; }
|
||||
|
||||
public string Szoveg { get; set; }
|
||||
|
||||
public int? Szazalek { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class ErtekelesGetRequestCo
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public int TantargyId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class ErtekelesGetResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public ErtekelesFajtaCo Ertekeles { get; set; }
|
||||
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
public NaploEnumCo<ErtekelesTipusEnum> Tipus { get; set; }
|
||||
|
||||
public NaploEnumCo<ErtekelesModEnum> Mod { get; set; }
|
||||
|
||||
public int Suly { get; set; }
|
||||
|
||||
public string Tema { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
using System;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class ErtekelesResponseDao
|
||||
{
|
||||
[ColumnName("TipusId")]
|
||||
public int TipusId { get; set; }
|
||||
|
||||
[ColumnName("TipusId_DNAME")]
|
||||
public string TipusNeve { get; set; }
|
||||
|
||||
[ColumnName("Datum")]
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
[ColumnName("ID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[ColumnName("ErtekeloId")]
|
||||
public int ErtekeloId { get; set; }
|
||||
|
||||
[ColumnName("ErtekeloNyomtatasiNev")]
|
||||
public string ErtekeloNyomtatasiNev { get; set; }
|
||||
|
||||
[ColumnName("IsMagatartasSzorgalom")]
|
||||
public bool IsMagatartasSzorgalom { get; set; }
|
||||
|
||||
[ColumnName("RogzitesDatum")]
|
||||
public DateTime RogzitesDatum { get; set; }
|
||||
|
||||
[ColumnName("OsztalyCsoportId")]
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesModId")]
|
||||
public int? ErtekelesModId { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesModId_DNAME")]
|
||||
public string ErtekelesModNeve { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesTema")]
|
||||
public string ErtekelesTema { get; set; }
|
||||
|
||||
[ColumnName("TantargyId")]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
[ColumnName("TantargyNev")]
|
||||
public string TantargyNev { get; set; }
|
||||
|
||||
[ColumnName("TantargyKategoriaId")]
|
||||
public int? TantargyKategoriaId { get; set; }
|
||||
|
||||
[ColumnName("TantargyKategoriaId_DNAME")]
|
||||
public string TantargyKategoriaNeve { get; set; }
|
||||
|
||||
[ColumnName("IsFotargy")]
|
||||
public bool? IsFotargy { get; set; }
|
||||
|
||||
[ColumnName("SorSzam")]
|
||||
public int? SorSzam { get; set; }
|
||||
|
||||
[ColumnName("FotargyId")]
|
||||
public int? FotargyId { get; set; }
|
||||
|
||||
[ColumnName("FotargyNev")]
|
||||
public string FotargyNev { get; set; }
|
||||
|
||||
[ColumnName("FotargyTantargyKategoriaId")]
|
||||
public int? FotargyTantargyKategoriaId { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesOsztalyzatId_DNAME")]
|
||||
public string ErtekelesOsztalyzatNeve { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesSzoveg")]
|
||||
public string ErtekelesSzoveg { get; set; }
|
||||
|
||||
[ColumnName("SzovegesErtekelesRovidNev")]
|
||||
public string SzovegesErtekelesRovidNev { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesSzovegFormazott")]
|
||||
public string ErtekelesSzovegFormazott { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesSzazalek")]
|
||||
public int? ErtekelesSzazalekErteke { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesOsztalyzatId")]
|
||||
public int? ErtekelesOsztalyzatId { get; set; }
|
||||
|
||||
[ColumnName("ErtekelesSuly")]
|
||||
public int ErtekelesSuly { get; set; }
|
||||
|
||||
[ColumnName("MagatartasOsztalyzatId_DNAME")]
|
||||
public string MagatartasOsztalyzatSzovegesen { get; set; }
|
||||
|
||||
[ColumnName("MagatartasSzoveg")]
|
||||
public string MagatartasSzoveg { get; set; }
|
||||
|
||||
[ColumnName("MagatartasSzovegFormazott")]
|
||||
public string MagatartasSzovegFormazott { get; set; }
|
||||
|
||||
[ColumnName("MagatartasErtekId_DNAME")]
|
||||
public string MagatartasErtekSzovegesen { get; set; }
|
||||
|
||||
[ColumnName("MagatartasOsztalyzatId")]
|
||||
public int? MagatartasOsztalyzatId { get; set; }
|
||||
|
||||
[ColumnName("SzorgalomOsztalyzatId_DNAME")]
|
||||
public string SzorgalomOsztalyzatSzovegesen { get; set; }
|
||||
|
||||
[ColumnName("SzorgalomSzoveg")]
|
||||
public string SzorgalomSzoveg { get; set; }
|
||||
|
||||
[ColumnName("SzorgalomSzovegFormazott")]
|
||||
public string SzorgalomSzovegFormazott { get; set; }
|
||||
|
||||
[ColumnName("SzorgalomErtekId_DNAME")]
|
||||
public string SzorgalomErtekSzoveges { get; set; }
|
||||
|
||||
[ColumnName("SzorgalomOsztalyzatId")]
|
||||
public int? SzorgalomOsztalyzatId { get; set; }
|
||||
|
||||
[ColumnName("TanuloId")]
|
||||
public int TanuloId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class FeljegyzesRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
public int TanoraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class FeljegyzesResponseCo
|
||||
{
|
||||
public List<FeljegyzesInfoResponseCo> FeljegyzesLista { get; set; }
|
||||
public int TanuloId { get; set; }
|
||||
}
|
||||
|
||||
public class FeljegyzesInfoResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public NaploEnumCo<EsemenyTipusEnum> Tipus { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class MulasztasRequestCo
|
||||
{
|
||||
public string Hash { get; set; }
|
||||
public int TanoraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class MulasztasResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public NaploEnumCo<MulasztasTipusEnum> Tipus { get; set; }
|
||||
public int? Keses { get; set; }
|
||||
public int TanuloId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
using System;
|
||||
|
||||
public class OsztalyTanuloiRequestCo
|
||||
{
|
||||
private DateTime? oraShortDatuma;
|
||||
|
||||
public string Hash { get; set; }
|
||||
|
||||
public DateTime? OraShortDatuma { get => this.oraShortDatuma; set => this.oraShortDatuma = value?.Date; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class OsztalyTanuloiResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Nev { get; set; }
|
||||
public List<TanuloResponseCo> TanuloLista { get; set; } = new List<TanuloResponseCo>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class TanugyiAdatokGetResponseCo
|
||||
{
|
||||
public bool IsJogviszonySzunetelteto { get; set; }
|
||||
|
||||
public bool IsSzakmaiGyakorlatonLevo { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class TanuloMentessegResponseCo
|
||||
{
|
||||
public int TantargyId { get; set; }
|
||||
public bool IsErtkelesMentesseg { get; set; }
|
||||
public bool IsSzovegesenErtekelheto { get; set; }
|
||||
public bool IsTanoraLatogatasMentesseg { get; set; }
|
||||
|
||||
public TanuloMentessegResponseCo() { }
|
||||
|
||||
public TanuloMentessegResponseCo(int? tantargyId, bool? isErtekelesMentesseg, bool? isSzovegesenErtekelheto, bool? isOraMentesites)
|
||||
{
|
||||
TantargyId = tantargyId.Value;
|
||||
IsErtkelesMentesseg = isErtekelesMentesseg ?? false;
|
||||
IsSzovegesenErtekelheto = isSzovegesenErtekelheto ?? false;
|
||||
IsTanoraLatogatasMentesseg = isOraMentesites ?? false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class TanuloResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Nev { get; set; }
|
||||
public string AnyjaNev { get; set; }
|
||||
public DateTime Szuletes { get; set; }
|
||||
public bool IsMaganTanulo { get; set; }
|
||||
public DateTime? MaganTanulosagKezdetDatuma { get; set; }
|
||||
public DateTime? MaganTanulosagVegeDatuma { get; set; }
|
||||
public TanugyiAdatokGetResponseCo TanugyiAdatok { get; set; }
|
||||
public List<TanuloMentessegResponseCo> Felmentesek { get; set; } = new List<TanuloMentessegResponseCo>();
|
||||
|
||||
public TanuloResponseCo() { }
|
||||
|
||||
public TanuloResponseCo(TanuloResponseDao dao)
|
||||
{
|
||||
Id = dao.TanuloId;
|
||||
Nev = dao.NyomtatasiNev;
|
||||
AnyjaNev = dao.AnyjaNeve;
|
||||
Szuletes = dao.SzuletesiDatum;
|
||||
IsMaganTanulo = dao.IsMaganTanulo ?? false;
|
||||
MaganTanulosagKezdetDatuma = dao.MaganTanulosagKezdetDatuma;
|
||||
MaganTanulosagVegeDatuma = dao.MaganTanulosagVegeDatuma;
|
||||
TanugyiAdatok = new TanugyiAdatokGetResponseCo
|
||||
{
|
||||
IsJogviszonySzunetelteto = dao.IsJogviszonySzunetelteto ?? false,
|
||||
IsSzakmaiGyakorlatonLevo = dao.IsSzakmaiGyakorlatonLevo ?? false
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo
|
||||
{
|
||||
public class TanuloResponseDao
|
||||
{
|
||||
[ColumnName("TanuloId")]
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[ColumnName("TanuloNyomtatasiNev")]
|
||||
public string NyomtatasiNev { get; set; }
|
||||
|
||||
[ColumnName("TanuloAnyjaNev")]
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
[ColumnName("TanuloSzuletesiDatum")]
|
||||
public DateTime SzuletesiDatum { get; set; }
|
||||
|
||||
[ColumnName("OsztalyCsoportNev")]
|
||||
public string OsztalyCsoportNev { get; set; }
|
||||
|
||||
[ColumnName("IsMaganTanulo")]
|
||||
public bool? IsMaganTanulo { get; set; }
|
||||
|
||||
[ColumnName("MaganTanulosagKezdetDatuma")]
|
||||
public DateTime? MaganTanulosagKezdetDatuma { get; set; }
|
||||
|
||||
[ColumnName("MaganTanulosagVegeDatuma")]
|
||||
public DateTime? MaganTanulosagVegeDatuma { get; set; }
|
||||
|
||||
[ColumnName("IsJogviszonySzunetelteto")]
|
||||
public bool? IsJogviszonySzunetelteto { get; set; }
|
||||
|
||||
[ColumnName("IsSzakmaiGyakorlatonLevo")]
|
||||
public bool? IsSzakmaiGyakorlatonLevo { get; set; }
|
||||
|
||||
[ColumnName("TantargyId")]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
[ColumnName("IsErtekelesMentesseg")]
|
||||
public bool? IsErtekelesMentesseg { get; set; }
|
||||
|
||||
[ColumnName("IsSzovegesenErtekelheto")]
|
||||
public bool? IsSzovegesenErtekelheto { get; set; }
|
||||
|
||||
[ColumnName("IsOraMentesites")]
|
||||
public bool? IsOraMentesites { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
public class ErtekelesRequestCo
|
||||
{
|
||||
public NaploEnumCo<OsztalyzatTipusEnum> OsztalyzatTipus { get; set; }
|
||||
public int? Szazalek { get; set; }
|
||||
public string Szoveg { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
|
||||
public class ErtekelesResponseCo
|
||||
{
|
||||
public ValidationException Exception { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
public class OsztalyCsoportErtekelesRequestCo
|
||||
{
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
public NaploEnumCo<ErtekelesModEnum> Mod { get; set; }
|
||||
|
||||
public NaploEnumCo<ErtekelesTipusEnum> Tipus { get; set; }
|
||||
|
||||
public string Tema { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public int TantargyId { get; set; }
|
||||
|
||||
public List<TanuloForOsztalyCsoportErtekelesRequestCo> TanuloLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
public class OsztalyCsoportErtekelesResponseCo
|
||||
{
|
||||
public List<TanuloForOsztalyCsoportErtekelesResponseCo> TanuloLista { get; set; } = new List<TanuloForOsztalyCsoportErtekelesResponseCo>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
public class TanuloForOsztalyCsoportErtekelesRequestCo
|
||||
{
|
||||
public ErtekelesRequestCo Ertekeles { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public int MobilId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles
|
||||
{
|
||||
public class TanuloForOsztalyCsoportErtekelesResponseCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int ErtekelesId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas
|
||||
{
|
||||
public class MulasztasForOraNaplozasRequestCo
|
||||
{
|
||||
public NaploEnumCo<MulasztasTipusEnum> Tipus { get; set; }
|
||||
public int? Keses { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas
|
||||
{
|
||||
public class OraNaplozasRequestCo : IValidatableObject
|
||||
{
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
public string Hazifeladat { get; set; }
|
||||
|
||||
public DateTime? HazifeladatHatarido { get; set; }
|
||||
|
||||
public int? HazifeladatId { get; set; }
|
||||
|
||||
public bool IsElmaradt { get; set; }
|
||||
|
||||
public int MobilId { get; set; }
|
||||
|
||||
public int? OrarendiOraId { get; set; }
|
||||
|
||||
public DateTime RogzitesDatum { get; set; }
|
||||
|
||||
public int? TanitasiOraId { get; set; }
|
||||
|
||||
public List<TanuloForOraNaplozasRequestCo> TanuloLista { get; set; }
|
||||
|
||||
public string Tema { get; set; }
|
||||
|
||||
public int? CsatolmanyId { get; set; }
|
||||
|
||||
public void ConvertTo(NaplozasMobilCo co)
|
||||
{
|
||||
co.OraAdat.Datum = Datum;
|
||||
co.OraAdat.IsElmaradt = IsElmaradt;
|
||||
co.OraAdat.Tema = Tema;
|
||||
co.OraAdat.OrarendiOraId = OrarendiOraId;
|
||||
co.OraAdat.TanitasiOraId = TanitasiOraId;
|
||||
co.Hazifeladat.Id = HazifeladatId;
|
||||
co.Hazifeladat.Szoveg = Hazifeladat;
|
||||
co.Hazifeladat.Hatarido = HazifeladatHatarido;
|
||||
co.Hazifeladat.CsatolmanyId = CsatolmanyId;
|
||||
co.OraAdat.RogzitesDatuma = RogzitesDatum;
|
||||
foreach (var tanulo in TanuloLista)
|
||||
{
|
||||
var tanuloMulasztas = new NaplozasMobilCo.MulasztasModel
|
||||
{
|
||||
TanuloId = tanulo.Id,
|
||||
MulasztasTipus = tanulo.Mulasztas.Tipus.Id,
|
||||
Keses = tanulo.Mulasztas.Keses
|
||||
};
|
||||
|
||||
foreach (var feljegyzesTipus in tanulo.FeljegyzesTipusLista)
|
||||
{
|
||||
switch (feljegyzesTipus.Id)
|
||||
{
|
||||
case (int)EsemenyTipusEnum.HaziFeladatHiany:
|
||||
tanuloMulasztas.HazifeladatHiany = true;
|
||||
break;
|
||||
case (int)EsemenyTipusEnum.Felszereleshiany:
|
||||
tanuloMulasztas.FelszerelesHiany = true;
|
||||
break;
|
||||
case (int)EsemenyTipusEnum.Dicseret:
|
||||
tanuloMulasztas.TanoraiDicseret = true;
|
||||
break;
|
||||
case (int)EsemenyTipusEnum.SzakmaiMentessegNemHivatalos:
|
||||
tanuloMulasztas.Felmentes = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
co.MulasztasList.Add(tanuloMulasztas);
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (HazifeladatHatarido < Datum.Date.AddDays(1))
|
||||
{
|
||||
yield return new ValidationResult(ErrorResource.HazifeladatNemrogzithetoHataridoKorabbiMintAzOraDatuma);
|
||||
}
|
||||
|
||||
if (HazifeladatHatarido < DateTime.Today.AddDays(1))
|
||||
{
|
||||
yield return new ValidationResult(ErrorResource.HazifeladatNemrogzithetoHataridoKorabbiMintAHolnapiNap);
|
||||
}
|
||||
|
||||
if (HazifeladatId.HasValue && string.IsNullOrWhiteSpace(Hazifeladat))
|
||||
{
|
||||
yield return new ValidationResult(OrarendResource.HazifeladatSzovegKotelezo);
|
||||
}
|
||||
|
||||
var occurrenceNumberByPrimaryKey = new Dictionary<int, int>();
|
||||
|
||||
foreach (var tanulo in TanuloLista)
|
||||
{
|
||||
if (occurrenceNumberByPrimaryKey.ContainsKey(tanulo.Id))
|
||||
{
|
||||
occurrenceNumberByPrimaryKey[tanulo.Id]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
occurrenceNumberByPrimaryKey.Add(tanulo.Id, 1);
|
||||
}
|
||||
|
||||
//TODO: késés értékének felső határát is validálni (nagyobb átalakítás)
|
||||
if (tanulo.Mulasztas.Tipus.Id == (int)MulasztasTipusEnum.keses && tanulo.Mulasztas.Keses <= 0)
|
||||
{
|
||||
yield return new ValidationResult(string.Format(ErrorResource.AKesesErtekeNemLehet0, tanulo.Mulasztas.Keses));
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var occurrenceNumberByPrimaryKeyItem in occurrenceNumberByPrimaryKey)
|
||||
{
|
||||
if (occurrenceNumberByPrimaryKeyItem.Value > 1)
|
||||
{
|
||||
yield return new ValidationResult($"A tanuló többször szerepel: {nameof(TanuloForOraNaplozasRequestCo.Id)}={occurrenceNumberByPrimaryKeyItem.Key}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using Kreta.Core.Validation.Exceptions;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas
|
||||
{
|
||||
public class OraNaplozasResponseCo
|
||||
{
|
||||
public int MobilId { get; set; }
|
||||
public ValidationException Exception { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas
|
||||
{
|
||||
public class TanuloForOraNaplozasRequestCo
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public MulasztasForOraNaplozasRequestCo Mulasztas { get; set; }
|
||||
public List<NaploEnumCo<FeljegyzesTipusEnum>> FeljegyzesTipusLista { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard
|
||||
{
|
||||
public class FeltoltottFajlRequestCo
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string ContentAsBase64EncodedString { get; set; }
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? TanitasiOraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using Kreta.Core.Validation.Exceptions;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard
|
||||
{
|
||||
public class FeltoltottFajlResponseCo
|
||||
{
|
||||
public int FeltolthetoFajlokSzama { get; set; }
|
||||
public ValidationException Exception { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co
|
||||
{
|
||||
public sealed class ResponseWrapperCo<T> where T : class, new()
|
||||
{
|
||||
public HttpStatusCode StatusCode { get; private set; } = HttpStatusCode.NotFound;
|
||||
public DateTime UtolsoSzinkronDatumUtc { get; } = DateTime.UtcNow;
|
||||
public string Hash => string.IsNullOrWhiteSpace(DatabaseHash + SourceHash) ? null : DatabaseHash + "." + SourceHash;
|
||||
public bool IsHashesOk => IsDatabaseHashOk && IsSourceHashOk;
|
||||
public bool IsDatabaseHashOk
|
||||
=> !string.IsNullOrWhiteSpace(RequestHash) && !string.IsNullOrWhiteSpace(DatabaseHash) && RequestHash.StartsWith(DatabaseHash, StringComparison.CurrentCultureIgnoreCase);
|
||||
public bool IsSourceHashOk
|
||||
=> !string.IsNullOrWhiteSpace(RequestHash) && !string.IsNullOrWhiteSpace(SourceHash) && RequestHash.EndsWith(SourceHash, StringComparison.CurrentCultureIgnoreCase);
|
||||
private string RequestHash { get; }
|
||||
private string DatabaseHash { get; }
|
||||
private string SourceHash { get; set; }
|
||||
public T Adatcsomag { get; private set; } = null;
|
||||
|
||||
private ResponseWrapperCo() { }
|
||||
public ResponseWrapperCo(string requestHash, string databaseHash = null)
|
||||
{
|
||||
RequestHash = requestHash;
|
||||
DatabaseHash = databaseHash;
|
||||
}
|
||||
|
||||
/// <param name="isStrictMode">True: Adatcsomag prop is only assigned if all hash are ok.</param>
|
||||
public void FillData(T adatcsomag, bool isStrictMode = false)
|
||||
{
|
||||
StatusCode = HttpStatusCode.OK;
|
||||
SourceHash = HashLogic.CreateSourceHash(adatcsomag);
|
||||
if (isStrictMode)
|
||||
{
|
||||
Fill(IsHashesOk, adatcsomag);
|
||||
}
|
||||
else
|
||||
{
|
||||
Fill(IsSourceHashOk, adatcsomag);
|
||||
}
|
||||
}
|
||||
|
||||
private void Fill(bool isHashOk, T adatcsomag)
|
||||
{
|
||||
if (isHashOk)
|
||||
{
|
||||
StatusCode = HttpStatusCode.NotModified;
|
||||
}
|
||||
else
|
||||
{
|
||||
Adatcsomag = adatcsomag;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
28
Kreta.BusinessLogic/Classes/MobileApi/Naplo/V2/Constant.cs
Normal file
28
Kreta.BusinessLogic/Classes/MobileApi/Naplo/V2/Constant.cs
Normal file
|
@ -0,0 +1,28 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2
|
||||
{
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.Resources;
|
||||
|
||||
public static class Constant
|
||||
{
|
||||
private static readonly Dictionary<JavasoltJelenletTemplateType, string> megjegyzesByJavasoltJelenletTemplateTypeDictionary = new Dictionary<JavasoltJelenletTemplateType, string>
|
||||
{
|
||||
{ JavasoltJelenletTemplateType.Igazolas, NaploApiResource.ATanulonakIgazolasLettRogzitve },
|
||||
{ JavasoltJelenletTemplateType.ElozoOranHianyzott, NaploApiResource.ElozoOranHianyzott },
|
||||
{ JavasoltJelenletTemplateType.ParhuzamosOranNaplozott, NaploApiResource.ParuzamosOranMarNaploztak },
|
||||
{ JavasoltJelenletTemplateType.Felmentes, NaploApiResource.ATanulonakFelmenteseVan },
|
||||
{ JavasoltJelenletTemplateType.SzakmaiGyakorlat, NaploApiResource.SzakmaiGyakorlatonJelenlevo },
|
||||
{ JavasoltJelenletTemplateType.JogviszonySzuneteltetes, NaploApiResource.JogviszonySzunetelteto },
|
||||
{ JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg, NaploApiResource.Magantanulo }
|
||||
};
|
||||
|
||||
public static string GetMegjegyzesByJavasoltJelenletTemplateType(JavasoltJelenletTemplateType tipus)
|
||||
{
|
||||
return megjegyzesByJavasoltJelenletTemplateTypeDictionary.TryGetValue(tipus, out string value) ? value : null;
|
||||
}
|
||||
|
||||
public static readonly int FeltolthetoFajlokMaxSzama = 25;
|
||||
public static readonly string DateTimeFormat = "yyyyMMdd_HHmm";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Converter
|
||||
{
|
||||
public static class CustomJsonConverter
|
||||
{
|
||||
public static T DeserializeJsonToObject<T>(string json) where T : class, new()
|
||||
=> !string.IsNullOrWhiteSpace(json) ? JsonConvert.DeserializeObject<T>(json) : null;
|
||||
|
||||
public static string SerializeObjectToJson(object myObject)
|
||||
=> (myObject != null) ? JsonConvert.SerializeObject(myObject) : string.Empty;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum
|
||||
{
|
||||
public enum FelmentesType
|
||||
{
|
||||
None,
|
||||
OralatogatasAlol,
|
||||
ErtekelesAlol,
|
||||
OralatogatasEsErtekelesAlol = OralatogatasAlol | ErtekelesAlol
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum
|
||||
{
|
||||
public enum JavasoltJelenletTemplateType
|
||||
{
|
||||
None,
|
||||
Default,
|
||||
ElozoOranHianyzott,
|
||||
Igazolas,
|
||||
ParhuzamosOranNaplozott,
|
||||
MagantanuloOralatogatasAloliMentesseg,
|
||||
Felmentes,
|
||||
SzakmaiGyakorlat,
|
||||
JogviszonySzuneteltetes
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
|
||||
public static class EgyediOraLogic
|
||||
{
|
||||
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, IConnectionType connectionType, IDalHandler h)
|
||||
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, -1, connectionType, h);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System;
|
||||
|
||||
public static class FelmentesLogic
|
||||
{
|
||||
public static bool CalculateIsNowFelmentettByDatum(DateTime examinedDate, DateTime? felmentesKezdetDatuma, DateTime? felmentesVegDatuma)
|
||||
=> (!felmentesKezdetDatuma.HasValue && !felmentesVegDatuma.HasValue)
|
||||
|| (!felmentesKezdetDatuma.HasValue && examinedDate <= felmentesVegDatuma)
|
||||
|| (!felmentesVegDatuma.HasValue && felmentesKezdetDatuma <= examinedDate)
|
||||
|| (felmentesKezdetDatuma <= examinedDate && examinedDate <= felmentesVegDatuma);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using System.Reflection;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Converter;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
public static class HashLogic
|
||||
{
|
||||
private static string GetNonce() => Assembly.GetExecutingAssembly().GetName().Version.ToString().Replace(".", "_");
|
||||
public static string CreateSourceHash<T>(T responseCO) where T : class, new()
|
||||
=> (responseCO != null) ? CustomJsonConverter.SerializeObjectToJson(responseCO)?.GetHashCode().ToString() + "__" + GetNonce() : null;
|
||||
|
||||
//public static string CreateResponseHash<T>(T responseCO, string requestHash) where T : class, IGetResponseCo, new()
|
||||
// => (responseCO != null && !responseCO.Hash.Equals(requestHash)) ? responseCO.Hash : null;
|
||||
//public static T CreateResponseData<T>(T responseCO, string requestHash) where T : class, IGetResponseCo, new()
|
||||
// => (responseCO != null && !responseCO.Hash.Equals(requestHash)) ? responseCO : null;
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System.Data;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
public static class HelyettesitesLogic
|
||||
{
|
||||
public class Tanar
|
||||
{
|
||||
public Tanar(int tanarId, int tanevId, int intezmenyId, string intezmenyAzonosito, Enums.OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum = null)
|
||||
{
|
||||
TanarHelyettesiteseiDt = new HelyettesitesHelper(new MobileConnectionType(tanarId, intezmenyId, intezmenyAzonosito, tanevId)).GetHelyettesitesekListajaGrid(new HelperClasses.HelyettesitesekListajaSearchCO
|
||||
{
|
||||
HelyettesitoTanarSearch = tanarId,
|
||||
FeladatKategoriaId = oktatasNevelesKategoriaEnum.HasValue ? (int)oktatasNevelesKategoriaEnum : (int)default
|
||||
|
||||
}).Tables[0];
|
||||
}
|
||||
|
||||
private DataTable TanarHelyettesiteseiDt { get; set; }
|
||||
|
||||
public bool IsHelyettesito(int osztalyCsoportId, int tantargyId)
|
||||
=> TanarHelyettesiteseiDt.Select($"OsztalyCsoportId = {osztalyCsoportId} AND TantargyId = {tantargyId}").Length > 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,288 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
/// TODO: Optional refact: lehetne dictionary a template, sokkal optimálisabb lenne (DevKornél)
|
||||
public class JavasoltJelenletTemplateLogic
|
||||
{
|
||||
private static readonly List<JavasoltJelenletTemplateGetResponseCo> OrarendiOraJavasoltJelenlet = new List<JavasoltJelenletTemplateGetResponseCo> {
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Default,
|
||||
Prioritas = 1,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.ElozoOranHianyzott,
|
||||
Prioritas = 2,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Igazolas,
|
||||
Prioritas = 3,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.ParhuzamosOranNaplozott,
|
||||
Prioritas = 4,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg,
|
||||
Prioritas = 5,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Felmentes,
|
||||
Prioritas = 6,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.SzakmaiGyakorlat,
|
||||
Prioritas = 7,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.JogviszonySzuneteltetes,
|
||||
Prioritas = 8,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(true,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private static readonly List<JavasoltJelenletTemplateGetResponseCo> TanitasiOraJavasoltJelenlet = new List<JavasoltJelenletTemplateGetResponseCo> {
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Default,
|
||||
Prioritas = 1,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true, MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.ElozoOranHianyzott,
|
||||
Prioritas = 2,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Igazolas,
|
||||
Prioritas = 3,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false, true, MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.ParhuzamosOranNaplozott,
|
||||
Prioritas = 4,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg,
|
||||
Prioritas = 5,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.Felmentes,
|
||||
Prioritas = 6,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo (false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo (false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo (false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo (false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.SzakmaiGyakorlat,
|
||||
Prioritas = 7,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.keses)
|
||||
}
|
||||
},
|
||||
new JavasoltJelenletTemplateGetResponseCo{
|
||||
Tipus = JavasoltJelenletTemplateType.JogviszonySzuneteltetes,
|
||||
Prioritas = 8,
|
||||
SzuroElemLista = new List<JavasoltJelenletTemplateItemGetResponseCo>{
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.ures),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.jelenlet),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.hianyzas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.potlas),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.szabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.tappenz),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,true,MulasztasTipusEnum.betegszabadsag),
|
||||
new JavasoltJelenletTemplateItemGetResponseCo(false,false,MulasztasTipusEnum.keses)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public JavasoltJelenletTemplateLogic(TanoraAllapotaEnum oraAllapota)
|
||||
{
|
||||
OraAllapota = oraAllapota;
|
||||
}
|
||||
|
||||
private JavasoltJelenletTemplateLogic()
|
||||
{
|
||||
}
|
||||
|
||||
public TanoraAllapotaEnum OraAllapota { get; }
|
||||
|
||||
/// TODO: vizsgálatot meg kell csinálni, ha magasabb prior állítana default értéket, de már le van tiltva (vagy egy új ajánlást) (DevKornél)
|
||||
public JavasoltJelenletTemplateGetResponseCo GetCalculatedJelenletJavaslatConsideringSzuro(IEnumerable<IJavasoltJelenletSzuroGetResponseCo> javasoltJelenletTemplateTipusSzuroLista)
|
||||
{
|
||||
if (!javasoltJelenletTemplateTipusSzuroLista.Any(filter => filter.Tipus == JavasoltJelenletTemplateType.Default))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, $"{nameof(JavasoltJelenletTemplateType.Default)} template filter does not exist!");
|
||||
}
|
||||
|
||||
var orderedTeljesultSzuroTemplateLista = GetTemplate().FindAll(template => javasoltJelenletTemplateTipusSzuroLista.Any(filter => filter.Tipus == template.Tipus)).OrderByDescending(x => x.Prioritas).ToList();
|
||||
|
||||
if (!orderedTeljesultSzuroTemplateLista.Exists(template => template.Tipus == JavasoltJelenletTemplateType.Default))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, $"{nameof(JavasoltJelenletTemplateType.Default)} template does not exist!");
|
||||
}
|
||||
|
||||
return orderedTeljesultSzuroTemplateLista[0];
|
||||
}
|
||||
|
||||
public List<JavasoltJelenletTemplateGetResponseCo> GetTemplate()
|
||||
{
|
||||
switch (this.OraAllapota)
|
||||
{
|
||||
case TanoraAllapotaEnum.Nem_naplozott:
|
||||
return OrarendiOraJavasoltJelenlet;
|
||||
case TanoraAllapotaEnum.Naplozott:
|
||||
return TanitasiOraJavasoltJelenlet;
|
||||
default:
|
||||
throw new ValidationException(ValidationErrorType.Undefined, $"Template does not exist!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
public static class OraLogic
|
||||
{
|
||||
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, int tanoraId, IConnectionType connectionType, IDalHandler h)
|
||||
=> new MulasztasHelper(new DalHandlerConnectionType(connectionType, h)).ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, tanoraId);
|
||||
|
||||
public static List<int> ListElozoOranHianyzottTanuloId(DateTime oraKezdetDatuma, int osztalyCsoportId, int userId, int intezmenyId, string intezmenyAzonosito, int tanevId)
|
||||
=> new TanuloHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetElozoOranHianyzottTanulok(oraKezdetDatuma, osztalyCsoportId);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
|
||||
public static class OrarendiOraLogic
|
||||
{
|
||||
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, IConnectionType connectionType, IDalHandler h)
|
||||
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, -1, connectionType, h);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums.SystemSettings;
|
||||
|
||||
public static class SystemSettingsLogic
|
||||
{
|
||||
public static bool IsMagantanuloOralatogatasAloliMentessegEnabled(int tantargyId, string intezmenyAzonosito, int tanevId, int userId, int intezmenyId)
|
||||
{
|
||||
var magantanuloMulasztasSystemSetting = (SystemSettingMagantanuloMulasztas)new SystemSettingsHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Magantanulo_oralatogatas_aloli_mentessegenek_kezelese);
|
||||
var IsNemKellMegjelennie = magantanuloMulasztasSystemSetting == SystemSettingMagantanuloMulasztas.NemKellMegjelennie;
|
||||
var IsNemGyakorlatiTantargyonResztKellVennie = magantanuloMulasztasSystemSetting == SystemSettingMagantanuloMulasztas.CsakGyakorlaton && !new TantargyHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).IsGyakorlatiTantargy(tantargyId);
|
||||
|
||||
return IsNemKellMegjelennie || IsNemGyakorlatiTantargyonResztKellVennie;
|
||||
}
|
||||
|
||||
public static bool IsMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled(string intezmenyAzonosito, int tanevId, int userId, int intezmenyId)
|
||||
=> new SystemSettingsHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.A_foglalkozasok_mulasztasi_adatai_megadasanal_a_parhuzamos_orakkal_valo_utkozes_vizsgalata);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
|
||||
public static class TanitasiOraLogic
|
||||
{
|
||||
public static List<int> ListParhuzamosOranNaplozottMulasztasTanuloId(DateTime oraKezdete, DateTime oraVege, int tanoraId, IConnectionType connectionType, IDalHandler h)
|
||||
=> OraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdete, oraVege, tanoraId, connectionType, h);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
|
||||
public static class TanuloLogic
|
||||
{
|
||||
public static bool CalculateIsNowFelmentett(List<FelmentesGetResponseCo> felmentesek, DateTime examinedDate, int intezmenyId, string intezmenyAzonosito, int tanevId, FelmentesType felmentesTypeFilter = FelmentesType.None)
|
||||
{
|
||||
foreach (var felmentes in felmentesek)
|
||||
{
|
||||
if (FelmentesLogic.CalculateIsNowFelmentettByDatum(examinedDate, felmentes.KezdetDatuma, felmentes.VegDatuma))
|
||||
{
|
||||
switch (felmentesTypeFilter)
|
||||
{
|
||||
case FelmentesType.None:
|
||||
return felmentes.IsOralatogatasAlolFelmentett || felmentes.IsErtekelesAlolFelmentett;
|
||||
case FelmentesType.OralatogatasAlol:
|
||||
return felmentes.IsOralatogatasAlolFelmentett;
|
||||
case FelmentesType.ErtekelesAlol:
|
||||
return felmentes.IsErtekelesAlolFelmentett;
|
||||
case FelmentesType.OralatogatasEsErtekelesAlol:
|
||||
return felmentes.IsOralatogatasAlolFelmentett && felmentes.IsErtekelesAlolFelmentett;
|
||||
default:
|
||||
throw new BlException($"{nameof(FelmentesType)} does not exist!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool CalculateIsNowMagantanulo(bool isMagantanulo, DateTime? maganTanulosagKezdetDatuma, DateTime? maganTanulosagVegeDatuma, DateTime oraDatuma)
|
||||
=> isMagantanulo && (!maganTanulosagKezdetDatuma.HasValue || maganTanulosagKezdetDatuma.Value <= oraDatuma) && (!maganTanulosagVegeDatuma.HasValue || maganTanulosagVegeDatuma.Value >= oraDatuma);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.EgyediOra.JavasoltJelenlet;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.ParameterClasses;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
|
||||
{
|
||||
public static class EgyediOraSubqueries
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the filters to be executory from the template. The order of filters does not matter.
|
||||
/// </summary>
|
||||
public static List<JavasoltJelenletGetResponseCo> ListJavasoltJelenlet(int teacherId, string intezmenyAzonosito, int tanevId, IDalHandler h, JavasoltJelenletGetRequestCo request, Enums.OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum, int intezmenyId)
|
||||
{
|
||||
var response = new List<JavasoltJelenletGetResponseCo>();
|
||||
|
||||
foreach (var egyediOraKey in request.Key)
|
||||
{
|
||||
var osztalyTanuloi = OraSubqueries.GetOsztalyTanuloi(teacherId, new OsztalyTanuloiRequestCo() { OsztalyCsoportId = egyediOraKey.OsztalyCsoportId, OraShortDatuma = egyediOraKey.OraKezdetDatuma }, intezmenyAzonosito, intezmenyId, tanevId);
|
||||
var igazolasLista = h.IgazolasDal().GetIgazolasokListajaGrid(
|
||||
new IgazolasokListajaSearchPCO
|
||||
{
|
||||
OsztalyCsoportSearch = egyediOraKey.OsztalyCsoportId,
|
||||
IgazolasDatuma = egyediOraKey.OraKezdetDatuma
|
||||
},
|
||||
oktatasNevelesKategoriaEnum).Tables[0];
|
||||
|
||||
response.Add(new JavasoltJelenletGetResponseCo
|
||||
{
|
||||
TantargyId = egyediOraKey.TantargyId,
|
||||
OsztalyCsoportId = egyediOraKey.OsztalyCsoportId,
|
||||
OraKezdetDatuma = egyediOraKey.OraKezdetDatuma,
|
||||
TanuloLista = GetTanuloListaWithSzuroLista(osztalyTanuloi.TanuloLista, igazolasLista, egyediOraKey.TantargyId, egyediOraKey.OraKezdetDatuma, egyediOraKey.OraVegDatuma, egyediOraKey.OsztalyCsoportId)
|
||||
});
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
bool HasTanuloIgazolas(int tanuloId, DataTable igazolasLista) => igazolasLista.AsEnumerable().Any(x => x.Field<int>("TanuloId") == tanuloId);
|
||||
|
||||
List<JavasoltJelenletTanuloGetResponseCo> GetTanuloListaWithSzuroLista(List<TanuloResponseCo> tanuloLista, DataTable igazolasLista, int tantargyId, DateTime oraKezdetDatuma, DateTime oraVegDatuma, int osztalyCsoportId)
|
||||
{
|
||||
var javasoltJelenletTanuloLista = new List<JavasoltJelenletTanuloGetResponseCo>();
|
||||
|
||||
if (!tanuloLista.Any())
|
||||
{
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
|
||||
var parhuzamosOranNaplozottTanuloIdList = EgyediOraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdetDatuma, oraVegDatuma, new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), h);
|
||||
var elozoOranHianyzottTanuloIdList = OraLogic.ListElozoOranHianyzottTanuloId(oraKezdetDatuma, osztalyCsoportId, teacherId, intezmenyId, intezmenyAzonosito, tanevId);
|
||||
var isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled = SystemSettingsLogic.IsMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled(intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var isMagantanuloOralatogatasAloliMentessegEnabled = SystemSettingsLogic.IsMagantanuloOralatogatasAloliMentessegEnabled(tantargyId, intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var felmentesek = FelmentesSubqueries.ListFelmentes(new FelmentesGetRequestCo
|
||||
{
|
||||
TanuloIds = tanuloLista.Select(t => t.Id),
|
||||
FelhasznaloId = teacherId,
|
||||
IntezmenyId = intezmenyId,
|
||||
IntezmenyAzonosito = intezmenyAzonosito,
|
||||
TanevId = tanevId,
|
||||
TantargyId = tantargyId
|
||||
});
|
||||
|
||||
foreach (var tanulo in tanuloLista)
|
||||
{
|
||||
var javasoltJelenletTemplateTipusSzuroLista = new List<IJavasoltJelenletSzuroGetResponseCo>
|
||||
{
|
||||
new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Default)
|
||||
};
|
||||
|
||||
if (HasTanuloIgazolas(tanulo.Id, igazolasLista))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Igazolas));
|
||||
}
|
||||
|
||||
if (elozoOranHianyzottTanuloIdList?.Contains(tanulo.Id) ?? false)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ElozoOranHianyzott));
|
||||
}
|
||||
|
||||
if (isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled && parhuzamosOranNaplozottTanuloIdList.Contains(tanulo.Id))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ParhuzamosOranNaplozott));
|
||||
}
|
||||
|
||||
if (felmentesek.ContainsKey(tanulo.Id) && TanuloLogic.CalculateIsNowFelmentett(felmentesek[tanulo.Id], oraKezdetDatuma, intezmenyId, intezmenyAzonosito, tanevId, FelmentesType.OralatogatasAlol))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Felmentes));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsSzakmaiGyakorlatonLevo)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.SzakmaiGyakorlat));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsJogviszonySzunetelteto)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.JogviszonySzuneteltetes));
|
||||
}
|
||||
|
||||
if (TanuloLogic.CalculateIsNowMagantanulo(tanulo.IsMaganTanulo, tanulo.MaganTanulosagKezdetDatuma, tanulo.MaganTanulosagVegeDatuma, oraKezdetDatuma) && isMagantanuloOralatogatasAloliMentessegEnabled)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg));
|
||||
}
|
||||
|
||||
javasoltJelenletTanuloLista.Add(new JavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
TanuloId = tanulo.Id,
|
||||
JavasoltJelenletTemplateTipusSzuroLista = javasoltJelenletTemplateTipusSzuroLista
|
||||
});
|
||||
}
|
||||
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
|
||||
{
|
||||
public static class FelmentesSubqueries
|
||||
{
|
||||
public static Dictionary<int, List<FelmentesGetResponseCo>> ListFelmentes(FelmentesGetRequestCo request)
|
||||
{
|
||||
var result = new Dictionary<int, List<FelmentesGetResponseCo>>();
|
||||
|
||||
foreach (DataRow tanuloFelmentes in new TanuloHelper(new MobileConnectionType(request.FelhasznaloId, request.IntezmenyId, request.IntezmenyAzonosito, request.TanevId)).GetTanulokFelmentesei(request.TanuloIds, tantargyId: request.TantargyId).Tables[0].Rows)
|
||||
{
|
||||
if (request.TantargyId.IsEntityId() && tanuloFelmentes.Field<int>("TantargyId") == request.TantargyId)
|
||||
{
|
||||
if (result.ContainsKey(tanuloFelmentes.Field<int>("TanuloId")))
|
||||
{
|
||||
|
||||
result[tanuloFelmentes.Field<int>("TanuloId")].Add(new FelmentesGetResponseCo
|
||||
{
|
||||
Id = tanuloFelmentes.Field<int>("ID"),
|
||||
TantargyId = tanuloFelmentes.Field<int>("TantargyId"),
|
||||
TantargyNev = tanuloFelmentes.Field<string>("TantargyNev"),
|
||||
IsErtekelesAlolFelmentett = (bool)tanuloFelmentes["ErtekelesMentesites_BOOL"],
|
||||
IsOralatogatasAlolFelmentett = (bool)tanuloFelmentes["OraMentesites_BOOL"],
|
||||
FelmentesOkSzovege = tanuloFelmentes.Field<string>("FelmentesOka"),
|
||||
KezdetDatuma = tanuloFelmentes.Field<DateTime?>("Kezdete"),
|
||||
VegDatuma = tanuloFelmentes.Field<DateTime?>("Vege"),
|
||||
IsSzovegesenErtekelheto = (bool)tanuloFelmentes["SzovegesenErtekelheto_BOOL"]
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
result.Add(tanuloFelmentes.Field<int>("TanuloId"), new List<FelmentesGetResponseCo>()
|
||||
{
|
||||
new FelmentesGetResponseCo
|
||||
{
|
||||
Id = tanuloFelmentes.Field<int>("ID"),
|
||||
TantargyId = tanuloFelmentes.Field<int>("TantargyId"),
|
||||
TantargyNev = tanuloFelmentes.Field<string>("TantargyNev"),
|
||||
IsErtekelesAlolFelmentett = (bool)tanuloFelmentes["ErtekelesMentesites_BOOL"],
|
||||
IsOralatogatasAlolFelmentett = (bool)tanuloFelmentes["OraMentesites_BOOL"],
|
||||
FelmentesOkSzovege = tanuloFelmentes.Field<string>("FelmentesOka"),
|
||||
KezdetDatuma = tanuloFelmentes.Field<DateTime?>("Kezdete"),
|
||||
VegDatuma = tanuloFelmentes.Field<DateTime?>("Vege"),
|
||||
IsSzovegesenErtekelheto = (bool)tanuloFelmentes["SzovegesenErtekelheto_BOOL"]
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.OpenBoard;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
public static class FeltolthetoFajlokSzamaGetSubqueries
|
||||
{
|
||||
public static FeltolthetoFajlokSzamaResponseCo GetFeltolthetoFajlokSzama(DefaultConnectionParameters defaultConnectionParameters, FeltolthetoFajlokSzamaRequestCo request)
|
||||
{
|
||||
var response = new FeltolthetoFajlokSzamaResponseCo();
|
||||
if (request.TanitasiOraId.HasValue && request.OrarendiOraId.HasValue)
|
||||
{
|
||||
response.Exception = new ValidationException("Hibás kérelem!");
|
||||
return response;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var openBoardHelper = new OpenBoardHelper(new MobileConnectionType(defaultConnectionParameters.FelhasznaloId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId));
|
||||
|
||||
int feltoltottFajlokSzama = openBoardHelper.GetFeltoltottFajlokSzama(DateTime.Now, request.OrarendiOraId, request.TanitasiOraId);
|
||||
int feltolthetoFajlokSzama = Constant.FeltolthetoFajlokMaxSzama - feltoltottFajlokSzama;
|
||||
|
||||
if (feltolthetoFajlokSzama < 1)
|
||||
{
|
||||
response.FeltolthetoFajlokSzama = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
response.FeltolthetoFajlokSzama = feltolthetoFajlokSzama;
|
||||
}
|
||||
}
|
||||
|
||||
catch (ValidationException e)
|
||||
{
|
||||
response.Exception = e;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Framework.Util;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
public static class IskolaorGetSubqueries
|
||||
{
|
||||
public static IConnectionType ConnectionType;
|
||||
|
||||
public static List<IskolaorResponseCo> Iskolaor(int tanarId, DefaultConnectionParameters defaultConnectionParameters)
|
||||
{
|
||||
ConnectionType = new MobileConnectionType(tanarId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId);
|
||||
|
||||
var iskolaorAlkalmazottakList = new AlkalmazottHelper(ConnectionType).GetIskolaor();
|
||||
|
||||
var response = new List<IskolaorResponseCo>();
|
||||
|
||||
if (iskolaorAlkalmazottakList.Count > 0)
|
||||
{
|
||||
foreach (var iskolaor in iskolaorAlkalmazottakList)
|
||||
{
|
||||
var iskolaorResponseCo = new IskolaorResponseCo
|
||||
{
|
||||
Id = iskolaor.Id,
|
||||
Nev = iskolaor.Nev,
|
||||
FeladatEllatasiHelyId = iskolaor.FeladatEllatasiHelyId,
|
||||
FeladatEllatasiHely = iskolaor.MukodesiHelyNeve + " - " + iskolaor.OktatasiNevelesiFeladatTipusId.GetItemNameFromCache(defaultConnectionParameters.TanevId, defaultConnectionParameters.IntezmenyAzonosito),
|
||||
EmailCim = iskolaor.AlapertelmezettEmailCim,
|
||||
Telefonszam = iskolaor.AlapertelmezettTelefonszam,
|
||||
IdpEgyediAzonosito = iskolaor.IdpEgyediAzonosito.ToString(),
|
||||
IntezmenyAzonosito = defaultConnectionParameters.IntezmenyAzonosito
|
||||
};
|
||||
|
||||
response.Add(iskolaorResponseCo);
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Orarend;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
public static class OrarendGetSubqueries
|
||||
{
|
||||
public static ResponseWrapperCo<List<OraGetResponseCo>> OraLista(int teacherId, IDalHandler h, int intezmenyId, int tanevId, OraGetRequestCo request, string intezmenyAzonosito)
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<OraGetResponseCo>>(request.Hash);
|
||||
//if (returnObject.IsDatabaseHashOk) return returnObject;
|
||||
|
||||
var oraCoList = new List<OraGetResponseCo>();
|
||||
|
||||
var eventList = new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), h))
|
||||
.GetOrarendElemekMobilNaplo(request.Datum, request.Datum.AddDays(1), teacherId);
|
||||
|
||||
foreach (var tanarOra in eventList)
|
||||
{
|
||||
if (tanarOra.allDay)
|
||||
continue; //Különleges napok átugrása
|
||||
var oraResponseCo = new OraGetResponseCo
|
||||
{
|
||||
OrarendiOraId = tanarOra.oraType == CalendarOraTypeEnum.OrarendiOra || tanarOra.oraType == CalendarOraTypeEnum.TanoranKivuliFoglalkozas ? tanarOra.id : (int?)null,
|
||||
TanitasiOraId = tanarOra.oraType != CalendarOraTypeEnum.OrarendiOra && tanarOra.oraType != CalendarOraTypeEnum.TanoranKivuliFoglalkozas ? tanarOra.id : (int?)null,
|
||||
Allapot = tanarOra.OraAllapota,
|
||||
Kezdete = tanarOra.start.Value,
|
||||
Vege = tanarOra.end.Value,
|
||||
Oraszam = tanarOra.hanyadikora,
|
||||
IsElmaradt = tanarOra.isElmaradt,
|
||||
Tema = tanarOra.Tema,
|
||||
TantargyId = tanarOra.TantargyId,
|
||||
TantargyNev = tanarOra.TantargyTeljesNev,
|
||||
TantargyKategoria = tanarOra.TantargyKategoria,
|
||||
HelyettesitoId = tanarOra.helyettesitoId,
|
||||
OsztalyCsoportId = tanarOra.TanevRendOsztalyCsoportId,
|
||||
OsztalyCsoportNev = tanarOra.OsztalyCsoport,
|
||||
TeremNev = tanarOra.Terem,
|
||||
OraTulajdonosTanar = new TanarSimplifiedGetResponseCo { Id = tanarOra.TanarId, Nev = tanarOra.TanarNev },
|
||||
EvesOraszam = tanarOra.EvesOraSorszam
|
||||
};
|
||||
|
||||
var dktFeladatHelper = new DktFeladatHelper(new DalHandlerConnectionType(new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), h));
|
||||
if (oraResponseCo.Allapot == TanoraAllapotaEnum.Naplozott)
|
||||
{
|
||||
var haziFeladatCo = dktFeladatHelper.GetTanitasiOraHaziFeladatDetail(oraResponseCo.TanitasiOraId, null, false);
|
||||
SetHaziFeladatData(oraResponseCo, haziFeladatCo);
|
||||
}
|
||||
else if (oraResponseCo.Allapot == TanoraAllapotaEnum.Nem_naplozott)
|
||||
{
|
||||
var haziFeladatCo = dktFeladatHelper.GetOrarendiOraHaziFeladatDetail(oraResponseCo.OrarendiOraId, request.Datum, false, null, null);
|
||||
SetHaziFeladatData(oraResponseCo, haziFeladatCo);
|
||||
}
|
||||
|
||||
if (tanarOra.hanyadikora == -1 || tanarOra.oraType == CalendarOraTypeEnum.TanoranKivuliFoglalkozas || tanarOra.oraType == CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
|
||||
{
|
||||
oraResponseCo.Oraszam = null;
|
||||
}
|
||||
|
||||
if (tanarOra.oraType != CalendarOraTypeEnum.TanevRendjeEsemeny)
|
||||
{
|
||||
var helper = new TanoraHelper(new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId));
|
||||
|
||||
oraResponseCo.EvesOraszam = helper.GetOraEvesSorszamaSP(oraResponseCo.TantargyId, oraResponseCo.OsztalyCsoportId, oraResponseCo.Kezdete, oraResponseCo.OraTulajdonosTanar.Id);
|
||||
}
|
||||
|
||||
oraCoList.Add(oraResponseCo);
|
||||
}
|
||||
|
||||
returnObject.FillData(oraCoList);
|
||||
return returnObject;
|
||||
}
|
||||
|
||||
private static OraGetResponseCo SetHaziFeladatData(OraGetResponseCo oraResponseCo, TanarHaziFeladatDetailCO haziFeladatCo)
|
||||
{
|
||||
if (haziFeladatCo != null && haziFeladatCo.Id.HasValue && haziFeladatCo.Id > 0)
|
||||
{
|
||||
oraResponseCo.HazifeladatId = haziFeladatCo.Id;
|
||||
oraResponseCo.HazifeladatSzovege = haziFeladatCo.Szoveg?.Replace("<a", "<a target=\"_blank\"");
|
||||
oraResponseCo.HazifeladatHatarido = haziFeladatCo.Hatarido;
|
||||
}
|
||||
|
||||
return oraResponseCo;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanar;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Framework.Util;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
public static class TanarGetSubqueries
|
||||
{
|
||||
public static IConnectionType ConnectionType;
|
||||
|
||||
public static ProfilResponseCo Profil(int tanarId, DefaultConnectionParameters defaultConnectionParameters)
|
||||
{
|
||||
ConnectionType = new MobileConnectionType(tanarId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId);
|
||||
|
||||
var dataRow = new TanarHelper(ConnectionType).GetProfil();
|
||||
|
||||
var tanarProfil = new TanarProfilCo
|
||||
{
|
||||
Id = SDAConvert.ToInt32(dataRow["Id"]),
|
||||
Nev = SDAConvert.ToString(dataRow["Nev"]),
|
||||
FeladatEllatasiHelyId = SDAConvert.ToInt32(dataRow["FeladatEllatasiHelyId"]),
|
||||
MukodesiHelyNeve = SDAConvert.ToString(dataRow["MukodesiHelyNev"]),
|
||||
OktatasiNevelesiFeladatNeve = SDAConvert.ToInt32(dataRow["OktatasiNevelesiFeladatTipusId"]).GetItemNameFromCache(defaultConnectionParameters.TanevId, defaultConnectionParameters.IntezmenyAzonosito),
|
||||
MunkahelyiEmailCim = SDAConvert.ToString(dataRow["MunkahelyiEmailCim"]),
|
||||
PublikusEmailCim = SDAConvert.ToString(dataRow["PublikusEmailCim"]),
|
||||
PublikusTelefonszam = SDAConvert.ToString(dataRow["PublikusTelefonszam"])
|
||||
};
|
||||
|
||||
var response = new ProfilResponseCo();
|
||||
|
||||
if (tanarProfil != null)
|
||||
{
|
||||
response.Id = tanarProfil.Id;
|
||||
response.Nev = tanarProfil.Nev;
|
||||
response.Kep = null;
|
||||
response.FeladatEllatasiHelyId = tanarProfil.FeladatEllatasiHelyId;
|
||||
response.FeladatEllatasiHely = $"{tanarProfil.MukodesiHelyNeve} - {tanarProfil.OktatasiNevelesiFeladatNeve}";
|
||||
response.MunkahelyiEmailCim = tanarProfil.MunkahelyiEmailCim != "" ? tanarProfil.MunkahelyiEmailCim : null;
|
||||
response.PublikusEmailCim = tanarProfil.PublikusEmailCim != "" ? tanarProfil.PublikusEmailCim : null;
|
||||
response.PublikusTelefonszam = tanarProfil.PublikusTelefonszam != "" ? tanarProfil.PublikusTelefonszam : null;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
public static class TanuloErtekeleseiGetSubqueries
|
||||
{
|
||||
public static List<ErtekelesGetResponseCo> GetTanuloErtekelesei(DefaultConnectionParameters defaultConnectionParameters, ErtekelesGetRequestCo request)
|
||||
{
|
||||
var response = new List<ErtekelesGetResponseCo>();
|
||||
var helper = new TanuloErtekelesHelper(new MobileConnectionType(defaultConnectionParameters.FelhasznaloId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId));
|
||||
|
||||
var tanuloErtekelesei = helper.GetTanuloErtekelesListDataSet(new TanuloErtekelesListCo
|
||||
{
|
||||
TanevId = defaultConnectionParameters.TanevId,
|
||||
TanuloIds = new List<int>() { request.TanuloId },
|
||||
TantargyUids = new List<string>() { request.TantargyId.ToString() }
|
||||
}).Tables[0];
|
||||
|
||||
if (tanuloErtekelesei.Rows.Count > 0)
|
||||
{
|
||||
helper.RemoveTanuloJogosultsagMiattiErtekelesek(new List<int>() { request.TanuloId }, tanuloErtekelesei);
|
||||
|
||||
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(defaultConnectionParameters.TanevId, true).Select(x => x.Id).ToList();
|
||||
foreach (var ertekeles in tanuloErtekelesei.ToDaoList<ErtekelesResponseDao>())
|
||||
{
|
||||
var ertekelesOsztalyzatValue = SDAConvert.ToNullableInt32(TanuloErtekelesLogicBase.GetOsztalyzatTextShort(ertekeles.ErtekelesOsztalyzatId, egyszerAdhatoErtekelesTipusIds, true));
|
||||
|
||||
var ertekFajta = ertekelesOsztalyzatValue.HasValue ? ErtekelesErtekFajta.Osztalyzat
|
||||
: !string.IsNullOrWhiteSpace(ertekeles.ErtekelesSzoveg) ? ErtekelesErtekFajta.Szoveges
|
||||
: ertekeles.ErtekelesSzazalekErteke != null ? ErtekelesErtekFajta.Szazalekos
|
||||
: ErtekelesErtekFajta.None;
|
||||
|
||||
var ertekelesResponse = new ErtekelesGetResponseCo
|
||||
{
|
||||
Id = ertekeles.Id,
|
||||
Datum = ertekeles.Datum,
|
||||
Tipus = new NaploEnumCo<ErtekelesTipusEnum>(ertekeles.TipusId, ertekeles.TipusNeve),
|
||||
Mod = ertekeles.ErtekelesModId.HasValue ? new NaploEnumCo<ErtekelesModEnum>(ertekeles.ErtekelesModId.Value, ertekeles.ErtekelesModNeve) : null,
|
||||
Suly = ertekeles.ErtekelesSuly,
|
||||
Tema = string.IsNullOrWhiteSpace(ertekeles.ErtekelesTema) ? null : ertekeles.ErtekelesTema
|
||||
};
|
||||
|
||||
ertekelesResponse.Ertekeles = new ErtekelesFajtaCo();
|
||||
|
||||
switch (ertekFajta)
|
||||
{
|
||||
case ErtekelesErtekFajta.Osztalyzat:
|
||||
ertekelesResponse.Ertekeles.Osztalyzat = ertekelesOsztalyzatValue;
|
||||
break;
|
||||
case ErtekelesErtekFajta.Szoveges:
|
||||
ertekelesResponse.Ertekeles.Szoveg = ertekeles.ErtekelesSzoveg;
|
||||
break;
|
||||
case ErtekelesErtekFajta.Szazalekos:
|
||||
ertekelesResponse.Ertekeles.Szazalek = ertekeles.ErtekelesSzazalekErteke;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
response.Add(ertekelesResponse);
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get
|
||||
{
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.JavasoltJelenletTemplate;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
public static class OraSubqueries
|
||||
{
|
||||
public static ResponseWrapperCo<List<FeljegyzesResponseCo>> FeljegyzesLista(int teacherId, FeljegyzesRequestCo request, int intezmenyId, string intezmenyAzonosito, int tanevId)
|
||||
{
|
||||
var returnObject = new ResponseWrapperCo<List<FeljegyzesResponseCo>>(request.Hash);
|
||||
var tanuloFeljegyzesList = new List<FeljegyzesResponseCo>();
|
||||
|
||||
var tanuloFeljegyzesDt = GetAndValidateTanoraHelper(request.TanoraId, teacherId, intezmenyId, intezmenyAzonosito, tanevId).GetTanuloFeljegyzesek(request.TanoraId).Tables[0];
|
||||
|
||||
foreach (DataRow tanuloFeljegyzes in tanuloFeljegyzesDt.Rows)
|
||||
{
|
||||
var tanuloId = tanuloFeljegyzes.Field<int>("TanuloId");
|
||||
var newFeljegyzesInfo = new FeljegyzesInfoResponseCo
|
||||
{
|
||||
Id = tanuloFeljegyzes.Field<int>("Id"),
|
||||
Tipus = new NaploEnumCo<EsemenyTipusEnum>(tanuloFeljegyzes.Field<int>("Tipus"))
|
||||
};
|
||||
|
||||
var letezoTanuloFeljegyzes = tanuloFeljegyzesList.Find(x => x.TanuloId == tanuloId);
|
||||
if (letezoTanuloFeljegyzes == null)
|
||||
{
|
||||
tanuloFeljegyzesList.Add(
|
||||
new FeljegyzesResponseCo
|
||||
{
|
||||
TanuloId = tanuloId,
|
||||
FeljegyzesLista = new List<FeljegyzesInfoResponseCo>()
|
||||
{
|
||||
newFeljegyzesInfo
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
letezoTanuloFeljegyzes.FeljegyzesLista.Add(newFeljegyzesInfo);
|
||||
}
|
||||
}
|
||||
|
||||
returnObject.FillData(tanuloFeljegyzesList);
|
||||
return returnObject;
|
||||
}
|
||||
|
||||
public static List<JavasoltJelenletTemplateGetResponseCo> ListJavasoltJelenletTemplate(int teacherId, JavasoltJelenletTemplateGetRequestCo request)
|
||||
=> new JavasoltJelenletTemplateLogic(request.OraAllapot).GetTemplate();
|
||||
|
||||
public static List<MulasztasResponseCo> MulasztasLista(int teacherId, MulasztasRequestCo request, int intezmenyId, string intezmenyAzonosito, int tanevId)
|
||||
{
|
||||
var tanuloMulasztasList = new List<MulasztasResponseCo>();
|
||||
|
||||
var tanuloMulasztasDt = GetAndValidateTanoraHelper(request.TanoraId, teacherId, intezmenyId, intezmenyAzonosito, tanevId).GetTanuloMulasztasok(request.TanoraId).Tables[0];
|
||||
|
||||
foreach (DataRow mulasztas in tanuloMulasztasDt.Rows)
|
||||
{
|
||||
tanuloMulasztasList.Add(new MulasztasResponseCo
|
||||
{
|
||||
Id = mulasztas.Field<int>("Id"),
|
||||
Tipus = new NaploEnumCo<MulasztasTipusEnum>(mulasztas.Field<int>("Tipus")),
|
||||
Keses = mulasztas.Field<int?>("Keses"),
|
||||
TanuloId = mulasztas.Field<int>("TanuloId")
|
||||
});
|
||||
}
|
||||
|
||||
return tanuloMulasztasList;
|
||||
}
|
||||
|
||||
public static OsztalyTanuloiResponseCo GetOsztalyTanuloi(int teacherId, OsztalyTanuloiRequestCo request, string intezmenyAzonosito, int intezmenyId, int tanevId)
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId));
|
||||
|
||||
var osztalyTanuloDao = osztalyCsoportHelper.GetOsztalyCsoportTanulokEsFelmenteseik(request.OsztalyCsoportId, request.OraShortDatuma, null, null).ToDaoList<TanuloResponseDao>();
|
||||
var osztalyCsoport = osztalyCsoportHelper.GetOsztalyCsoportCoList().Find(x => x.Id == request.OsztalyCsoportId);
|
||||
|
||||
if (osztalyCsoport == default)
|
||||
throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NemLetezoOsztalyCsoport);
|
||||
|
||||
var osztalyTanuloi = new OsztalyTanuloiResponseCo
|
||||
{
|
||||
Id = request.OsztalyCsoportId,
|
||||
Nev = osztalyCsoport.Nev,
|
||||
};
|
||||
|
||||
foreach (var tanuloGroup in osztalyTanuloDao.GroupBy(x => x.TanuloId))
|
||||
{
|
||||
var tanulo = tanuloGroup.FirstOrDefault();
|
||||
|
||||
var tanuloResponse = new TanuloResponseCo(tanulo);
|
||||
|
||||
if (tanulo.TantargyId.HasValue)
|
||||
{
|
||||
tanuloResponse.Felmentesek = tanuloGroup.Select(felmentes => new TanuloMentessegResponseCo(felmentes.TantargyId, felmentes.IsErtekelesMentesseg, felmentes.IsSzovegesenErtekelheto, felmentes.IsOraMentesites)).ToList();
|
||||
}
|
||||
|
||||
osztalyTanuloi.TanuloLista.Add(tanuloResponse);
|
||||
}
|
||||
|
||||
return osztalyTanuloi;
|
||||
}
|
||||
|
||||
private static TanoraHelper GetAndValidateTanoraHelper(int tanoraId, int userId, int intezmenyId, string intezmenyAzonosito, int tanevId)
|
||||
{
|
||||
var tanoraHelper = new TanoraHelper(new MobileConnectionType(userId, intezmenyId, intezmenyAzonosito, tanevId));
|
||||
|
||||
if (!tanoraHelper.IsValidTanoraId(tanoraId))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NemLezetoTanitasiOra);
|
||||
}
|
||||
|
||||
return tanoraHelper;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.OrarendiOra.JavasoltJelenlet;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.ParameterClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
|
||||
{
|
||||
public static class OrarendiOraSubqueries
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the filters to be executory from the template. The order of filters does not matter.
|
||||
/// </summary>
|
||||
public static List<JavasoltJelenletGetResponseCo> ListJavasoltJelenlet(int teacherId, int intezmenyId, string intezmenyAzonosito, int tanevId, IDalHandler h, JavasoltJelenletGetRequestCo request, Enums.OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum)
|
||||
{
|
||||
var response = new List<JavasoltJelenletGetResponseCo>();
|
||||
var tanarHelyettesitesLogic = new HelyettesitesLogic.Tanar(teacherId, tanevId, intezmenyId, intezmenyAzonosito, oktatasNevelesKategoriaEnum);
|
||||
|
||||
foreach (var orarendiOraKey in request.Key)
|
||||
{
|
||||
var orarendiOraEntity = h.OrarendiOra().Get(orarendiOraKey.OrarendiOraId);
|
||||
|
||||
if (!orarendiOraKey.IsHelyettesitesKeresoAltalTalaltOra &&
|
||||
orarendiOraEntity.TanarId != teacherId &&
|
||||
!tanarHelyettesitesLogic.IsHelyettesito(orarendiOraEntity.OsztalyCsoportId, orarendiOraEntity.TantargyId))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, NaploApiResource.NincsJogosultsagaCsakASajatVagyHelyettesitesiOraKerdezhetoLe);
|
||||
}
|
||||
|
||||
var osztalyTanuloi = OraSubqueries.GetOsztalyTanuloi(teacherId, new OsztalyTanuloiRequestCo() { OsztalyCsoportId = orarendiOraEntity.OsztalyCsoportId, OraShortDatuma = orarendiOraKey.OraKezdetDatuma }, intezmenyAzonosito, intezmenyId, tanevId);
|
||||
var igazolasLista = h.IgazolasDal().GetIgazolasokListajaGrid(
|
||||
new IgazolasokListajaSearchPCO
|
||||
{
|
||||
OsztalyCsoportSearch = orarendiOraEntity.OsztalyCsoportId,
|
||||
IgazolasDatuma = orarendiOraKey.OraKezdetDatuma
|
||||
},
|
||||
oktatasNevelesKategoriaEnum).Tables[0];
|
||||
|
||||
response.Add(new JavasoltJelenletGetResponseCo
|
||||
{
|
||||
OrarendiOraId = orarendiOraKey.OrarendiOraId,
|
||||
OraKezdetDatuma = orarendiOraKey.OraKezdetDatuma,
|
||||
TanuloLista = GetTanuloListaWithSzuroLista(osztalyTanuloi.TanuloLista, igazolasLista, orarendiOraEntity.TantargyId, orarendiOraKey.OraKezdetDatuma, orarendiOraKey.OraVegDatuma, orarendiOraEntity.OsztalyCsoportId)
|
||||
});
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
bool HasTanuloIgazolas(int tanuloId, DataTable igazolasLista) => igazolasLista.AsEnumerable().Any(x => x.Field<int>("TanuloId") == tanuloId);
|
||||
|
||||
List<JavasoltJelenletTanuloGetResponseCo> GetTanuloListaWithSzuroLista(List<TanuloResponseCo> tanuloLista, DataTable igazolasLista, int tantargyId, DateTime oraKezdetDatuma, DateTime oraVegDatuma, int osztalyCsoportId)
|
||||
{
|
||||
var javasoltJelenletTanuloLista = new List<JavasoltJelenletTanuloGetResponseCo>();
|
||||
|
||||
if (!tanuloLista.Any())
|
||||
{
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
|
||||
var parhuzamosOranNaplozottTanuloIdList = OrarendiOraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdetDatuma, oraVegDatuma, new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), h);
|
||||
var elozoOranHianyzottTanuloIdList = OraLogic.ListElozoOranHianyzottTanuloId(oraKezdetDatuma, osztalyCsoportId, teacherId, intezmenyId, intezmenyAzonosito, tanevId);
|
||||
var isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled = SystemSettingsLogic.IsMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled(intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var isMagantanuloOralatogatasAloliMentessegEnabled = SystemSettingsLogic.IsMagantanuloOralatogatasAloliMentessegEnabled(tantargyId, intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var felmentesek = FelmentesSubqueries.ListFelmentes(new FelmentesGetRequestCo
|
||||
{
|
||||
TanuloIds = tanuloLista.Select(t => t.Id),
|
||||
FelhasznaloId = teacherId,
|
||||
IntezmenyId = intezmenyId,
|
||||
IntezmenyAzonosito = intezmenyAzonosito,
|
||||
TanevId = tanevId,
|
||||
TantargyId = tantargyId
|
||||
});
|
||||
|
||||
foreach (var tanulo in tanuloLista)
|
||||
{
|
||||
var javasoltJelenletTemplateTipusSzuroLista = new List<IJavasoltJelenletSzuroGetResponseCo>
|
||||
{
|
||||
new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Default)
|
||||
};
|
||||
|
||||
if (HasTanuloIgazolas(tanulo.Id, igazolasLista))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Igazolas));
|
||||
}
|
||||
|
||||
if (elozoOranHianyzottTanuloIdList?.Contains(tanulo.Id) ?? false)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ElozoOranHianyzott));
|
||||
}
|
||||
|
||||
if (isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled && parhuzamosOranNaplozottTanuloIdList.Contains(tanulo.Id))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ParhuzamosOranNaplozott));
|
||||
}
|
||||
|
||||
if (felmentesek.ContainsKey(tanulo.Id) && TanuloLogic.CalculateIsNowFelmentett(felmentesek[tanulo.Id], oraKezdetDatuma, intezmenyId, intezmenyAzonosito, tanevId, FelmentesType.OralatogatasAlol))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Felmentes));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsSzakmaiGyakorlatonLevo)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.SzakmaiGyakorlat));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsJogviszonySzunetelteto)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.JogviszonySzuneteltetes));
|
||||
}
|
||||
|
||||
if (TanuloLogic.CalculateIsNowMagantanulo(tanulo.IsMaganTanulo, tanulo.MaganTanulosagKezdetDatuma, tanulo.MaganTanulosagVegeDatuma, oraKezdetDatuma) && isMagantanuloOralatogatasAloliMentessegEnabled)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg));
|
||||
}
|
||||
|
||||
javasoltJelenletTanuloLista.Add(new JavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
TanuloId = tanulo.Id,
|
||||
JavasoltJelenletTemplateTipusSzuroLista = javasoltJelenletTemplateTipusSzuroLista
|
||||
});
|
||||
}
|
||||
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Post
|
||||
{
|
||||
public static class ErtekelesPostSubqueries
|
||||
{
|
||||
public static List<ErtekelesResponseCo> CreateOsztalyCsoportErtekeles(int teacherId, DefaultConnectionParameters defaultConnectionParameters, List<OsztalyCsoportErtekelesRequestCo> request)
|
||||
{
|
||||
var response = new List<ErtekelesResponseCo>();
|
||||
|
||||
if (IsRequestContainsDuplicatedItem(request))
|
||||
{
|
||||
response.Add(new ErtekelesResponseCo()
|
||||
{
|
||||
Exception = new ValidationException("A kérés többször tartalmazza ugyanazt az értékelést!")
|
||||
});
|
||||
return response;
|
||||
}
|
||||
|
||||
var helper = new TanuloErtekelesHelper(new MobileConnectionType(teacherId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId));
|
||||
foreach (var osztalyCsoportErtekeles in request)
|
||||
{
|
||||
try
|
||||
{
|
||||
helper.SaveTanuloErtekelesListMobilV2(teacherId, osztalyCsoportErtekeles);
|
||||
}
|
||||
catch (ValidationException execption)
|
||||
{
|
||||
response.Add(new ErtekelesResponseCo()
|
||||
{
|
||||
Exception = execption
|
||||
});
|
||||
}
|
||||
catch (EntityNotFoundException)
|
||||
{
|
||||
response.Add(new ErtekelesResponseCo()
|
||||
{
|
||||
Exception = CreateMobileExeption(osztalyCsoportErtekeles.TanuloLista, ErrorResource.AzElemNemTalalhatoVagyToroltek)
|
||||
});
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
response.Add(new ErtekelesResponseCo()
|
||||
{
|
||||
Exception = CreateMobileExeption(osztalyCsoportErtekeles.TanuloLista, ErrorResource.Hiba)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
private static ValidationException CreateMobileExeption(List<TanuloForOsztalyCsoportErtekelesRequestCo> tanuloList, string message)
|
||||
{
|
||||
var ex = new ValidationException(ValidationErrorType.Undefined, TanuloErtekelesResource.HibasErtekeles);
|
||||
foreach (var item in tanuloList)
|
||||
{
|
||||
ex.AddValidationItem(item.MobilId.ToString(), message);
|
||||
}
|
||||
return ex;
|
||||
}
|
||||
|
||||
private static bool IsRequestContainsDuplicatedItem(List<OsztalyCsoportErtekelesRequestCo> request)
|
||||
{
|
||||
var requestUniqueItems = new List<(DateTime datum, int tantargyId, string tema, int tanuloErtekelesHashCode)>();
|
||||
|
||||
foreach (var item in request)
|
||||
{
|
||||
int tanuloErtekelesHashCode = item.TanuloLista.Select(x => $"{x.TanuloId} + {x.Ertekeles.OsztalyzatTipus} + {x.Ertekeles.Szazalek} + {x.Ertekeles.Szoveg}").Aggregate((a, b) => a + b).GetHashCode();
|
||||
var requestItem = (item.Datum, item.TantargyId, item.Tema, tanuloErtekelesHashCode);
|
||||
if (requestUniqueItems.Contains(requestItem))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
requestUniqueItems.Add(requestItem);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Common.Co;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.OpenBoard;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Post
|
||||
{
|
||||
public static class FeltoltottFajlPostSubqueries
|
||||
{
|
||||
public static FeltoltottFajlResponseCo CreateFajlFeltoltes(IDalHandler h, IFileServiceHelper fileServiceHelper, DefaultConnectionParameters defaultConnectionParameters, FeltoltottFajlRequestCo request)
|
||||
{
|
||||
var response = new FeltoltottFajlResponseCo();
|
||||
if (request.TanitasiOraId.HasValue && request.OrarendiOraId.HasValue)
|
||||
{
|
||||
response.Exception = new ValidationException("Hibás kérelem!");
|
||||
return response;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
IConnectionType connection = new DalHandlerConnectionType(new MobileConnectionType(defaultConnectionParameters.FelhasznaloId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId), h);
|
||||
var openBoardHelper = new OpenBoardHelper(new DalHandlerConnectionType(new MobileConnectionType(defaultConnectionParameters.FelhasznaloId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId), h), fileServiceHelper);
|
||||
var dktFileHelper = new DktFileHelper(new DalHandlerConnectionType(new MobileConnectionType(defaultConnectionParameters.FelhasznaloId, defaultConnectionParameters.IntezmenyId, defaultConnectionParameters.IntezmenyAzonosito, defaultConnectionParameters.TanevId), h), fileServiceHelper);
|
||||
|
||||
int feltoltottFajlokSzama = openBoardHelper.GetFeltoltottFajlokSzama(DateTime.Now, request.OrarendiOraId, request.TanitasiOraId);
|
||||
int feltolthetoFajlokSzama = Constant.FeltolthetoFajlokMaxSzama - feltoltottFajlokSzama;
|
||||
|
||||
if (feltolthetoFajlokSzama < 1)
|
||||
{
|
||||
throw new ValidationException("Nem tölthető fel a fájl, mert elérte a maximális feltöltési limitet ehhez az órához!");
|
||||
}
|
||||
|
||||
DateTime ido = DateTime.Now;
|
||||
int sorszam = feltoltottFajlokSzama + 1;
|
||||
string fileName = $"Kep_{sorszam}_{ido.ToString(Constant.DateTimeFormat)}";
|
||||
string contentType = "image/jpeg";
|
||||
|
||||
var intezmenyGuid = new IntezmenyHelper(connection).GetIntezmenyiAdatok().IntezmenyGuid;
|
||||
|
||||
var path = $"OpenBoard/{intezmenyGuid}/{defaultConnectionParameters.TanevId}";
|
||||
if (request.TanitasiOraId.HasValue)
|
||||
{
|
||||
path += $"/TanitasiOra/{request.TanitasiOraId.Value}";
|
||||
}
|
||||
else if (request.OrarendiOraId.HasValue)
|
||||
{
|
||||
path += $"/OrarendiOra/{request.OrarendiOraId.Value}";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ValidationException("Nem tartozhat Órarendi órához és Tanítási órához is a kép! Csak az egyik legyen megadva!");
|
||||
}
|
||||
|
||||
var fileId = dktFileHelper.UploadFile(string.Concat(fileName, ".jpeg"), Convert.FromBase64String(request.ContentAsBase64EncodedString.Replace("data:image/jpeg;base64,", "")), contentType, path);
|
||||
|
||||
var oraFileHelper = new OraFileHelper(connection);
|
||||
oraFileHelper.InsertFileToOraFile(fileId, request.OrarendiOraId, request.TanitasiOraId, ido.Date, (int)OraFileTipusEnum.openboard, true);
|
||||
|
||||
response.FeltolthetoFajlokSzama = feltolthetoFajlokSzama - 1;
|
||||
}
|
||||
catch (ValidationException e)
|
||||
{
|
||||
response.Exception = e;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Naplozas;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Validation;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Post
|
||||
{
|
||||
public static class OrarendPostSubqueries
|
||||
{
|
||||
public static List<OraNaplozasResponseCo> CreateOraNaplozas(int teacherId, int intezmenyId, string intezmenyAzonosito, int tanevId, List<OraNaplozasRequestCo> request, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
var response = new List<OraNaplozasResponseCo>();
|
||||
|
||||
if (request.Count < 1)
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.NincsNaplozandoOra);
|
||||
}
|
||||
|
||||
var naploValidacioParameters = new NaploValidacioParameters(from: request.Min(x => x.Datum), to: request.Max(x => x.Datum).AddDays(1), new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), felhasznaloSzerepkor: null);
|
||||
|
||||
var naploValidator = new NaploValidacio(naploValidacioParameters);
|
||||
CheckAzonosElem(request);
|
||||
|
||||
return OraNaplozas();
|
||||
|
||||
List<OraNaplozasResponseCo> OraNaplozas()
|
||||
{
|
||||
foreach (var naplozandoOra in request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var blValidator = new BlValidator(naplozandoOra);
|
||||
if (!blValidator.IsValid)
|
||||
{
|
||||
throw blValidator.ConvertToValidationException();
|
||||
}
|
||||
var logicCo = new NaplozasMobilCo();
|
||||
naplozandoOra.ConvertTo(logicCo);
|
||||
var naplozasLogic = new NaplozasLogic(naploValidator, logicCo);
|
||||
naplozasLogic.SaveNaplozas(fileServiceHelper, coreApiClient);
|
||||
response.Add(new OraNaplozasResponseCo()
|
||||
{
|
||||
Exception = null,
|
||||
MobilId = naplozandoOra.MobilId
|
||||
});
|
||||
}
|
||||
catch (ValidationException execption)
|
||||
{
|
||||
response.Add(new OraNaplozasResponseCo()
|
||||
{
|
||||
Exception = execption,
|
||||
MobilId = naplozandoOra.MobilId
|
||||
});
|
||||
}
|
||||
catch (EntityNotFoundException)
|
||||
{
|
||||
response.Add(new OraNaplozasResponseCo()
|
||||
{
|
||||
Exception = new ValidationException(ValidationErrorType.Undefined, ErrorResource.NaplozasSikertelenAzOraMarNemLetezikAKivalasztottNapon),
|
||||
MobilId = naplozandoOra.MobilId
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
private static void CheckAzonosElem(List<OraNaplozasRequestCo> request)
|
||||
{
|
||||
var tupleList = new List<(int OraRendiOraId, DateTime Date)>();
|
||||
foreach (var naplozandoOra in request)
|
||||
{
|
||||
if (tupleList.Any(x => x.OraRendiOraId == naplozandoOra.OrarendiOraId && x.Date == naplozandoOra.Datum))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.TobbszorosNaplozas);
|
||||
}
|
||||
|
||||
if (naplozandoOra.OrarendiOraId.HasValue)
|
||||
{
|
||||
tupleList.Add((OraRendiOraId: naplozandoOra.OrarendiOraId.Value, Date: naplozandoOra.Datum));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Felmentes;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.Common;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Ora.TanitasiOra.JavasoltJelenlet;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanulo;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.Get;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.ParameterClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
|
||||
{
|
||||
public static class TanitasiOraSubqueries
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the filters to be executory from the template. The order of filters does not matter.
|
||||
/// </summary>
|
||||
public static List<JavasoltJelenletGetResponseCo> ListJavasoltJelenlet(int teacherId, int intezmenyId, string intezmenyAzonosito, int tanevId, IDalHandler h, JavasoltJelenletGetRequestCo request, Enums.OktNevelesiKategoriaEnum? oktatasNevelesKategoriaEnum)
|
||||
{
|
||||
var response = new List<JavasoltJelenletGetResponseCo>();
|
||||
var tanarHelyettesitesLogic = new HelyettesitesLogic.Tanar(teacherId, tanevId, intezmenyId, intezmenyAzonosito, oktatasNevelesKategoriaEnum);
|
||||
|
||||
foreach (var tanitasiOraKey in request.Key)
|
||||
{
|
||||
var tanitasiOraEntity = h.TanitasiOra().Get(tanitasiOraKey.TanitasiOraId);
|
||||
|
||||
if (tanitasiOraEntity.TanarId != teacherId && !tanarHelyettesitesLogic.IsHelyettesito(tanitasiOraEntity.OsztalyCsoportId, tanitasiOraEntity.TantargyId))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, NaploApiResource.NincsJogosultsagaCsakASajatVagyHelyettesitesiOraKerdezhetoLe);
|
||||
}
|
||||
|
||||
var osztalyTanuloi = OraSubqueries.GetOsztalyTanuloi(teacherId, new OsztalyTanuloiRequestCo() { OsztalyCsoportId = tanitasiOraEntity.OsztalyCsoportId, OraShortDatuma = tanitasiOraEntity.Datum }, intezmenyAzonosito, intezmenyId, tanevId);
|
||||
var igazolasLista = h.IgazolasDal().GetIgazolasokListajaGrid(
|
||||
new IgazolasokListajaSearchPCO
|
||||
{
|
||||
OsztalyCsoportSearch = tanitasiOraEntity.OsztalyCsoportId,
|
||||
IgazolasDatuma = tanitasiOraEntity.OraKezdete
|
||||
},
|
||||
oktatasNevelesKategoriaEnum).Tables[0];
|
||||
|
||||
response.Add(new JavasoltJelenletGetResponseCo
|
||||
{
|
||||
TanitasiOraId = tanitasiOraKey.TanitasiOraId,
|
||||
TanuloLista = GetTanuloListaWithSzuroLista(osztalyTanuloi.TanuloLista, igazolasLista, tanitasiOraEntity.TantargyId, tanitasiOraEntity.OraKezdete, tanitasiOraEntity.OraVege, tanitasiOraKey.TanitasiOraId, tanitasiOraEntity.OsztalyCsoportId)
|
||||
});
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
bool HasTanuloIgazolas(int tanuloId, DataTable igazolasLista) => igazolasLista.AsEnumerable().Any(x => x.Field<int>("TanuloId") == tanuloId);
|
||||
|
||||
List<JavasoltJelenletTanuloGetResponseCo> GetTanuloListaWithSzuroLista(List<TanuloResponseCo> tanuloLista, DataTable igazolasLista, int tantargyId, DateTime oraKezdetDatuma, DateTime oraVegDatuma, int tanitasiOraId, int osztalyCsoportId)
|
||||
{
|
||||
var javasoltJelenletTanuloLista = new List<JavasoltJelenletTanuloGetResponseCo>();
|
||||
|
||||
if (!tanuloLista.Any())
|
||||
{
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
|
||||
var parhuzamosOranNaplozottTanuloIdList = TanitasiOraLogic.ListParhuzamosOranNaplozottMulasztasTanuloId(oraKezdetDatuma, oraVegDatuma, tanitasiOraId, new MobileConnectionType(teacherId, intezmenyId, intezmenyAzonosito, tanevId), h);
|
||||
var elozoOranHianyzottTanuloIdList = OraLogic.ListElozoOranHianyzottTanuloId(oraKezdetDatuma, osztalyCsoportId, teacherId, intezmenyId, intezmenyAzonosito, tanevId);
|
||||
var isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled = SystemSettingsLogic.IsMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled(intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var isMagantanuloOralatogatasAloliMentessegEnabled = SystemSettingsLogic.IsMagantanuloOralatogatasAloliMentessegEnabled(tantargyId, intezmenyAzonosito, tanevId, teacherId, intezmenyId);
|
||||
var felmentesek = FelmentesSubqueries.ListFelmentes(new FelmentesGetRequestCo
|
||||
{
|
||||
TanuloIds = tanuloLista.Select(t => t.Id),
|
||||
FelhasznaloId = teacherId,
|
||||
IntezmenyId = intezmenyId,
|
||||
IntezmenyAzonosito = intezmenyAzonosito,
|
||||
TanevId = tanevId,
|
||||
TantargyId = tantargyId
|
||||
});
|
||||
|
||||
foreach (var tanulo in tanuloLista)
|
||||
{
|
||||
var javasoltJelenletTemplateTipusSzuroLista = new List<IJavasoltJelenletSzuroGetResponseCo>
|
||||
{
|
||||
new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Default)
|
||||
};
|
||||
|
||||
if (HasTanuloIgazolas(tanulo.Id, igazolasLista))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Igazolas));
|
||||
}
|
||||
|
||||
if (elozoOranHianyzottTanuloIdList?.Contains(tanulo.Id) ?? false)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ElozoOranHianyzott));
|
||||
}
|
||||
|
||||
if (isMulasztasokParhuzamosOraKezelesUtkozesVizsgalatEnabled && parhuzamosOranNaplozottTanuloIdList.Contains(tanulo.Id))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.ParhuzamosOranNaplozott));
|
||||
}
|
||||
|
||||
if (felmentesek.ContainsKey(tanulo.Id) && TanuloLogic.CalculateIsNowFelmentett(felmentesek[tanulo.Id], oraKezdetDatuma, intezmenyId, intezmenyAzonosito, tanevId, FelmentesType.OralatogatasAlol))
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.Felmentes));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsSzakmaiGyakorlatonLevo)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.SzakmaiGyakorlat));
|
||||
}
|
||||
|
||||
if (tanulo.TanugyiAdatok.IsJogviszonySzunetelteto)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.JogviszonySzuneteltetes));
|
||||
}
|
||||
|
||||
if (TanuloLogic.CalculateIsNowMagantanulo(tanulo.IsMaganTanulo, tanulo.MaganTanulosagKezdetDatuma, tanulo.MaganTanulosagVegeDatuma, oraKezdetDatuma) && isMagantanuloOralatogatasAloliMentessegEnabled)
|
||||
{
|
||||
javasoltJelenletTemplateTipusSzuroLista.Add(new JavasoltJelenletSzuroGetResponseCo(JavasoltJelenletTemplateType.MagantanuloOralatogatasAloliMentesseg));
|
||||
}
|
||||
|
||||
javasoltJelenletTanuloLista.Add(new JavasoltJelenletTanuloGetResponseCo
|
||||
{
|
||||
TanuloId = tanulo.Id,
|
||||
JavasoltJelenletTemplateTipusSzuroLista = javasoltJelenletTemplateTipusSzuroLista
|
||||
});
|
||||
}
|
||||
|
||||
return javasoltJelenletTanuloLista;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Tanmenet;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Logic;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo
|
||||
{
|
||||
public static class TanmenetSubqueries
|
||||
{
|
||||
public static List<TanmenetGetResponseCo> ListTanmenet(IDalHandler h, int teacherId, int tanevId, int intezmenyId, string intezmenyAzonosito, TanmenetGetRequestCo request)
|
||||
{
|
||||
var allowedRequestRecordLength = 10;
|
||||
if (request.Key.Length > allowedRequestRecordLength)
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, $"Hiba történt, {nameof(allowedRequestRecordLength)}={allowedRequestRecordLength}!");
|
||||
}
|
||||
|
||||
var errors = new List<ValidationExceptionItem>();
|
||||
var tanarHelyettesitesLogic = new HelyettesitesLogic.Tanar(teacherId, tanevId, intezmenyId, intezmenyAzonosito, null);
|
||||
|
||||
for (int i = 0; i < request.Key.Length; i++)
|
||||
{
|
||||
var tanmenetKey = request.Key[i];
|
||||
|
||||
if (tanmenetKey.FeltoltoTanarId != teacherId && !tanarHelyettesitesLogic.IsHelyettesito(tanmenetKey.OsztalyCsoportId, tanmenetKey.TantargyId))
|
||||
{
|
||||
errors.Add(new ValidationExceptionItem(i.ToString(), $"Nincs jogosultsága, csak a saját vagy helyettesítési tanmenet kérdezhető le!"));
|
||||
}
|
||||
}
|
||||
|
||||
if (errors.Count > 0)
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.Undefined, "Hiba történt!", errors);
|
||||
}
|
||||
|
||||
var response = new List<TanmenetGetResponseCo>();
|
||||
var tanmenetDal = h.Tanmenet();
|
||||
|
||||
foreach (var tanmenetKey in request.Key)
|
||||
{
|
||||
var tanmenetItems = new List<TanmenetItemGetResponseCo>();
|
||||
var tanmenetItemDt = tanmenetDal.GetTanmenetek(tanmenetKey.TantargyId, tanmenetKey.OsztalyCsoportId, tanmenetKey.FeltoltoTanarId).Tables[0];
|
||||
foreach (DataRow tanmenetItem in tanmenetItemDt.Rows)
|
||||
{
|
||||
tanmenetItems.Add(new TanmenetItemGetResponseCo
|
||||
{
|
||||
Id = tanmenetItem.Field<int>("ID"),
|
||||
EvesOraszam = tanmenetItem.Field<int>("Oraszam"),
|
||||
Tema = tanmenetItem.Field<string>("Tema"),
|
||||
Megjegyzes = tanmenetItem.Field<string>("Megjegyzes"),
|
||||
Nev = tanmenetItem.Field<string>("Nev"),
|
||||
RovidNev = tanmenetItem.Field<string>("RovidNev")
|
||||
});
|
||||
}
|
||||
|
||||
response.Add(new TanmenetGetResponseCo
|
||||
{
|
||||
OsztalyCsoportId = tanmenetKey.OsztalyCsoportId,
|
||||
TantargyId = tanmenetKey.TantargyId,
|
||||
FeltoltoTanarId = tanmenetKey.FeltoltoTanarId,
|
||||
Items = tanmenetItems
|
||||
});
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Enum;
|
||||
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Get.Enum;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums.WebApi.Naplo;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.SubqueriesRepo.UtilityMethods
|
||||
{
|
||||
public static class EnumSubqueries
|
||||
{
|
||||
public static List<NaploEnumListItemCo> GetNaploEnum(IDalHandler h, int tanevId, EnumRequestCo request)
|
||||
{
|
||||
var naploEnumList = new List<NaploEnumListItemCo>();
|
||||
|
||||
var dal = h.AdatszotarDAL();
|
||||
DataTable adatszotarDt = new DataTable();
|
||||
|
||||
switch (request.EngedelyezettEnum.GetEnum())
|
||||
{
|
||||
case EngedelyezettEnumok.ErtekelesModEnum:
|
||||
adatszotarDt = dal.GetAdatszotarLathatoElemek(GeneratedAdatszotarTipusEnum.ErtekelesMod, tanevId).Tables[0];
|
||||
break;
|
||||
case EngedelyezettEnumok.ErtekelesTipusEnum:
|
||||
adatszotarDt = dal.GetAdatszotarLathatoElemek(GeneratedAdatszotarTipusEnum.ErtekelesTipus, tanevId).Tables[0];
|
||||
break;
|
||||
case EngedelyezettEnumok.OsztalyzatTipusEnum:
|
||||
adatszotarDt = dal.GetAdatszotarLathatoElemek(GeneratedAdatszotarTipusEnum.OsztalyzatTipus, tanevId).Tables[0];
|
||||
break;
|
||||
case EngedelyezettEnumok.MulasztasTipusEnum:
|
||||
adatszotarDt = dal.GetAdatszotarLathatoElemek(GeneratedAdatszotarTipusEnum.MulasztasTipus, tanevId).Tables[0];
|
||||
break;
|
||||
case EngedelyezettEnumok.EsemenyTipusEnum: /// TODO devKornél: mobilosokkal egyeztetve, ez itt hibás is, és nem is használják
|
||||
naploEnumList.Add(new NaploEnumListItemCo((int)EsemenyTipusEnum.HaziFeladatHiany, null, nameof(EsemenyTipusEnum.HaziFeladatHiany)));
|
||||
naploEnumList.Add(new NaploEnumListItemCo((int)EsemenyTipusEnum.Felszereleshiany, null, nameof(EsemenyTipusEnum.Felszereleshiany)));
|
||||
naploEnumList.Add(new NaploEnumListItemCo((int)EsemenyTipusEnum.SzakmaiMentessegNemHivatalos, null, nameof(EsemenyTipusEnum.SzakmaiMentessegNemHivatalos)));
|
||||
naploEnumList.Add(new NaploEnumListItemCo((int)EsemenyTipusEnum.Dicseret, null, nameof(EsemenyTipusEnum.Dicseret)));
|
||||
|
||||
return naploEnumList;
|
||||
}
|
||||
|
||||
foreach (DataRow item in adatszotarDt.Rows)
|
||||
{
|
||||
naploEnumList.Add(new NaploEnumListItemCo(item.Field<int>("ID"), null, item.Field<string>("Megnevezes")));
|
||||
}
|
||||
|
||||
return naploEnumList;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions.Enum;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Enum
|
||||
{
|
||||
public class NaploEnumCo<T> where T : struct, IConvertible
|
||||
{
|
||||
public static implicit operator NaploEnumCo<T>(int id) => new NaploEnumCo<T>(id);
|
||||
public static implicit operator NaploEnumCo<T>(T enumValue) => new NaploEnumCo<T>(Convert.ToInt32(enumValue));
|
||||
public static bool operator ==(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => lhsWrapperCo.GetEnum().Equals(rhsEnum);
|
||||
public static bool operator !=(NaploEnumCo<T> lhsWrapperCo, T rhsEnum) => !lhsWrapperCo.GetEnum().Equals(rhsEnum);
|
||||
|
||||
public string EnumTypeNameWPostFix => typeof(T).Name;
|
||||
public string EnumTypeName => EnumTypeNameWPostFix.Replace("Enum", "").Replace("enum", "");
|
||||
public bool IsGeneratedEnum => !string.IsNullOrWhiteSpace(Nev);
|
||||
|
||||
public T GetEnum()
|
||||
{
|
||||
T enumValue;
|
||||
|
||||
if (!System.Enum.TryParse<T>(Nev, out enumValue))
|
||||
{
|
||||
throw new ValidationException(ValidationErrorType.ResourceNotFound, ErrorResource.NemEngedelyezettVagyNemLetezoEnum);
|
||||
}
|
||||
|
||||
return enumValue;
|
||||
}
|
||||
public int Id { get; private set; }
|
||||
public string Nev { get; private set; }
|
||||
|
||||
public NaploEnumCo(int id)
|
||||
{
|
||||
Fill(id);
|
||||
if (!typeof(T).IsEnum)
|
||||
{
|
||||
throw new ArgumentException("T must be an enum");
|
||||
}
|
||||
}
|
||||
|
||||
private void Fill(int id)
|
||||
{
|
||||
Id = id;
|
||||
Nev = System.Enum.GetName(typeof(T), id);
|
||||
if (!typeof(T).IsEnum)
|
||||
{
|
||||
throw new ArgumentException("T must be an enum");
|
||||
}
|
||||
}
|
||||
|
||||
public NaploEnumCo(int id, string nev)
|
||||
{
|
||||
Id = id;
|
||||
Nev = nev;
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue