93 lines
4.9 KiB
C#
93 lines
4.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|