using System; using System.Collections.Generic; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Helpers.DokumentumHelpers; using Kreta.BusinessLogic.Logic.TanuloErtekeles; using Kreta.Core; using Kreta.DataAccess.Interfaces; using Kreta.Enums; namespace Kreta.BusinessLogic.HelperClasses { public class TanuloErtekelesCo { public TanuloErtekelesCo() { } public TanuloErtekelesCo(ITanuloErtekeles entity, List nemzetiDokumentumNyelvek, int tanevId) { Id = entity.ID; TanuloId = entity.TanuloId; TanuloNyomtatasiNev = entity.Tanulo.NyomtatasiNev; ErtekeloId = entity.ErtekeloId; ErtekeloNyomtatasiNev = entity.Ertekelo.NyomtatasiNev; var tipusId = entity.TipusId; if (tipusId.IsEntityId()) { TipusId = tipusId; TipusNev = tipusId.GetDisplayName(tanevId); } Datum = entity.Datum; RogzitesDatum = entity.RogzitesDatum; var osztalyCsoportId = entity.OsztalyCsoportId; if (osztalyCsoportId.IsEntityId()) { OsztalyCsoportId = osztalyCsoportId; OsztalyCsoportNev = entity.OsztalyCsoport.Nev; } IsFromMobil = entity.IsFromMobil; List tanuloErtekelesNyelvList = entity.TanuloErtekelesNyelv.Where(x => !x.Torolt).ToList(); IsMagatartasSzorgalom = entity.IsMagatartasSzorgalom; if (!IsMagatartasSzorgalom) { var tantargyId = entity.TantargyId; if (tantargyId.IsEntityId()) { TantargyId = tantargyId; TantargyNev = entity.Tantargy.Nev; TargykategoriaId = entity.Tantargy.TargyKategoria; } var ertekelesOsztalyzatId = entity.ErtekelesOsztalyzatId; if (ertekelesOsztalyzatId.IsEntityId()) { ErtekelesOsztalyzatId = ertekelesOsztalyzatId; ErtekelesOsztalyzatNev = ertekelesOsztalyzatId.GetDisplayName(tanevId); } var ertekelesSzoveg = entity.ErtekelesSzoveg; if (!string.IsNullOrWhiteSpace(ertekelesSzoveg)) { ErtekelesSzoveg = ertekelesSzoveg; ErtekelesSzovegFormazott = entity.ErtekelesSzovegFormazott; ErtekelesSzovegRovidNev = entity.ErtekelesSzovegRovidNev; if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.TipusId)) { if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet)) { ErtekelesSzovegNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.ErtekelesSzoveg; ErtekelesSzovegFormazottNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.ErtekelesSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat)) { ErtekelesSzovegHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.ErtekelesSzoveg; ErtekelesSzovegFormazottHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.ErtekelesSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman)) { ErtekelesSzovegRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.ErtekelesSzoveg; ErtekelesSzovegFormazottRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.ErtekelesSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb)) { ErtekelesSzovegSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.ErtekelesSzoveg; ErtekelesSzovegFormazottSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.ErtekelesSzovegFormazott; } } } var ertekelesSzazalek = entity.ErtekelesSzazalek; if (ertekelesSzazalek != null) { ErtekelesSzazalek = ertekelesSzazalek; } var ertekelesModId = entity.ErtekelesModId; ErtekelesModId = ertekelesModId; ErtekelesModNev = ertekelesModId.GetDisplayName(tanevId); var tanora = entity.Tanora; if (tanora != null && tanora.TanmenetId.IsEntityId()) { ErtekelesTemaTanmenetId = tanora.TanmenetId; ErtekelesTema = tanora.Tanmenet.Tema; } else { var ertekelesTema = entity.ErtekelesTema; if (!string.IsNullOrWhiteSpace(ertekelesTema)) { ErtekelesTema = entity.ErtekelesTema; if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.TipusId)) { if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet)) { ErtekelesTemaNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.ErtekelesTema; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat)) { ErtekelesTemaHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.ErtekelesTema; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman)) { ErtekelesTemaRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.ErtekelesTema; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb)) { ErtekelesTemaSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.ErtekelesTema; } } } } } else { var magatartasErtekId = entity.MagatartasErtekId; if (magatartasErtekId.IsEntityId()) { MagatartasErtekId = magatartasErtekId; MagatartasErtekNev = magatartasErtekId.GetDisplayName(tanevId); } var magatartasOsztalyzatId = entity.MagatartasOsztalyzatId; if (magatartasOsztalyzatId.IsEntityId()) { MagatartasOsztalyzatId = magatartasOsztalyzatId; MagatartasOsztalyzatNev = magatartasOsztalyzatId.GetDisplayName(tanevId); } var magatartasSzoveg = entity.MagatartasSzoveg; if (!string.IsNullOrWhiteSpace(magatartasSzoveg)) { MagatartasSzoveg = magatartasSzoveg; MagatartasSzovegFormazott = entity.MagatartasSzovegFormazott; MagatartasSzovegRovidNev = entity.MagatartasSzovegRovidNev; if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.TipusId)) { if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet)) { MagatartasSzovegNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.MagatartasSzoveg; MagatartasSzovegFormazottNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.MagatartasSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat)) { MagatartasSzovegHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.MagatartasSzoveg; MagatartasSzovegFormazottHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.MagatartasSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman)) { MagatartasSzovegRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.MagatartasSzoveg; MagatartasSzovegFormazottRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.MagatartasSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb)) { MagatartasSzovegSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.MagatartasSzoveg; MagatartasSzovegFormazottSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.MagatartasSzovegFormazott; } } } var szorgalomErtekId = entity.SzorgalomErtekId; if (szorgalomErtekId.IsEntityId()) { SzorgalomErtekId = szorgalomErtekId; SzorgalomErtekNev = szorgalomErtekId.GetDisplayName(tanevId); } var szorgalomOsztalyzatId = entity.SzorgalomOsztalyzatId; if (szorgalomOsztalyzatId.IsEntityId()) { SzorgalomOsztalyzatId = szorgalomOsztalyzatId; SzorgalomOsztalyzatNev = szorgalomOsztalyzatId.GetDisplayName(tanevId); } var szorgalomSzoveg = entity.SzorgalomSzoveg; if (!string.IsNullOrWhiteSpace(szorgalomSzoveg)) { SzorgalomSzoveg = szorgalomSzoveg; SzorgalomSzovegFormazott = entity.SzorgalomSzovegFormazott; SzorgalomSzovegRovidNev = entity.SzorgalomSzovegRovidNev; if (nemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(entity.TipusId)) { if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.nemet)) { SzorgalomSzovegNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.SzorgalomSzoveg; SzorgalomSzovegFormazottNemet = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.nemet)?.SzorgalomSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.horvat)) { SzorgalomSzovegHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.SzorgalomSzoveg; SzorgalomSzovegFormazottHorvat = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.horvat)?.SzorgalomSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.roman)) { SzorgalomSzovegRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.SzorgalomSzoveg; SzorgalomSzovegFormazottRoman = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.roman)?.SzorgalomSzovegFormazott; } if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(nemzetiDokumentumNyelvek, AnyanyelvEnum.szerb)) { SzorgalomSzovegSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.SzorgalomSzoveg; SzorgalomSzovegFormazottSzerb = tanuloErtekelesNyelvList.FirstOrDefault(x => x.NyelvId == (int)AnyanyelvEnum.szerb)?.SzorgalomSzovegFormazott; } } } } } public int? Id { get; set; } public int? MobilId { get; set; } public int TanuloId { get; set; } public string TanuloSzuletesiNev { get; set; } public string TanuloNyomtatasiNev { get; set; } public int? TantargyId { get; set; } public string TantargyNev { get; set; } public int? TargykategoriaId { get; set; } public int? ErtekeloId { get; set; } public string ErtekeloNyomtatasiNev { get; set; } public int TipusId { get; set; } public string TipusNev { get; set; } public DateTime Datum { get; set; } public DateTime RogzitesDatum { get; set; } public int? OsztalyCsoportId { get; set; } public string OsztalyCsoportNev { get; set; } public bool IsFromMobil { get; set; } public bool IsMagatartasSzorgalom { get; set; } public int? ErtekelesOsztalyzatId { get; set; } public int? SpecialisErtekelesOsztalyzatId { get; set; } public string ErtekelesOsztalyzatNev { get; set; } public string ErtekelesSzoveg { get; set; } public string ErtekelesSzovegFormazott { get; set; } public string ErtekelesSzovegNemet { get; set; } public string ErtekelesSzovegFormazottNemet { get; set; } public string ErtekelesSzovegHorvat { get; set; } public string ErtekelesSzovegFormazottHorvat { get; set; } public string ErtekelesSzovegRoman { get; set; } public string ErtekelesSzovegFormazottRoman { get; set; } public string ErtekelesSzovegSzerb { get; set; } public string ErtekelesSzovegFormazottSzerb { get; set; } public string ErtekelesSzovegRovidNev { get; set; } public int? ErtekelesSzazalek { get; set; } public int? MagatartasErtekId { get; set; } public string MagatartasErtekNev { get; set; } public int? MagatartasOsztalyzatId { get; set; } public string MagatartasOsztalyzatNev { get; set; } public string MagatartasSzoveg { get; set; } public string MagatartasSzovegFormazott { get; set; } public string MagatartasSzovegNemet { get; set; } public string MagatartasSzovegFormazottNemet { get; set; } public string MagatartasSzovegHorvat { get; set; } public string MagatartasSzovegFormazottHorvat { get; set; } public string MagatartasSzovegRoman { get; set; } public string MagatartasSzovegFormazottRoman { get; set; } public string MagatartasSzovegSzerb { get; set; } public string MagatartasSzovegFormazottSzerb { get; set; } public string MagatartasSzovegRovidNev { get; set; } public int? SzorgalomErtekId { get; set; } public string SzorgalomErtekNev { get; set; } public int? SzorgalomOsztalyzatId { get; set; } public string SzorgalomOsztalyzatNev { get; set; } public string SzorgalomSzoveg { get; set; } public string SzorgalomSzovegFormazott { get; set; } public string SzorgalomSzovegNemet { get; set; } public string SzorgalomSzovegFormazottNemet { get; set; } public string SzorgalomSzovegHorvat { get; set; } public string SzorgalomSzovegFormazottHorvat { get; set; } public string SzorgalomSzovegRoman { get; set; } public string SzorgalomSzovegFormazottRoman { get; set; } public string SzorgalomSzovegSzerb { get; set; } public string SzorgalomSzovegFormazottSzerb { get; set; } public string SzorgalomSzovegRovidNev { get; set; } public int? ErtekelesModId { get; set; } public string ErtekelesModNev { get; set; } public string ErtekelesTema { get; set; } public string ErtekelesTemaNemet { get; set; } public string ErtekelesTemaHorvat { get; set; } public string ErtekelesTemaRoman { get; set; } public string ErtekelesTemaSzerb { get; set; } public int? ErtekelesTemaTanmenetId { get; set; } public int? IntezmenyId { get; set; } public int? OsszefuggoSzakGyakId { get; set; } } }