77 lines
4 KiB
C#
77 lines
4 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|