namespace Kreta.BusinessLogic.HelperClasses { using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using Kreta.Core.Validation.Exceptions; using Kreta.Core.Validation.Exceptions.Enum; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Resources; using Newtonsoft.Json; public class OrarendCO { public OrarendCO() { Events = new List(); } public List Events { get; set; } public void ConvertToOrarendViewData() { foreach (var item in Events) { if (item.start.HasValue) { item.orarendViewStart = item.start.Value; item.start = item.start.Value.Date.Add(new TimeSpan(0, item.hanyadikora, 0)); } if (item.end.HasValue) { item.orarendViewEnd = item.end.Value; item.end = item.end.Value.Date.Add(new TimeSpan(0, item.hanyadikora, 55)); } } } [SuppressMessage("StyleCop.CSharp.DocumentationRules", "*")] public class Event { public Event() { textColor = "#000"; } public bool allDay { get; set; } public string borderColor { get; set; } public string borderStyle { get; set; } public string color { get; set; } public EventColorEnum colorEnum { get; set; } public string colorRightLine { get; set; } public int? CsengetesiRendId { get; set; } public DateTime? datum { get; set; } public bool DisplayTime { get; set; } public DateTime? end { get; set; } public int hanyadikora { get; set; } public int? helyettesitesId { get; set; } public int? helyettesitoId { get; set; } public string hetirend { get; set; } public int id { get; set; } public bool isElmaradt { get; set; } public int maxNapiOraszam { get; set; } public string OraErvenyessegKezdete { get; set; } public string OraErvenyessegVege { get; set; } public string OraKezdete { get; set; } public DateTime? orarendViewEnd { get; set; } public DateTime? orarendViewStart { get; set; } public string oraszam { get; set; } public CalendarOraTypeEnum oraType { get; set; } public string OraVege { get; set; } public DateTime? start { get; set; } public string Tantargy { get; set; } public string Tema { get; set; } public string text { get; set; } public string textColor { get; set; } public bool textLineThrough { get; set; } public string title { get; set; } public bool hasBejelentettSzamonkeres { get; set; } public string BejelentettSzamonkeresContent { get; set; } public int[] BejelentettSzamonkeresIdList { get; set; } public bool hasHaziFeladat { get; set; } public bool IsHaziFeladatKesz { get; set; } public bool IsHaziFeladatLejart { get; set; } public Guid? KozpontiOraGroupId { get; set; } public Guid? KozpontilagToroltOraGroupId { get; set; } public bool Torolt { get; set; } public bool OnlineOra { get; set; } public bool UseCalendarTooltip { get; set; } = false; public string TooltipMsg { get; set; } public bool IsDigitalisOra { get; set; } public string DigitalisEszkozTipus { get; set; } public string DigitalisPlatformTipus { get; set; } public List DigitalisTamogatoEszkozTipusList { get; set; } = new List(); } public class ExtendedEvent : Event { public ExtendedEvent() : base() { } [JsonIgnore] public string HelyettesNev { get; set; } [JsonIgnore] public TanoraAllapotaEnum OraAllapota { get { if (isElmaradt) { return TanoraAllapotaEnum.Elmaradt; } if (oraType == CalendarOraTypeEnum.TanitasiOra || oraType == CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas) { return TanoraAllapotaEnum.Naplozott; } if (oraType == CalendarOraTypeEnum.OrarendiOra || oraType == CalendarOraTypeEnum.TanoranKivuliFoglalkozas) { return TanoraAllapotaEnum.Nem_naplozott; } throw new ValidationException(ValidationErrorType.Undefined, ErrorResource.OraAllapotaNemMeghatarozhato); } } [JsonIgnore] public int? OrarendiOraId { get; set; } [JsonIgnore] public int? OrarendiOraGroupId { get; set; } [JsonIgnore] public string OsztalyCsoport { get; set; } [JsonIgnore] public int? OsztalyCsoportId { get; set; } [JsonIgnore] public int TanarId { get; set; } [JsonIgnore] public string TanarNev { get; set; } [JsonIgnore] public Guid TanarIdpUniqueId { get; set; } [JsonIgnore] public Guid? HelyettesitoTanarIdpUniqueId { get; set; } [JsonIgnore] public int TanevRendOsztalyCsoportId { get; set; } public string TantargyKategoria { get; set; } public int TantargyKategoriaId { get; set; } [JsonIgnore] public string TantargyTeljesNev { get; set; } [JsonIgnore] public int TantargyId { get; set; } [JsonIgnore] public MulasztasTipusEnum TanuloJelenlet { get; set; } [JsonIgnore] public string Terem { get; set; } [JsonIgnore] public int HetSorszama { get; set; } [JsonIgnore] public int? EvesOraSorszam { get; set; } [JsonIgnore] public int? HaziFeladatId { get; set; } [JsonIgnore] public int? BejelentettSzamonkeresId { get; set; } [JsonIgnore] public string BejelentettSzamonkeresMod { get; set; } [JsonIgnore] public string BejelentettSzamonkeresTema { get; set; } [JsonIgnore] public DateTime? ElozoNaplozottOraDatum { get; set; } [JsonIgnore] public string ElozoNaplozottOraTema { get; set; } [JsonIgnore] public DateTime Letrehozas { get; set; } [JsonIgnore] public DateTime UtolsoModositas { get; set; } } } }