410 lines
24 KiB
C#
410 lines
24 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V3.Co.Ertekeles;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Logic;
|
|
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Enum;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.Core.Validation.Exceptions;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Naplo.BusinessLogic.V3.Logic;
|
|
using Kreta.Naplo.Dao.V3.Orarend;
|
|
using Kreta.Naplo.Dao.V3.OsztalyCsoport;
|
|
using Kreta.Naplo.Dao.V3.Tanulo;
|
|
using Kreta.Naplo.Domain.V3.Common;
|
|
using Kreta.Naplo.Domain.V3.Enum;
|
|
using Kreta.Naplo.Domain.V3.Ertekeles;
|
|
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.Naplo.BusinessLogic.V3.OsztalyCsoport
|
|
{
|
|
public static class OsztalyCsoportSubqueries
|
|
{
|
|
internal static void CreateOsztalyCsoportErtekeles(DefaultConnectionParameters dcp, List<OsztalyCsoportErtekelesRequest> request)
|
|
{
|
|
if (request.Any(r => !r.TanuloLista.Any()))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.NincsKitoltveEgyetlenErtekelesSem, BlExceptionType.ModelValidacio);
|
|
}
|
|
|
|
if (IsRequestContainsDuplicatedItem(request))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.ErtekelesDuplikalt, BlExceptionType.DuplikaltKulcs);
|
|
}
|
|
|
|
foreach ((var datum, var osztalyCsoportId) in request.Select(x => (x.Datum, x.OsztalyCsoportId)).Distinct())
|
|
{
|
|
if (!new NaplozarasLogic(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
|
|
.IsErtekelhetZarastolFuggetlenul(datum, osztalyCsoportId))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.ErtekelesNemAdhatoNaplozarasMiatt, BlExceptionType.NaploZaras);
|
|
}
|
|
}
|
|
|
|
foreach (var osztalyCsoportErtekeles in request)
|
|
{
|
|
var tanuloListaCo = osztalyCsoportErtekeles.TanuloLista.Select(x => new TanuloForOsztalyCsoportErtekelesRequestCo
|
|
{
|
|
Ertekeles = new ErtekelesRequestCo
|
|
{
|
|
OsztalyzatTipus = x.Ertekeles.OsztalyzatTipus.Uid.Id,
|
|
Szazalek = x.Ertekeles.Szazalek,
|
|
Szoveg = x.Ertekeles.Szoveg
|
|
},
|
|
TanuloId = x.TanuloId
|
|
}).ToList();
|
|
|
|
var co = new OsztalyCsoportErtekelesRequestCo
|
|
{
|
|
Datum = osztalyCsoportErtekeles.Datum.Date,
|
|
Mod = osztalyCsoportErtekeles.Mod.Uid.Id,
|
|
Tema = osztalyCsoportErtekeles.Tema,
|
|
OsztalyCsoportId = osztalyCsoportErtekeles.OsztalyCsoportId,
|
|
TantargyId = osztalyCsoportErtekeles.TantargyId,
|
|
TanuloLista = tanuloListaCo
|
|
};
|
|
|
|
try
|
|
{
|
|
new TanuloErtekelesHelper(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
|
|
.SaveTanuloErtekelesListMobil(dcp.FelhasznaloId, co);
|
|
}
|
|
catch (BlException exception)
|
|
{
|
|
throw new BlException(exception.Message, BlExceptionType.ModelValidacio);
|
|
}
|
|
catch (EntityNotFoundException)
|
|
{
|
|
throw new BlException(ErrorResource.AzElemNemTalalhatoVagyToroltek, BlExceptionType.ModelValidacio);
|
|
}
|
|
}
|
|
}
|
|
|
|
internal static IEnumerable<OsztalyCsoportTanuloResponse> GetOsztalyCsoportTanuloi(DefaultConnectionParameters dcp, OsztalyCsoportTanuloRequest request)
|
|
{
|
|
return dcp.DalHandler.TanuloCsoport().OsztalyTanuloi(dcp.TanevId, new List<int>() { request.OsztalyCsoportId }, datum: request.Datum ?? DateTime.Now)
|
|
.ToDaoList<OsztalyCsoportTanuloResponseDao>()
|
|
.Select(x => new OsztalyCsoportTanuloResponse { TanuloId = x.Id, TanuloNev = x.Nev, TanuloSzuletesiDatum = x.SzuletesiDatum, TanuloAnyjaNeve = x.AnyjaNeve });
|
|
}
|
|
|
|
private static bool IsRequestContainsDuplicatedItem(List<OsztalyCsoportErtekelesRequest> request)
|
|
{
|
|
var requestUniqueItems = new HashSet<(DateTime datum, int tantargyId, string tema, int tanuloErtekelesHashCode)>();
|
|
|
|
foreach (var item in request)
|
|
{
|
|
var tanuloErtekelesHashCode = item.TanuloLista.Select(x => $"{x.TanuloId} + {x.Ertekeles.OsztalyzatTipus} + {x.Ertekeles.Szazalek} + {x.Ertekeles.Szoveg}")
|
|
.Aggregate((a, b) => a + b).GetHashCode();
|
|
|
|
if (!requestUniqueItems.Add((item.Datum, item.TantargyId, item.Tema, tanuloErtekelesHashCode)))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
internal static HashSet<OsztalyCsoportErtekelesekResponse> GetOsztalyCsoportErtekelesek(DefaultConnectionParameters dcp, OsztalyCsoportErtekelesekRequest request)
|
|
{
|
|
if (!new NaplozarasLogic(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId))
|
|
.IsErtekelhetZarastolFuggetlenul(request.Datum, request.OsztalyCsoportId))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.ErtekelesNemAdhatoNaplozarasMiatt, BlExceptionType.NaploZaras);
|
|
}
|
|
|
|
var response = new HashSet<OsztalyCsoportErtekelesekResponse>();
|
|
|
|
var osztalyCsoportTanuloi = GetOsztalyCsoportTanuloi(dcp, new OsztalyCsoportTanuloRequest { OsztalyCsoportId = request.OsztalyCsoportId });
|
|
if (request.TanuloId.HasValue)
|
|
{
|
|
osztalyCsoportTanuloi = osztalyCsoportTanuloi.Where(t => t.TanuloId == request.TanuloId.Value);
|
|
}
|
|
var ertekelesekDaoList = dcp.DalHandler.TanuloErtekelesDal().GetErtekelesekDataSet(request.TantargyId, request.OsztalyCsoportId, request.TanuloId)
|
|
.ToDaoList<TanuloErtekelesekResponseDao>();
|
|
var ertekelesek = FilterErtekelesek(dcp.TanevId, ertekelesekDaoList, ErtekelesLekeresTipusEnum.NemBizonyitvanyErtekelesTipus);
|
|
var mentessegekDaoList = dcp.DalHandler.Tanulo().GetMentessegDataSet(request.TantargyId, request.TanuloId, request.Datum).ToDaoList<TanuloMentessegResponseDao>();
|
|
|
|
if (ertekelesek.Any())
|
|
{
|
|
var tanuloOrderedGroupedErtekelesek = ertekelesek.GroupBy(e => e.TanuloId);
|
|
var tanuloIds = ertekelesek.Select(e => e.TanuloId).Distinct().ToList();
|
|
var tantargyiAtlagokDaoList = dcp.DalHandler.TanuloErtekelesDal().GetTantargyiAtlagListDataSet(dcp.TanevId, new List<int> { request.TantargyId }, tanuloIds)
|
|
.ToDaoList<TantargyiAtlagResponseDao>();
|
|
|
|
foreach (var tanuloOrderedGroupedErtekeles in tanuloOrderedGroupedErtekelesek)
|
|
{
|
|
var legujabbErtekeles = tanuloOrderedGroupedErtekeles.First();
|
|
var tanuloMentesseg = mentessegekDaoList.Where(tm => tm.TanuloId == legujabbErtekeles.TanuloId);
|
|
response.Add(new OsztalyCsoportErtekelesekResponse
|
|
{
|
|
TanuloId = legujabbErtekeles.TanuloId,
|
|
TanuloErtekelesFelmentes = new TanuloMentessegResponse
|
|
{
|
|
TanoraLatogatasaAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.TanoraLatogatasaAloliFelmentes ?? false,
|
|
ErtekelesAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.ErtekelesAloliFelmentes ?? false,
|
|
SzovegesenErtekelheto = tanuloMentesseg.FirstOrDefault()?.SzovegesenErtekelheto ?? false,
|
|
FelmentesOka = tanuloMentesseg.FirstOrDefault()?.FelmentesOka
|
|
},
|
|
TanuloTantargyiAtlag = tantargyiAtlagokDaoList.Where(ta => ta.TanuloId == legujabbErtekeles.TanuloId).Select(ta => ta.SulyozottAtlag).FirstOrDefault(),
|
|
TanuloErtekelesSzam = tanuloOrderedGroupedErtekeles.Count(),
|
|
TanuloUtolsoErtekeles = new ErtekelesResponse
|
|
{
|
|
OsztalyzatTipus = legujabbErtekeles.ErtekelesOsztalyzatId,
|
|
Szazalek = legujabbErtekeles.ErtekelesSzazalek,
|
|
Szoveg = legujabbErtekeles.ErtekelesSzoveg,
|
|
TipusId = legujabbErtekeles.TipusId
|
|
},
|
|
TanuloUtolsoErtekelesDatum = legujabbErtekeles.ErtekelesDatum
|
|
});
|
|
}
|
|
}
|
|
var tanulokErtekelesekNelkul = osztalyCsoportTanuloi.Where(t => !response.Select(g => g.TanuloId).Contains(t.TanuloId));
|
|
foreach (var tanuloErtekelesNelkul in tanulokErtekelesekNelkul)
|
|
{
|
|
var tanuloMentesseg = mentessegekDaoList.Where(tm => tm.TanuloId == tanuloErtekelesNelkul.TanuloId);
|
|
_ = response.Add(new OsztalyCsoportErtekelesekResponse
|
|
{
|
|
TanuloId = tanuloErtekelesNelkul.TanuloId,
|
|
TanuloErtekelesFelmentes = new TanuloMentessegResponse
|
|
{
|
|
TanoraLatogatasaAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.TanoraLatogatasaAloliFelmentes ?? false,
|
|
ErtekelesAloliFelmentes = tanuloMentesseg.FirstOrDefault()?.ErtekelesAloliFelmentes ?? false,
|
|
SzovegesenErtekelheto = tanuloMentesseg.FirstOrDefault()?.SzovegesenErtekelheto ?? false,
|
|
FelmentesOka = tanuloMentesseg.FirstOrDefault()?.FelmentesOka
|
|
},
|
|
TanuloTantargyiAtlag = null,
|
|
TanuloErtekelesSzam = 0,
|
|
TanuloUtolsoErtekeles = null,
|
|
TanuloUtolsoErtekelesDatum = null
|
|
});
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
private static List<TanuloErtekelesekResponseDao> FilterErtekelesek(int tanevId, List<TanuloErtekelesekResponseDao> ertekelesekDaoList, ErtekelesLekeresTipusEnum ertekelesTipus)
|
|
{
|
|
var egyszerAdhatoTanuloErtekelesTipusIdList = EnumExtensions.GetErtekelesTipusDictionaryItems(tanevId, true).Select(x => x.Id).ToList();
|
|
switch (ertekelesTipus)
|
|
{
|
|
case ErtekelesLekeresTipusEnum.NemBizonyitvanyErtekelesTipus:
|
|
return ertekelesekDaoList.Where(e => egyszerAdhatoTanuloErtekelesTipusIdList.All(b => b != e.TipusId)).ToList();
|
|
case ErtekelesLekeresTipusEnum.BizonyitvanyErtekelesTipus:
|
|
return ertekelesekDaoList.Where(e => egyszerAdhatoTanuloErtekelesTipusIdList.Any(b => b == e.TipusId)).ToList();
|
|
case ErtekelesLekeresTipusEnum.MindenErtekelesTipus:
|
|
return ertekelesekDaoList;
|
|
default:
|
|
return ertekelesekDaoList;
|
|
}
|
|
}
|
|
|
|
internal static void TanuloErtekelesMentes(DefaultConnectionParameters dcp, int id, TanuloErtekelesMentesRequest request)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
|
|
var connectionType = new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler);
|
|
var tanuloErtekelesCo = new TanuloErtekelesHelper(connectionType).GetTanuloErtekelesCoById(id);
|
|
|
|
if (tanuloErtekelesCo != null && tanuloErtekelesCo.ErtekeloId == dcp.FelhasznaloId)
|
|
{
|
|
if ((tanuloErtekelesCo.OsztalyCsoportId.HasValue && new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik().Contains(tanuloErtekelesCo.OsztalyCsoportId.Value))
|
|
|| tanuloErtekelesCo.Datum <= new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemModosithatErtekelestAzOsztalyTanuloinaknak, BlExceptionType.NaploZaras);
|
|
}
|
|
|
|
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
|
|
tanuloErtekelesCo.Datum = request.ErtekelesDatum;
|
|
tanuloErtekelesCo.ErtekelesModId = request.ErtekelesModId;
|
|
tanuloErtekelesCo.ErtekelesTema = request.ErtekelesTema;
|
|
tanuloErtekelesCo.ErtekelesOsztalyzatId = request.ErtekelesOsztalyzatId;
|
|
tanuloErtekelesCo.ErtekelesSzoveg = tanuloErtekelesCo.ErtekelesSzovegFormazott = request.ErtekelesSzoveg;
|
|
tanuloErtekelesCo.ErtekelesSzazalek = request.ErtekelesSzazalek;
|
|
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
|
|
tanuloErtekelesCoList = new TanuloErtekelesValidacioMobil(connectionType).Validate(dcp.DalHandler, tanuloErtekelesCoList, out List<ValidationExceptionItem> errors);
|
|
|
|
if (errors.Any())
|
|
{
|
|
throw TanuloErtekelesLogicMobil.GetValidationException(errors);
|
|
}
|
|
|
|
new TanuloErtekelesHelper(connectionType).SaveTanuloErtekelesList(dcp.FelhasznaloId, tanuloErtekelesCoList);
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(BlExceptionType.NincsJogosultsag);
|
|
}
|
|
}
|
|
|
|
internal static void DeleteOsztalyCsoportErtekeles(DefaultConnectionParameters dcp, int id)
|
|
{
|
|
var connectionType = new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler);
|
|
var tanuloErtekelesCo = new TanuloErtekelesHelper(connectionType).GetTanuloErtekelesCoById(id);
|
|
var naplozarasLogic = new NaplozarasLogic(connectionType);
|
|
|
|
if (tanuloErtekelesCo != null && tanuloErtekelesCo.ErtekeloId == dcp.FelhasznaloId)
|
|
{
|
|
if (naplozarasLogic.IsCsakErtekelesZarasaVagyErtekelesEsNaploZarasaBeallitas() &&
|
|
tanuloErtekelesCo.Datum <= new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.AzErtekelesNemTorolhetoErtekelesZarasMiatt, BlExceptionType.NaploZaras);
|
|
}
|
|
if (tanuloErtekelesCo.OsztalyCsoportId.HasValue && naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik().Contains(tanuloErtekelesCo.OsztalyCsoportId.Value))
|
|
{
|
|
throw new BlException(TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemTorolhetErtekelestAzOsztalyTanuloinaknak, BlExceptionType.NaploZaras);
|
|
}
|
|
new TanuloErtekelesHelper(connectionType).DeleteTanuloErtekelesById(id);
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(BlExceptionType.NincsJogosultsag);
|
|
}
|
|
}
|
|
|
|
internal static OsztalyCsoportTanuloAdatokResponse GetOsztalyCsoportTanuloAdatok(DefaultConnectionParameters dcp, int id)
|
|
{
|
|
var response = new OsztalyCsoportTanuloAdatokResponse();
|
|
var tanuloAdatok = dcp.DalHandler.Tanulo().GetOsztalyCsoportTanuloAdatokDataSet(id).ToDaoList<OsztalyCsoportTanuloAdatokResponseDao>();
|
|
var tanuloGondviselok = dcp.DalHandler.Tanulo().GetGondviselok(id, dcp.TanevId).ToDaoList<OsztalyCsoportGondviseloResponseDao>();
|
|
|
|
return tanuloAdatok.Select(t => new OsztalyCsoportTanuloAdatokResponse
|
|
{
|
|
TanuloId = t.TanuloId,
|
|
TanuloNev = t.TanuloNev,
|
|
TanuloSzuletesiDatum = t.TanuloSzuletesiDatum,
|
|
TanuloAnyjaNeve = t.TanuloAnyjaNeve,
|
|
OsztalyCsoportok = tanuloAdatok.Select(o => new OsztalyCsoportResponse
|
|
{
|
|
OsztalyCsoportId = o.OsztalyCsoportId,
|
|
OsztalyCsoportNev = o.OsztalyCsoportNev
|
|
}).ToList(),
|
|
Gondviselok = tanuloGondviselok.Select(g => new OsztalyCsoportGondviseloResponse
|
|
{
|
|
Id = g.GondviseloId,
|
|
Nev = g.GondviseloNev,
|
|
RokonsagiFok = g.GondviseloRokonsagiFok?.GetDisplayName<RokonsagiFokEnum>(dcp.TanevId),
|
|
Telefonszam = g.GondviseloTelefonszam,
|
|
Email = g.GondviseloEmail,
|
|
IsTorvenyesKepviselo = g.IsTorvenyesKepviselo
|
|
}).ToList()
|
|
}).First();
|
|
}
|
|
|
|
internal static IEnumerable<MondatbankResponse> GetMondatbank(DefaultConnectionParameters dcp, MondatbankRequest request)
|
|
{
|
|
var osztalyCsoport = dcp.DalHandler.OsztalyCsoport().Get(request.OsztalyCsoportId);
|
|
return dcp.DalHandler.TanuloErtekelesMondatbankDal().GetTanuloErtekelesMondatbankData(dcp.TanevId, (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, (int)ErtMondatbankTipusEnum.Tantargy, request.TantargyId, osztalyCsoport.EvfolyamTipusa).ToDaoList<MondatbankResponseDao>()
|
|
.Select(m => new MondatbankResponse
|
|
{
|
|
RovidNev = m.RovidNev,
|
|
Nev = RichTextLogic.RemoveHtmlForMobile(m.Nev)
|
|
});
|
|
}
|
|
|
|
internal static IEnumerable<OsztalyokCsoportokResponse> GetOsztalyokCsoportok(DefaultConnectionParameters dcp)
|
|
{
|
|
var osztalyCsoportAdatok = dcp.DalHandler.OsztalyCsoport().GetOsztalyCsoportAdatokDataSet().ToDaoList<OsztalyCsoportAdatokResponseDao>();
|
|
var tanitottOsztalyokCsoportok = dcp.DalHandler.Foglalkozas().GetTanarFoglalkozasok(dcp.FelhasznaloId, dcp.TanevId)
|
|
.Tables[0].Rows.Cast<DataRow>().Select(row => SDAConvert.ToInt32(row["OCSID"])).ToList();
|
|
|
|
return osztalyCsoportAdatok.Select(ocs => new OsztalyokCsoportokResponse
|
|
{
|
|
OsztalyCsoportId = ocs.OsztalyCsoportId,
|
|
OsztalyCsoportNev = ocs.OsztalyCsoportNev,
|
|
IsTanitom = tanitottOsztalyokCsoportok.Contains(ocs.OsztalyCsoportId),
|
|
OsztalyfonokCsoportvezetoUid = ocs.OsztalyfonokCsoportvezetoUid,
|
|
OsztalyfonokCsoportvezetoNev = ocs.OsztalyfonokCsoportvezetoNev,
|
|
OsztalyfonokHelyettesUid = ocs.OsztalyfonokHelyettesUid,
|
|
OsztalyfonokHelyettesNev = ocs.OsztalyfonokHelyettesNev
|
|
});
|
|
}
|
|
|
|
internal static IEnumerable<TanuloErtekelesekResponse> GetTanuloErtekelesei(DefaultConnectionParameters dcp, TanuloErtekelesekRequest request)
|
|
{
|
|
var ertekelesek = dcp.DalHandler.TanuloErtekelesDal().GetTanuloErtekeleseiDataSet(request.TanuloId, request.TantargyId, request.OsztalyCsoportId).ToDaoList<TanuloErtekeleseiResponseDao>();
|
|
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetLezartOsztalyokEsBontottCsoportjaik();
|
|
var naplozart = lezartOsztalyokEsBontottCsoportjaik.Contains(request.OsztalyCsoportId);
|
|
var naplozarasDatum = new DateTime();
|
|
if (!naplozart)
|
|
{
|
|
naplozarasDatum = new OrarendHelper(new DalHandlerConnectionType(new MobileConnectionType(dcp.FelhasznaloId, dcp.IntezmenyId, dcp.IntezmenyAzonosito, dcp.TanevId), dcp.DalHandler)).GetNaplozarasDate(null);
|
|
}
|
|
|
|
return ertekelesek.Select(ertekeles => new TanuloErtekelesekResponse
|
|
{
|
|
ErtekelesId = ertekeles.ErtekelesId,
|
|
TantargyId = ertekeles.TantargyId,
|
|
TantargyNev = ertekeles.TantargyNev,
|
|
Ertekeles = ertekeles.ErtekelesSzazalek.HasValue ? $"{ertekeles.ErtekelesSzazalek}%" : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? ertekeles.ErtekelesSzoveg : ertekeles.ErtekelesOsztalyzatNev,
|
|
ErtekelesOsztalyzatId = ertekeles.ErtekelesOsztalyzatId,
|
|
ErtekelesOsztalyzatNev = !string.IsNullOrEmpty(ertekeles.ErtekelesOsztalyzatNev) ? ertekeles.ErtekelesOsztalyzatNev : null,
|
|
ErtekelesSzoveg = ertekeles.ErtekelesSzovegFormazott ?? ertekeles.ErtekelesSzoveg,
|
|
ErtekelesSzazalek = ertekeles.ErtekelesSzazalek,
|
|
ErtekelesFajtaId = ertekeles.ErtekelesSzazalek.HasValue ? (int)TanuloErtekelesFajtaEnum.Szazalekos : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? (int)TanuloErtekelesFajtaEnum.Szoveges : (int)TanuloErtekelesFajtaEnum.Osztalyzat,
|
|
ErtekelesFajtaNev = ertekeles.ErtekelesSzazalek.HasValue ? TanuloErtekelesFajtaEnum.Szazalekos.ToDisplayName() : !string.IsNullOrEmpty(ertekeles.ErtekelesSzoveg) ? TanuloErtekelesFajtaEnum.Szoveges.ToDisplayName() : TanuloErtekelesFajtaEnum.Osztalyzat.ToDisplayName(),
|
|
ErtekelesModId = ertekeles.ErtekelesModId,
|
|
ErtekelesModNev = ertekeles.ErtekelesModNev,
|
|
ErtekelesTipusId = ertekeles.ErtekelesTipusId,
|
|
ErtekelesTipusNev = ertekeles.ErtekelesTipusNev,
|
|
ErtekelesTema = ertekeles.ErtekelesTema,
|
|
ErtekelesDatum = ertekeles.ErtekelesDatum,
|
|
ErtekelesSuly = ertekeles.ErtekelesSuly,
|
|
ErtekelesRogzitesDatum = ertekeles.ErtekelesRogzitesDatum,
|
|
TanarUid = ertekeles.TanarUid,
|
|
OsztalyCsoportId = ertekeles.OsztalyCsoportId,
|
|
FeladatEllatasiHelyId = ertekeles.FeladatEllatasiHelyId,
|
|
FeladatEllatasiHelyNev = ertekeles.MukodesiHelyNev + " - " + ertekeles.OktatasiNevelesiFeladatTipusId.GetItemNameFromCache(dcp.TanevId, dcp.IntezmenyAzonosito),
|
|
Naplozart = naplozart || ertekeles.ErtekelesDatum <= naplozarasDatum
|
|
});
|
|
}
|
|
|
|
internal static IEnumerable<BejelentettSzamonkeresekResponse> GetBejelentettSzamonkeresek(DefaultConnectionParameters dcp, BejelentettSzamonkeresekRequest request)
|
|
{
|
|
new ValidatorLogic(request).ThrowExceptionIfModelIsNotvalid();
|
|
var response = new HashSet<BejelentettSzamonkeresekResponse>();
|
|
var szamonkeresek = dcp.DalHandler.SzamonkeresElorejelzes().GetSzamonkeresElorejelzesDetailDataSet(
|
|
dcp.IntezmenyId,
|
|
dcp.TanevId,
|
|
new SzamonkeresElorejelzesSearchPco
|
|
{
|
|
OraGroupId = 0,
|
|
OsztalyCsoportId = request.OsztalyCsoportId,
|
|
Datum = request.Datum
|
|
}, true).ToDaoList<BejelentettSzamonkeresekResponseDao>();
|
|
|
|
foreach (var szamonkeres in szamonkeresek)
|
|
{
|
|
var bejelentettSzamonkeres = new BejelentettSzamonkeresekResponse
|
|
{
|
|
Id = szamonkeres.Id,
|
|
Tema = szamonkeres.Tema,
|
|
ErtekelesMod = szamonkeres.ErtekelesMod,
|
|
OraSzam = szamonkeres.OraSzam,
|
|
TantargyId = szamonkeres.TantargyId,
|
|
TantargyNev = szamonkeres.TantargyNev,
|
|
TanarUid = szamonkeres.TanarUid,
|
|
TanarNev = szamonkeres.TanarNev
|
|
};
|
|
|
|
response.Add(bejelentettSzamonkeres);
|
|
}
|
|
|
|
return response;
|
|
}
|
|
}
|
|
}
|