using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace Kreta.BusinessLogic.HelperClasses.Dokumentum.TorzslapEsBizonyitvany { public class TorzslapEsBizonyitvanyCo { public FejlecDetails FejlecDetails { get; set; } public OsztalyDetails OsztalyDetails { get; set; } public List TanuloDetailsList { get; set; } private List HatarozatDetailsList { get; set; } private List FeljegyzesDetailsList { get; set; } private List MulasztasDetailsList { get; set; } private List ErtekelesDetailsList { get; set; } private List KozossegiSzolgalatDetailsList { get; set; } private List SniDetailsList { get; set; } private List BtmDetailsList { get; set; } private List FelmentesDetailsList { get; set; } private List TanuloiAtlagList { get; set; } public TorzslapEsBizonyitvanyCo(DataSet data) { var fejlecDetails = data.Tables["Fejlec"].Rows[0]; var osztalyDetails = data.Tables["Osztaly"].Rows[0]; var tanuloDetails = data.Tables["Tanulok"]; var hatarozatDetails = data.Tables["Hatarozat"]; var feljegyzesDetails = data.Tables["Feljegyzesek"]; var mulasztasDetails = data.Tables["Mulasztasok"]; var ertekelesDetails = data.Tables["Ertekeles"]; var kozossegiSzolglalatDetails = data.Tables["TanuloKozossegiSzolgalat"]; var sniDetails = data.Tables["TanuloSNI"]; var btmDetails = data.Tables["TanuloBTM"]; var felmentesDetails = data.Tables["Felmentesek"]; var kozossegiSzolglalatDetails2 = data.Tables["FeljegyzesKozossegiSzolgalat"]; //??? var osszefuggoGyakDetails = data.Tables["OsszefuggoSzakmaiGyakorlat"]; var tanuloiAtlagList = data.Tables["TanuloiAtlag"]; FejlecDetails = new FejlecDetails() { IntezmenyNeve = fejlecDetails.Field("IntezmenyNeve"), IntezmenyVaros = fejlecDetails.Field("IntezmenyVaros"), IntezmenyCime = fejlecDetails.Field("IntezmenyCime"), //CÍM TODO IntezmenyOMKod = fejlecDetails.Field("IntezmenyOMKod"), IntezmenyVezeto = fejlecDetails.Field("IntezmenyVezeto"), MinNaploSorszam = fejlecDetails.Field("MinNaploSorszam"), MaxNaploSorszam = fejlecDetails.Field("MaxNaploSorszam"), NaploMegnyitasanakDatuma = fejlecDetails.Field("NaploMegnyitasanakDatuma"), NaploMegnyitasanakDatumaPlain = fejlecDetails.Field("NaploMegnyitasanakDatumaPlain"), NaploZarasanakDatuma = fejlecDetails.Field("NaploZarasanakDatuma"), NaploZarasanakDatumaPlain = fejlecDetails.Field("NaploZarasanakDatumaPlain"), OsztalyfonokId = fejlecDetails.Field("PartnerId"), OsztalyfonokNev = fejlecDetails.Field("Osztalyfonok"), OsztalyfonokNevIdegenNyelven = GetNyelvesitettName(fejlecDetails.Field("OsztalyfonokNevElotag"), fejlecDetails.Field("OsztalyfonoknevVezeteknev"), fejlecDetails.Field("OsztalyfonokNevUtonev")), OsztalyId = fejlecDetails.Field("OsztalyId"), OsztalyMegjegyzes = fejlecDetails.Field("OsztalyMegjegyzes"), OsztalyNev = fejlecDetails.Field("OsztalyNev"), TanevNev = fejlecDetails.Field("Tanev"), TanuloSzam = fejlecDetails.Field("TanuloSzam") }; OsztalyDetails = new OsztalyDetails() { OsztalyId = osztalyDetails.Field("OsztalyId"), OsztalyNev = osztalyDetails.Field("C_NEV"), EvfolyamTipus = osztalyDetails.Field("C_EVFOLYAMTIPUSA_DNAME"), EvfolyamTipusIdegenNyelven = !string.IsNullOrWhiteSpace(osztalyDetails.Field("EvfolyamTipusaIdegenNyelv")) ? osztalyDetails.Field("EvfolyamTipusaIdegenNyelv") : osztalyDetails.Field("C_EVFOLYAMTIPUSA_DNAME") }; HatarozatDetailsList = hatarozatDetails.AsEnumerable().Select(x => new HatarozatDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), Bejegyzes = x.Field("Bejegyzes"), BejegyzesIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("BejegyzesIdegenNyelven")) ? x.Field("BejegyzesIdegenNyelven") : x.Field("Bejegyzes") }).ToList(); FeljegyzesDetailsList = feljegyzesDetails.AsEnumerable().Select(x => new FeljegyzesDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), Bejegyzes = x.Field("Bejegyzes"), BejegyzesIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("BejegyzesIdegenNyelven")) ? x.Field("BejegyzesIdegenNyelven") : x.Field("Bejegyzes"), TipusName = x.Field("Tipus_DNAME"), TipusNameIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("TipusIdegenNyelven")) ? x.Field("TipusIdegenNyelven") : x.Field("Tipus_DNAME"), Datum = x.Field("Datum"), DatumPlain = x.Field("DatumPlain") }).ToList(); MulasztasDetailsList = mulasztasDetails.AsEnumerable().Select(x => new MulasztasDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), Igazolt = x.Field("Igazolt"), Igazolatlan = x.Field("Igazolatlan"), ElmeletIgazolt = x.Field("ElmeletIgazolt"), ElmeletIgazolatlan = x.Field("ElmeletIgazolatlan"), GyakorlatIgazolt = x.Field("GyakorlatIgazolt"), GyakorlatIgazolatlan = x.Field("GyakorlatIgazolatlan"), ElmeletOsszes = x.Field("ElmeletOsszes"), GyakorlatOsszes = x.Field("GyakorlatOsszes"), Osszes = x.Field("Osszes") }).ToList(); ErtekelesDetailsList = ertekelesDetails.AsEnumerable().Select(x => new ErtekelesDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), TantargyNev = x.Field("Targy"), TantargyNevIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("TantargyNevIdegenNyelven")) ? x.Field("TantargyNevIdegenNyelven") : x.Field("TantargyNevMagyarul"), ErtekelesMagyar = x.Field("Ertekeles"), ErtekelesOsztalyzatIdegenNyelven = x.Field("ErtekelesOsztalyzatIdegenNyelven"), ErtekelesValueIdegenNyelven = x.Field("ErtekelesValueIdegenNyelven"), ErtekelesSzovegIdegenNyelven = x.Field("ErtekelesSzovegIdegenNyelven"), //erre van külön nyelvesítés! ErtekelesSzazalek = x.Field("ErtekelesSzazalek"), Oraszam = x.Field("Oraszam"), Jegyzet = x.Field("Jegyzet"), JegyzetIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("ErtekelesTemaIdegenNyelven")) ? x.Field("ErtekelesTemaIdegenNyelven") : x.Field("Jegyzet"), Rendez0 = x.Field("RENDEZ0"), Rendez1 = x.Field("Rendez1"), Rendez2 = x.Field("Rendez2"), Rendez3 = x.Field("Rendez3"), Rendez4 = x.Field("Rendez4"), Rendez5 = x.Field("Rendez5") }).ToList(); KozossegiSzolgalatDetailsList = kozossegiSzolglalatDetails.AsEnumerable().Select(x => new KozossegiSzolgalatDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), Datum = x.Field("Datum"), Megjegyzes = x.Field("Megjegyzes"), MegjegyzesIdegenNyelven = x.Field("MegjegyzesIdegenNyelven"), Oraszam = x.Field("Oraszam").ToString(), TeljesitesHelye = x.Field("TeljesitesHelye"), FeljegyzoNeve = x.Field("FeljegyzoNeve"), Tipus = x.Field("Tipus"), TipusIdegenNyelven = x.Field("TipusIdegenNyelven"), KozossegiSzolgalatId = x.Field("KozossegiSzolgalatId"), IntervallumKezdetePlain = x.Field("IntervallumKezdete"), IntervallumVegePlain = x.Field("IntervallumVege"), TeljesitesHelyeIdegenNyelven = x.Field("TeljesitesHelyeIdegenNyelven"), FeljegyzoNeveIdegenNyelven = GetNyelvesitettName(x.Field("FeljegyzoNevElotag"), x.Field("FeljegyzoNevVezeteknev"), x.Field("FeljegyzoNevUtonev")) }).ToList(); SniDetailsList = sniDetails.AsEnumerable().Select(x => new SniDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), KiallitoIntezmeny = x.Field("SNIKiallitoIntezmeny"), Kezdete = x.Field("SNIKezdete"), KontrollIdopont = x.Field("SNIKontrolIdopont"), Okmanyszamok = x.Field("SNIOkmanyszamok") }).ToList(); BtmDetailsList = btmDetails.AsEnumerable().Select(x => new BtmDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), KiallitoIntezmeny = x.Field("BTMKiallitoIntezmeny"), Kezdete = x.Field("BTMKezdete"), KontrollIdopont = x.Field("BTMKontrolIdopont"), Okmanyszamok = x.Field("BTMOkmanyszamok") }).ToList(); FelmentesDetailsList = felmentesDetails.AsEnumerable().Select(x => new FelmentesDetails { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), TantargyNevMentessegNelkul = x.Field("TantargyNevMentessegNelkul"), TantargyNevMentessegNelkulIdegenNyelven = x.Field("TantargyNevMentessegNelkul"), MentessegOka = x.Field("MentessegOka"), MentessegOkaIdegenNyelven = x.Field("MentessegOka"), Kezdete = x.Field("Kezdete") }).ToList(); TanuloiAtlagList = tanuloiAtlagList?.AsEnumerable().Select(x => new TanuloiAtlag { TanuloId = x.Field("TanuloId"), TanuloCsoportId = x.Field("TanuloCsoportId"), ErtekelesAtlag = x.Field("ErtekelesAtlag") }).ToList(); TanuloDetailsList = tanuloDetails.AsEnumerable().Select(x => new TanuloDetails { TanuloId = x.Field("TanuloId"), OsztalyId = x.Field("OsztalyId"), TanuloCsoportId = x.Field("TanuloCsoportId"), OktatasiAzonosito = x.Field("Azonosito"), TanuloNev = x.Field("Nev"), TanuloNevIdegenNyelven = GetNyelvesitettName(x.Field("TanuloNevElotag"), x.Field("TanuloNevVezeteknev"), x.Field("TanuloNevUtonev")), SzuletesiDatum = x.Field("SzuletesiDatum"), SzuletesiDatumPlain = x.Field("SzuletesiDatumPlain"), SzuletesiOrszag = x.Field("SzuletesiOrszag"), SzuletesiOrszagIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("SzuletesiOrszagIdegenNyelven")) ? x.Field("SzuletesiOrszagIdegenNyelven") : x.Field("SzuletesiOrszag"), SzuletesiHely = x.Field("SzuletesiHely"), Allampolgarsag = x.Field("Allampolgarsag"), AllampolgarsagIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("AllampolgarsagIdegenNyelven")) ? x.Field("AllampolgarsagIdegenNyelven") : x.Field("Allampolgarsag"), AnyjaNeve = x.Field("AnyjaNeve"), AnyjaNeveIdegenNyelven = x.Field("AnyjaNeveIdegenNyelven"), BelepesDatum = x.Field("BelepesDatum"), KilepesDatum = x.Field("KilepesDatum"), TorzslapSzam = x.Field("TorzslapSzam"), NaploSorszam = x.Field("NaploSorszam"), GondviseloNev = x.Field("GondviseloNeve")?.Replace("\n", "
"), GondviseloNevIdegenNyelven = x.Field("GondviseloNevIdegenNyelven")?.Replace("\n", "
"), SajatosNevelesiIgenyu = x.Field("SajatosNevelesu"), Szakkepesites = x.Field("Szakkepesites"), SzakkepesitesidegenNyelven = !string.IsNullOrWhiteSpace(x.Field("SzakkepesitesIdegenNyelven")) ? x.Field("SzakkepesitesIdegenNyelven") : x.Field("Szakkepesites"), ReszSzakkepesites = x.Field("ReszSzakkepesites"), ReszSzakkepesitesIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("ReszSzakkepesitesIdegenNyelven")) ? x.Field("ReszSzakkepesitesIdegenNyelven") : x.Field("ReszSzakkepesites"), EvfolyamTipusa = x.Field("C_EVFOLYAMTIPUSA_DNAME"), EvfolyamTipusaIdegenNyelven = !string.IsNullOrWhiteSpace(x.Field("EvfolyamTipusaIdegenNyelven")) ? x.Field("EvfolyamTipusaIdegenNyelven") : x.Field("C_EVFOLYAMTIPUSA_DNAME"), TanuloHatarozatDetailsList = HatarozatDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloFeljegyzesDetailsList = FeljegyzesDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloMulasztasDetails = MulasztasDetailsList.Single(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")), TanuloErtekelesDetailsList = ErtekelesDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloKozossegiSzolgalatDetailsList = KozossegiSzolgalatDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloSniDetailsList = SniDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloBtmDetailsList = BtmDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), TanuloFelmentesList = FelmentesDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).ToList(), FejlecDetails = FejlecDetails, OsztalyDetails = OsztalyDetails, TanuloiAtlag = TanuloiAtlagList?.FirstOrDefault(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")), KozossegiOraszam = KozossegiSzolgalatDetailsList.Where(h => h.TanuloId == x.Field("TanuloId") && h.TanuloCsoportId == x.Field("TanuloCsoportId")).Select(y => { if (float.TryParse(y.Oraszam, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.GetCultureInfo("hu-HU"), out var oraszam)) { return oraszam; } return 0; }).Sum().ToString(), }).ToList(); } private string GetNyelvesitettName(string elotag, string vezetekNev, string keresztNev) { elotag = !string.IsNullOrWhiteSpace(elotag) ? $"{elotag} " : string.Empty; return $"{elotag}{keresztNev} {vezetekNev}"; } } public class FejlecDetails { public string IntezmenyNeve { get; set; } public string IntezmenyVaros { get; set; } public string IntezmenyCime { get; set; } public string IntezmenyVezeto { get; set; } public string IntezmenyOMKod { get; set; } public string MinNaploSorszam { get; set; } public string MaxNaploSorszam { get; set; } public int TanuloSzam { get; set; } public int OsztalyId { get; set; } public string OsztalyNev { get; set; } public string OsztalyMegjegyzes { get; set; } public int? OsztalyfonokId { get; set; } public string OsztalyfonokNev { get; set; } public string OsztalyfonokNevIdegenNyelven { get; set; } public string NaploMegnyitasanakDatuma { get; set; } public string NaploZarasanakDatuma { get; set; } public DateTime? NaploMegnyitasanakDatumaPlain { get; set; } public DateTime? NaploZarasanakDatumaPlain { get; set; } public string TanevNev { get; set; } public DateTime Keltezes { get; set; } public string AlairoNev { get; set; } public string AlairoNevIdegenNyelven { get; set; } public string AlairoBeosztas { get; set; } public string AlairoBeosztasIdegenNyelven { get; set; } } public class OsztalyDetails { public int OsztalyId { get; set; } public string OsztalyNev { get; set; } public string EvfolyamTipus { get; set; } public string EvfolyamTipusIdegenNyelven { get; set; } } public class TanuloDetails { public int TanuloId { get; set; } public int OsztalyId { get; set; } public int TanuloCsoportId { get; set; } public string OktatasiAzonosito { get; set; } public string TanuloNev { get; set; } public string TanuloNevIdegenNyelven { get; set; } public string SzuletesiDatum { get; set; } public DateTime SzuletesiDatumPlain { get; set; } public string SzuletesiOrszag { get; set; } public string SzuletesiOrszagIdegenNyelven { get; set; } public string SzuletesiHely { get; set; } public string Allampolgarsag { get; set; } public string AllampolgarsagIdegenNyelven { get; set; } public string AnyjaNeve { get; set; } public string AnyjaNeveIdegenNyelven { get; set; } public DateTime BelepesDatum { get; set; } public DateTime? KilepesDatum { get; set; } public string TorzslapSzam { get; set; } public int? NaploSorszam { get; set; } public string GondviseloNev { get; set; } public string GondviseloNevIdegenNyelven { get; set; } public string SajatosNevelesiIgenyu { get; set; } public string Szakkepesites { get; set; } public string SzakkepesitesidegenNyelven { get; set; } public string ReszSzakkepesites { get; set; } public string ReszSzakkepesitesIdegenNyelven { get; set; } public string EvfolyamTipusa { get; set; } public string EvfolyamTipusaIdegenNyelven { get; set; } public List TanuloHatarozatDetailsList { get; set; } public List TanuloFeljegyzesDetailsList { get; set; } public MulasztasDetails TanuloMulasztasDetails { get; set; } public List TanuloErtekelesDetailsList { get; set; } public List TanuloKozossegiSzolgalatDetailsList { get; set; } public List TanuloSniDetailsList { get; set; } public List TanuloBtmDetailsList { get; set; } public List TanuloFelmentesList { get; set; } public FejlecDetails FejlecDetails { get; set; } public OsztalyDetails OsztalyDetails { get; set; } public TanuloiAtlag TanuloiAtlag { get; set; } public string KozossegiOraszam { get; set; } } public class HatarozatDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string Bejegyzes { get; set; } public string BejegyzesIdegenNyelven { get; set; } } public class FeljegyzesDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string Bejegyzes { get; set; } public string BejegyzesIdegenNyelven { get; set; } public string TipusName { get; set; } public string TipusNameIdegenNyelven { get; set; } public string Datum { get; set; } public DateTime DatumPlain { get; set; } } public class MulasztasDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public int Igazolt { get; set; } public int Igazolatlan { get; set; } public int ElmeletIgazolt { get; set; } public int ElmeletIgazolatlan { get; set; } public int GyakorlatIgazolt { get; set; } public int GyakorlatIgazolatlan { get; set; } public int ElmeletOsszes { get; set; } public int GyakorlatOsszes { get; set; } public int Osszes { get; set; } } public class ErtekelesDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string TantargyNev { get; set; } public string TantargyNevIdegenNyelven { get; set; } public string ErtekelesMagyar { get; set; } public string ErtekelesValueIdegenNyelven { get; set; } public string ErtekelesOsztalyzatIdegenNyelven { get; set; } public string ErtekelesSzovegIdegenNyelven { get; set; } public string ErtekelesSzazalek { get; set; } public string NyelvesitettErtekeles { get; set; } public double? Oraszam { get; set; } public string Jegyzet { get; set; } public string JegyzetIdegenNyelven { get; set; } public int? Rendez0 { get; set; } public int? Rendez1 { get; set; } public string Rendez2 { get; set; } public int? Rendez3 { get; set; } public int? Rendez4 { get; set; } public string Rendez5 { get; set; } } public class KozossegiSzolgalatDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string Datum { get; set; } public DateTime? DatumPlain { get; set; } public string Megjegyzes { get; set; } public string MegjegyzesIdegenNyelven { get; set; } public string Oraszam { get; set; } public string TeljesitesHelye { get; set; } public string FeljegyzoNeve { get; set; } public string Tipus { get; set; } public string TipusIdegenNyelven { get; set; } public int KozossegiSzolgalatId { get; set; } public string IntervallumKezdete { get; set; } public DateTime? IntervallumKezdetePlain { get; set; } public DateTime? IntervallumVegePlain { get; set; } public string TeljesitesHelyeIdegenNyelven { get; set; } public string FeljegyzoNeveIdegenNyelven { get; set; } } //nemzetiségi? public class SniDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string KiallitoIntezmeny { get; set; } public string Kezdete { get; set; } public string KontrollIdopont { get; set; } public string Okmanyszamok { get; set; } } //nemzetiségi? public class BtmDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string KiallitoIntezmeny { get; set; } public string Kezdete { get; set; } public string KontrollIdopont { get; set; } public string Okmanyszamok { get; set; } } public class FelmentesDetails { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string TantargyNevMentessegNelkul { get; set; } public string TantargyNevMentessegNelkulIdegenNyelven { get; set; } public string MentessegOka { get; set; } public string MentessegOkaIdegenNyelven { get; set; } public string Kezdete { get; set; } public DateTime? KezdetePlainDate { get; set; } } public class TanuloiAtlag { public int TanuloId { get; set; } public int TanuloCsoportId { get; set; } public string ErtekelesAtlag { get; set; } } }