This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,171 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Enums;
using Kreta.Resources;
namespace Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas
{
public class SorolasZaradek
{
public int? Id { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Bizonyitvany), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsBizonyitvanybanMegjelenik { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Bizonyitvanyban), ResourceType = typeof(OsztalyCsoportResource))]
public string IsBizonyitvanMegjelenesString => IsBizonyitvanybanMegjelenik ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.Vegzaradek), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsKiVagyAtsorolasiZaradek { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Vegzaradek), ResourceType = typeof(OsztalyCsoportResource))]
public string IsVegzaradekString => IsKiVagyAtsorolasiZaradek ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.Naplo), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsOsztalynaplobanMegjelenik { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Naploban), ResourceType = typeof(OsztalyCsoportResource))]
public string IsNaploMegjelenesString => IsOsztalynaplobanMegjelenik ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.Torzslap), ResourceType = typeof(OsztalyCsoportResource))]
public bool IsTorzslaponMegjelenik { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.Torzslapon), ResourceType = typeof(OsztalyCsoportResource))]
public string IsTorzslapMegjelenesString => IsTorzslaponMegjelenik ? CommonResource.Igen : CommonResource.Nem;
[Display(Name = nameof(OsztalyCsoportResource.KeltezesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
[KretaDateRange(ErrorMessageResourceName = nameof(OsztalyCsoportResource.KeltezesDatumaNemLehetKorabbiMint_1900), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
public DateTime? KeltezesDatuma { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.KeltezesDatuma), ResourceType = typeof(OsztalyCsoportResource))]
public string KeltezesDatumaShortDateString => KeltezesDatuma.ToShortDateString();
[Display(Name = nameof(OsztalyCsoportResource.KeltezesHelye), ResourceType = typeof(OsztalyCsoportResource))]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(OsztalyCsoportResource.KeltezesHelyeMax255Karakter), ErrorMessageResourceType = typeof(OsztalyCsoportResource))]
public string KeltezesHelye { get; set; }
public DateTime RogzitesDatuma { get; set; }
public DateTime UtolsoModositasDatuma { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.RogzitesDatum), ResourceType = typeof(OsztalyCsoportResource))]
public string RogzitesDatumaStr => RogzitesDatuma.ToString(Constants.ToStringPattern.HungarianDate);
[Display(Name = nameof(OsztalyCsoportResource.UtolsoModositasDatum), ResourceType = typeof(OsztalyCsoportResource))]
public string UtolsoModositasDatumaStr => UtolsoModositasDatuma.ToString(Constants.ToStringPattern.HungarianDate);
public int RogzitoId { get; set; }
public int UtolsoModositoId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.UtolsoModositoNev), ResourceType = typeof(OsztalyCsoportResource))]
public string UtolsoModositoNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.RogzitoNev), ResourceType = typeof(OsztalyCsoportResource))]
public string RogzitoNev { get; set; }
public int? TanuloCsoportId { get; set; }
public List<ZaradekNyelvItem> ZaradekSzovegList { get; set; }
public string ZaradekUrl { get; set; }
public string ZaradekPlaceholder { get; set; }
public bool IsOfoRogzithetEvkoziZaradekot { get; set; }
public bool IsOfoRogzithetKiVagyAtsorolasiZaradekot { get; set; }
public bool IsOsztalyfonok { get; set; }
public bool IsAdministrator { get; set; }
public bool IsZaradekKotelezo { get; set; }
private List<int> _nemzetiDokumentumNyelvek;
public bool IsTorolheto { get; set; }
public SorolasZaradek() { ZaradekSzovegList = new List<ZaradekNyelvItem>(); }
public SorolasZaradek(IConnectionType connectionType, bool pIsKiVagyAtsorolasiZaradek, string pZaradekUrl)
{
SetBaseData(connectionType, pIsKiVagyAtsorolasiZaradek, pZaradekUrl, null);
}
public SorolasZaradek(IConnectionType connectionType, bool pIsKiVagyAtsorolasiZaradek)
{
SetBaseData(connectionType, pIsKiVagyAtsorolasiZaradek, null, null);
}
public SorolasZaradek(IConnectionType connectionType, ZaradekCo zaradekCo)
{
SetBaseData(connectionType, zaradekCo.IsKiVagyAtsorolasiZaradek, null, null);
Id = zaradekCo.Id;
IsBizonyitvanybanMegjelenik = zaradekCo.IsBizonyitvanybanMegjelenik;
IsOsztalynaplobanMegjelenik = zaradekCo.IsOsztalynaplobanMegjelenik;
IsTorzslaponMegjelenik = zaradekCo.IsTorzslaponMegjelenik;
KeltezesDatuma = zaradekCo.KeltezesDatuma.Value;
KeltezesHelye = zaradekCo.KeltezesHelye;
TanuloCsoportId = zaradekCo.TanuloCsoportId;
UtolsoModositasDatuma = zaradekCo.UtolsoModositasDatuma;
UtolsoModositoId = zaradekCo.UtolsoModositoId;
UtolsoModositoNev = zaradekCo.UtolsoModositoNev;
RogzitoNev = zaradekCo.RogzitoNev;
RogzitesDatuma = zaradekCo.RogzitesDatuma;
_nemzetiDokumentumNyelvek.Add((int)AnyanyelvEnum.magyar);
IsTorolheto = !zaradekCo.IsKiVagyAtsorolasiZaradek || new ZaradekHelper(connectionType).IsKiVagyAtsorolasiZaradekTorolheto(zaradekCo.TanuloCsoportId.Value, zaradekCo.Id.Value);
foreach (var nemzetiDokumentumNyelv in _nemzetiDokumentumNyelvek)
{
ZaradekSzovegList.Single(x => x.NyelvId == nemzetiDokumentumNyelv).Szoveg = zaradekCo.ZaradekSzovegList.SingleOrDefault(x => x.NyelvId == nemzetiDokumentumNyelv)?.Szoveg ?? string.Empty;
}
}
public ZaradekCo ConvertToCo()
{
var co = new ZaradekCo
{
Id = Id,
TanuloCsoportId = TanuloCsoportId,
IsBizonyitvanybanMegjelenik = IsBizonyitvanybanMegjelenik,
IsKiVagyAtsorolasiZaradek = IsKiVagyAtsorolasiZaradek,
IsOsztalynaplobanMegjelenik = IsOsztalynaplobanMegjelenik,
IsTorzslaponMegjelenik = IsTorzslaponMegjelenik,
KeltezesDatuma = KeltezesDatuma,
KeltezesHelye = KeltezesHelye,
RogzitoId = RogzitoId,
UtolsoModositoId = UtolsoModositoId,
ZaradekSzovegList = this.ZaradekSzovegList.Where(x => !string.IsNullOrWhiteSpace(x.Szoveg)).Select(x => new ZaradekNyelvCo { NyelvId = x.NyelvId, Szoveg = x.Szoveg.Trim() }).ToList()
};
return co;
}
private void SetBaseData(IConnectionType connectionType, bool isKiVagyAtsorolasiZaradek, string zaradekUrl, string zaradekPlaceholder)
{
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
_nemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
ZaradekSzovegList = new List<ZaradekNyelvItem> { new ZaradekNyelvItem { NyelvId = (int)AnyanyelvEnum.magyar, Szoveg = string.Empty } };
ZaradekSzovegList.AddRange(_nemzetiDokumentumNyelvek.ConvertAll(zaradekNyelv => new ZaradekNyelvItem { NyelvId = zaradekNyelv, Szoveg = string.Empty }));
IsOfoRogzithetEvkoziZaradekot = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_zaradekat);
IsOfoRogzithetKiVagyAtsorolasiZaradekot = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osztalyfonok_kiegeszitheti_osztalyaba_jaro_tanulok_ki_vagy_atsorolsasi_zaradekat);
ZaradekUrl = zaradekUrl;
ZaradekPlaceholder = zaradekPlaceholder ?? OsztalyCsoportResource.ValasszaKiAZaradekot;
IsKiVagyAtsorolasiZaradek = isKiVagyAtsorolasiZaradek;
IsZaradekKotelezo = isKiVagyAtsorolasiZaradek;
KeltezesDatuma = DateTime.Now.Date;
KeltezesHelye = new IntezmenyHelper(connectionType).GetIntezmenyiAdatok().Varos;
}
}
}