using System; using System.Collections.Generic; using System.Linq; using Kreta.Core; using Kreta.DataAccess.Interfaces; namespace Kreta.BusinessLogic.HelperClasses { public class TeremCO { public int? TeremId { get; set; } public string Nev { get; set; } public int? Jelleg { get; set; } //TeremTipusEnum public int? Terulet { get; set; } public int? Kapacitas { get; set; } public int? Vizsgakapacitas { get; set; } public bool Aktiv { get; set; } public int? MukodesiHelyID { get; set; } public int? TeremFelelosID { get; set; } public string TeremFelelos { get; set; } public string MukodesiHelyNev { get; set; } public bool TobbOratLehetTartani { get; set; } public bool WifiLefedett { get; set; } public string Megjegyzes { get; set; } public bool IsInternetkapcsolatElerheto { get; set; } public int? TanulokSzamaraHozzaferhInternetesgep { get; set; } public int? PedagogusHozzaferhInternetesgep { get; set; } public int? OktCelraHasznaltSzamitogepekSzama { get; set; } public bool IsInterakttablavalMunkaallomassalFelszerelt { get; set; } public bool Berbeadhato { get; set; } public int? Ar { get; set; } public string Leiras { get; set; } public string KepNev { get; set; } public string KepUtvonal { get; set; } public string KepKiterjesztes { get; set; } public int? KepId { get; set; } public string DokumentumNev { get; set; } public string DokumentumUtvonal { get; set; } public string DokumentumKiterjesztes { get; set; } public int? DokumentumId { get; set; } public int? TulajdonTipusaId { get; set; } public int? EmeltAr { get; set; } public DateTime? EmeltIdoszakKezdete { get; set; } public DateTime? FoglalhatoIdoszakKezdete { get; set; } public DateTime? FoglalhatoIdoszakVege { get; set; } public List TeremBerbeadasIdopontokCOList { get; set; } public int? SzervezetId { get; set; } public static TeremCO EntityToCo(ITerem teremEntity) { IFeltoltottFajl feltoltottKep = null; IFeltoltottFajl feltoltottDokumentum = null; if (teremEntity.FeltoltottFajl?.Count > 0) { feltoltottKep = teremEntity.FeltoltottFajl.Single(item => item.TeremId == teremEntity.ID && !item.IsDokumentum).FeltoltottFajl; if (teremEntity.FeltoltottFajl.Any(item => item.TeremId == teremEntity.ID && item.IsDokumentum)) { feltoltottDokumentum = teremEntity.FeltoltottFajl.Single(item => item.TeremId == teremEntity.ID && item.IsDokumentum).FeltoltottFajl; } } var teremCo = new TeremCO { TeremId = teremEntity.ID, Aktiv = teremEntity.Aktiv, Kapacitas = teremEntity.Kapacitas, Nev = teremEntity.Nev, Terulet = teremEntity.Terulet, Jelleg = teremEntity.Jelleg, MukodesiHelyID = teremEntity.MukodesiHelyId.IsEntityId() ? teremEntity.MukodesiHelyId : default, MukodesiHelyNev = teremEntity.MukodesiHely?.Nev, TobbOratLehetTartani = teremEntity.TobbOratLehetTartani, TeremFelelosID = teremEntity.TeremFelelos != null ? teremEntity.TeremFelelosId : new int?(), TeremFelelos = teremEntity.TeremFelelos != null ? teremEntity.TeremFelelos.NyomtatasiNev : string.Empty, Vizsgakapacitas = teremEntity.VizsgaKapacitas, WifiLefedett = teremEntity.WiFiLefedett, Megjegyzes = teremEntity.Megjegyzes, IsInternetkapcsolatElerheto = teremEntity.IsInternetKapcsolatElerheto, TanulokSzamaraHozzaferhInternetesgep = teremEntity.TanulokSzamaraHozzaferhInternetesGep, PedagogusHozzaferhInternetesgep = teremEntity.PedagogusHozzaferhInternetesGep, OktCelraHasznaltSzamitogepekSzama = teremEntity.OktCelraHasznaltSzamitogepekSzama, IsInterakttablavalMunkaallomassalFelszerelt = teremEntity.IsInteraktTablavalMunkaAllomassalFelszerelt, Berbeadhato = teremEntity.Berbeadhato, Ar = teremEntity.Ar, Leiras = teremEntity.Leiras, KepNev = feltoltottKep?.Nev, KepUtvonal = feltoltottKep?.Utvonal, KepKiterjesztes = feltoltottKep?.Kiterjesztes, KepId = feltoltottKep?.ID, DokumentumNev = feltoltottDokumentum?.Nev, DokumentumUtvonal = feltoltottDokumentum?.Utvonal, DokumentumKiterjesztes = feltoltottDokumentum?.Kiterjesztes, DokumentumId = feltoltottDokumentum?.ID, TulajdonTipusaId = teremEntity.TulajdonTipusId, EmeltAr = teremEntity.Emeltar, EmeltIdoszakKezdete = teremEntity.EmeltarKezdeteOraPerc, FoglalhatoIdoszakVege = teremEntity.FoglalhatoIdoszakVege, FoglalhatoIdoszakKezdete = teremEntity.FoglalhatoIdoszakKezdete, SzervezetId = teremEntity.SzervezetId.IsEntityId() ? teremEntity.SzervezetId : (int?)null, }; return teremCo; } public static ITerem CoToTeremEntity(ITerem teremEntity, TeremCO teremCo) { teremEntity.Nev = teremCo.Nev; teremEntity.Aktiv = teremCo.Aktiv; if (teremCo.TeremFelelosID.HasValue) { teremEntity.TeremFelelosId = teremCo.TeremFelelosID.Value; } else { teremEntity.TeremFelelosId = -1; } if (teremCo.Kapacitas.HasValue) { teremEntity.Kapacitas = teremCo.Kapacitas.Value; } else { teremEntity.Kapacitas = null; } if (teremCo.Vizsgakapacitas.HasValue) { teremEntity.VizsgaKapacitas = teremCo.Vizsgakapacitas.Value; } else { teremEntity.VizsgaKapacitas = null; } if (teremCo.Terulet.HasValue) { teremEntity.Terulet = teremCo.Terulet.Value; } else { teremEntity.Terulet = null; } teremEntity.Jelleg = teremCo.Jelleg.Value; if (teremCo.MukodesiHelyID.HasValue) { teremEntity.MukodesiHelyId = teremCo.MukodesiHelyID.Value; } teremEntity.TobbOratLehetTartani = teremCo.TobbOratLehetTartani; teremEntity.WiFiLefedett = teremCo.WifiLefedett; teremEntity.Megjegyzes = teremCo.Megjegyzes; teremEntity.IsInternetKapcsolatElerheto = teremCo.IsInternetkapcsolatElerheto; teremEntity.TanulokSzamaraHozzaferhInternetesGep = teremCo.TanulokSzamaraHozzaferhInternetesgep; teremEntity.PedagogusHozzaferhInternetesGep = teremCo.PedagogusHozzaferhInternetesgep; teremEntity.OktCelraHasznaltSzamitogepekSzama = teremCo.OktCelraHasznaltSzamitogepekSzama; teremEntity.IsInteraktTablavalMunkaAllomassalFelszerelt = teremCo.IsInterakttablavalMunkaallomassalFelszerelt; SetTeremBerbeadas(teremEntity, teremCo); if (teremCo.SzervezetId.IsEntityId()) { teremEntity.SzervezetId = teremCo.SzervezetId.Value; } return teremEntity; } public static ITeremElerhetoseg CoToTeremElerhetosegEntity(ITeremElerhetoseg teremElerhetosegEntity, TeremBerbeadasIdopontokCO teremBerbeadasIdopontokCO, int? teremId = null) { if (teremId.HasValue) { teremElerhetosegEntity.TeremId = teremId.Value; } teremElerhetosegEntity.HetNapja = teremBerbeadasIdopontokCO.HetNapjaId.Value; teremElerhetosegEntity.Kezdete = teremBerbeadasIdopontokCO.Kezdete.Value; teremElerhetosegEntity.Vege = teremBerbeadasIdopontokCO.Vege.Value; return teremElerhetosegEntity; } private static void SetTeremBerbeadas(ITerem teremEntity, TeremCO teremCo) { teremEntity.Berbeadhato = teremCo.Berbeadhato; if (teremCo.Berbeadhato) { teremEntity.TulajdonTipusId = teremCo.TulajdonTipusaId; teremEntity.Ar = teremCo.Ar; teremEntity.Emeltar = teremCo.EmeltAr; teremEntity.EmeltarKezdeteOraPerc = teremCo.EmeltIdoszakKezdete; if (!string.IsNullOrWhiteSpace(teremCo.Leiras)) { teremEntity.Leiras = teremCo.Leiras; } teremEntity.FoglalhatoIdoszakKezdete = teremCo.FoglalhatoIdoszakKezdete; teremEntity.FoglalhatoIdoszakVege = teremCo.FoglalhatoIdoszakVege; } } } }