init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,410 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue