using System.Collections.Generic; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Helpers.DokumentumHelpers; using Kreta.DataAccess.Interfaces; using Kreta.Enums; namespace Kreta.BusinessLogic.HelperClasses { public class TanuloErtekelesMondatbankItemCo { public TanuloErtekelesMondatbankItemCo() { } public TanuloErtekelesMondatbankItemCo(IErtekelesMondatbank entity, List nemzetiDokumentumNyelvek, int tanevId) { Id = entity.ID; string rovidNev = entity.RovidNev; RovidNev = rovidNev; RovidNevComparableString = rovidNev?.ToComparableString(); string szoveg = entity.Szoveg; Szoveg = szoveg; SzovegComparableString = szoveg?.ToComparableString(); TanuloErtekelesTipusId = entity.ErtekelesTipusa; string tanuloErtekelesTipusNev = entity.ErtekelesTipusa.GetDisplayName(tanevId); TanuloErtekelesTipusNev = tanuloErtekelesTipusNev; TanuloErtekelesTipusNevComparableString = tanuloErtekelesTipusNev?.ToComparableString(); TipusId = entity.TipusId; TipusNev = entity.TipusId.GetDisplayName(tanevId); TantargyId = entity.TantargyId; string tantargyNev = entity.Tantargy?.Nev; TantargyNev = tantargyNev; TantargyNevComparableString = tantargyNev?.ToComparableString(); EvfolyamTipusId = entity.EvfolyamTipusa; string evfolyamTipusNev = entity.EvfolyamTipusa.GetDisplayName(tanevId); EvfolyamTipusNev = evfolyamTipusNev; EvfolyamTipusNevComparableString = evfolyamTipusNev?.ToComparableString(); Importalt = entity.Importalt; if (nemzetiDokumentumNyelvek.Any()) { List tanuloErtekelesNyelvList = entity.ErtekelesMondatbankNyelv.Where(x => !x.Torolt).ToList(); var szovegNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.Szoveg; if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && !string.IsNullOrWhiteSpace(szovegNemet)) { SzovegNemet = szovegNemet; } var szovegHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.Szoveg; if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && !string.IsNullOrWhiteSpace(szovegHorvat)) { SzovegHorvat = szovegHorvat; } var szovegRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.Szoveg; if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && !string.IsNullOrWhiteSpace(szovegRoman)) { SzovegRoman = szovegRoman; } var szovegSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.Szoveg; if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && !string.IsNullOrWhiteSpace(szovegSzerb)) { SzovegSzerb = szovegSzerb; } } } public int? Id { get; set; } public string RovidNev { get; set; } public string RovidNevComparableString { get; set; } public string Szoveg { get; set; } public string SzovegComparableString { get; set; } public int? TanuloErtekelesTipusId { get; set; } public string TanuloErtekelesTipusNev { get; set; } public string TanuloErtekelesTipusNevComparableString { get; set; } public int TipusId { get; set; } public string TipusNev { get; set; } public int? TantargyId { get; set; } public string TantargyNev { get; set; } public string TantargyNevComparableString { get; set; } public int? EvfolyamTipusId { get; set; } public string EvfolyamTipusNev { get; set; } public string EvfolyamTipusNevComparableString { get; set; } public bool Importalt { get; set; } public string SzovegNemet { get; set; } public string SzovegHorvat { get; set; } public string SzovegRoman { get; set; } public string SzovegSzerb { get; set; } } }