kreta/Kreta.BusinessLogic/Logic/TanuloErtekeles/TanuloErtekelesLogicMobil.cs
2024-03-13 00:33:46 +01:00

97 lines
4.7 KiB
C#

using System.Collections.Generic;
using Kreta.BusinessLogic.Classes.MobileApi.Naplo.V2.Co.Post.Ertekeles;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Utils;
using Kreta.Core.Validation.Exceptions;
using Kreta.Core.Validation.Exceptions.Enum;
using Kreta.Enums;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Logic.TanuloErtekeles
{
public class TanuloErtekelesLogicMobil : TanuloErtekelesLogicBase
{
/// INFO @DevKornel: Mobil használja
public static List<TanuloErtekelesCo> GetTanuloErtekelesCoListV2(int intezmenyId, int felhasznaloId, OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
{
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
foreach (var item in osztalyCsoportErtekelesRequestCo.TanuloLista)
{
var tanuloErtekelesCo = new TanuloErtekelesCo
{
MobilId = item.MobilId,
TanuloId = item.TanuloId,
ErtekelesModId = osztalyCsoportErtekelesRequestCo.Mod?.Id,
TipusId = osztalyCsoportErtekelesRequestCo.Tipus.Id,
ErtekeloId = felhasznaloId,
IntezmenyId = intezmenyId,
OsztalyCsoportId = osztalyCsoportErtekelesRequestCo.OsztalyCsoportId,
TantargyId = osztalyCsoportErtekelesRequestCo.TantargyId,
ErtekelesOsztalyzatId = item.Ertekeles.OsztalyzatTipus?.Id,
ErtekelesSzazalek = item.Ertekeles.Szazalek,
ErtekelesTema = osztalyCsoportErtekelesRequestCo.Tema,
Datum = osztalyCsoportErtekelesRequestCo.Datum,
IsFromMobil = true
};
if (!string.IsNullOrWhiteSpace(item.Ertekeles.Szoveg))
{
string ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(item.Ertekeles.Szoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazott = ertekelesSzovegFormazott;
tanuloErtekelesCo.ErtekelesSzoveg = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazott);
}
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
}
return tanuloErtekelesCoList;
}
public static List<TanuloErtekelesCo> GetTanuloErtekelesCoList(int intezmenyId, int felhasznaloId, Classes.MobileApi.Naplo.V3.Co.Ertekeles.OsztalyCsoportErtekelesRequestCo osztalyCsoportErtekelesRequestCo)
{
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
foreach (var item in osztalyCsoportErtekelesRequestCo.TanuloLista)
{
var tanuloErtekelesCo = new TanuloErtekelesCo
{
TanuloId = item.TanuloId,
ErtekelesModId = osztalyCsoportErtekelesRequestCo.Mod?.Id,
TipusId = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, // Direkt van beégetve, mobilról csak évközi jegy értékelés lehet
ErtekeloId = felhasznaloId,
IntezmenyId = intezmenyId,
OsztalyCsoportId = osztalyCsoportErtekelesRequestCo.OsztalyCsoportId,
TantargyId = osztalyCsoportErtekelesRequestCo.TantargyId,
ErtekelesOsztalyzatId = item.Ertekeles.OsztalyzatTipus?.Id,
ErtekelesSzazalek = int.TryParse(item.Ertekeles.Szazalek, out var szam) ? (int?)szam : null,
ErtekelesTema = osztalyCsoportErtekelesRequestCo.Tema,
Datum = osztalyCsoportErtekelesRequestCo.Datum,
IsFromMobil = true
};
if (!string.IsNullOrWhiteSpace(item.Ertekeles.Szoveg))
{
var ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(item.Ertekeles.Szoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazott = ertekelesSzovegFormazott;
tanuloErtekelesCo.ErtekelesSzoveg = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazott);
}
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
}
return tanuloErtekelesCoList;
}
public static ValidationException GetValidationException(List<ValidationExceptionItem> errors)
{
var validationException = new ValidationException(ValidationErrorType.Undefined, TanuloErtekelesResource.HibasErtekeles);
foreach (var item in errors)
{
validationException.AddValidationItem(item);
}
return validationException;
}
}
}