kreta/KretaWeb/Areas/Tanulo/Models/TanuloSearchModel.cs
2024-03-13 00:33:46 +01:00

251 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanulo.Models
{
public class TanuloSearchModel
{
public TanuloSearchModel()
{
TabList = new List<TabStripItemModel>();
AmiFeladatKategoriaIdItem = new List<SelectListItem>() { new SelectListItem { Text = OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).ToString() } };
KollegiumFeladatKategoriaIdItem = new List<SelectListItem>() { new SelectListItem { Text = OktNevelesiKategoriaEnum.Kollegium.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.Kollegium).ToString() } };
FelnottkepzesFeladatKategoriaIdItem = new List<SelectListItem>() { new SelectListItem { Text = OktNevelesiKategoriaEnum.Felnottkepzes.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.Felnottkepzes).ToString() } };
EGYMIFeladatKategoriaIdItem = new List<SelectListItem>() { new SelectListItem { Text = OktNevelesiKategoriaEnum.EGYMI.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.EGYMI).ToString() } };
if (ClaimData.IsVegyes)
{
FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria);
}
}
public int TanuloId { get; set; }
public string TanuloModalHeader { get; set; }
public List<TabStripItemModel> TabList { get; set; }
[Display(Name = nameof(TanuloResource.Nev), ResourceType = typeof(TanuloResource))]
public string Nev { get; set; }
[Display(Name = nameof(CommonResource.Nem), ResourceType = typeof(CommonResource))]
public int? NemId { get; set; }
[Display(Name = nameof(TanuloResource.AnyjaNeve), ResourceType = typeof(TanuloResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiHely), ResourceType = typeof(TanuloResource))]
public string SzuletesiHely { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiIdo), ResourceType = typeof(TanuloResource))]
public DateTime? SzuletesiIdoTol { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiIdo), ResourceType = typeof(TanuloResource))]
public DateTime? SzuletesiIdoIg { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public int? OsztalyCsoportId { get; set; }
[Display(Name = nameof(TanuloResource.Aktiv), ResourceType = typeof(TanuloResource))]
public bool Aktiv { get; set; }
[Display(Name = nameof(TanuloResource.Archivaltak), ResourceType = typeof(TanuloResource))]
public bool Archivalt { get; set; }
[Display(Name = nameof(TanuloResource.Evfolyam), ResourceType = typeof(TanuloResource))]
public int? EvfolyamId { get; set; }
[Display(Name = nameof(TanuloResource.FelvetelTaneve), ResourceType = typeof(TanuloResource))]
public int? FelvetelTanevId { get; set; }
[Display(Name = nameof(TanuloResource.OktatasiAzonosito), ResourceType = typeof(TanuloResource))]
public string OktatasiAzonosito { get; set; }
[Display(Name = nameof(TanuloResource.Vegzos), ResourceType = typeof(TanuloResource))]
public int? VegzosId { get; set; }
[Display(Name = nameof(TanuloResource.SNI), ResourceType = typeof(TanuloResource))]
public int? SNIId { get; set; }
[Display(Name = nameof(TanuloResource.BTM), ResourceType = typeof(TanuloResource))]
public int? BTMId { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(TanuloResource.HatranyosHelyzet), ResourceType = typeof(TanuloResource))]
public int? HatranyosHelyzetId { get; set; }
public bool? RosszOktAzon { get; set; }
public bool? OsztalybaSoroltTantervNelkul { get; set; }
public bool? NincsNem { get; set; }
public bool? NincsSzakmaCsoport { get; set; }
public bool? NincsAnyanyelv { get; set; }
public bool? NincsAllampolgarsag { get; set; }
public bool? TanuloBelepesNelkul { get; set; }
public bool? NincsOsztondijAlapAdat { get; set; }
public bool? NincsOsztondijUtalasAdat { get; set; }
public bool? VanKettosOsztalybesorolas { get; set; }
public bool IsHibasanRogzitettOktatasiAzonositok { get; set; }
public bool IsHibasanRogzitettTajSzamok { get; set; }
public bool IsHibasanRogzitettAdoazonositoJelek { get; set; }
//Tanuló hozzáférés generálása gomb láthatósága
public bool TanuloHozzaferesGeneralasaGombLathato { get; set; }
public bool TanuloJelszoGeneralasaGombLathato { get; set; }
//Gondviselő hozzáférés generálása gomb láthatósága
public bool GondviseloHozzaferesGeneralasaGombLathato { get; set; }
public bool GondviseloJelszoGeneralasaGombLathato { get; set; }
public bool IsFromSzervezet { get; set; }
public int? SzervezetId { get; set; }
[Display(Name = nameof(TeremResource.SzervezetNeve), ResourceType = typeof(TeremResource))]
public string SzervezetNev { get; set; }
[Display(Name = nameof(TeremResource.SzervezetAzonosito), ResourceType = typeof(TeremResource))]
public string SzervezetAzonosito { get; set; }
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.MuvesztiAg), ResourceType = typeof(OsztalyCsoportResource))]
public int? SearchMuveszetiAgId { get; set; }
public List<SelectListItem> AmiFeladatKategoriaIdItem { get; set; }
public List<SelectListItem> KollegiumFeladatKategoriaIdItem { get; set; }
public List<SelectListItem> FelnottkepzesFeladatKategoriaIdItem { get; set; }
public List<SelectListItem> EGYMIFeladatKategoriaIdItem { get; set; }
public bool ForOktober { get; set; }
[Display(Name = nameof(TanuloResource.TanterviJelleg), ResourceType = typeof(TanuloResource))]
public int? TanterviJellegSearchId { get; set; }
public static TanuloSearchModel SetFilterTanuloSearchModel(string filter)
{
TanuloSearchModel result = new TanuloSearchModel();
switch (filter)
{
case "nincsallampolgarsag":
result.NincsAllampolgarsag = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "nincsanyanyelv":
result.NincsAnyanyelv = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "nincsszakmacsoport":
result.NincsSzakmaCsoport = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "nincsnem":
result.NincsNem = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "nincsbelepestanulo":
result.TanuloBelepesNelkul = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "minden":
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "nincsOsztondijAlapAdat":
result.NincsOsztondijAlapAdat = true;
result.FeladatKategoriaId = (int)OktNevelesiKategoriaEnum.NevelesOktatas;
break;
case "nincsOsztondijUtalasAdat":
result.NincsOsztondijUtalasAdat = true;
result.FeladatKategoriaId = (int)OktNevelesiKategoriaEnum.NevelesOktatas;
break;
case "vanKettosOsztalybesorolas":
result.VanKettosOsztalybesorolas = true;
break;
case "hibasanRogzitettOktatasiAzonositok":
result.IsHibasanRogzitettOktatasiAzonositok = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
break;
case "hibasanRogzitettTajSzamok":
result.IsHibasanRogzitettTajSzamok = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
result.Aktiv = true;
break;
case "hibasanRogzitettAdoazonositoJelek":
result.IsHibasanRogzitettAdoazonositoJelek = true;
result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria;
result.Aktiv = true;
break;
}
return result;
}
public TanuloKeresesCO ConvertModelToCo(IConnectionType connectionType, bool isAktivTanev)
{
return new TanuloKeresesCO(connectionType, isAktivTanev)
{
Nev = this.Nev,
Neme = this.NemId,
EvfolyamId = this.EvfolyamId,
FelvetelEve = this.FelvetelTanevId,
SzuletesiIdoKezdet = this.SzuletesiIdoTol,
SzuletesiIdoVeg = this.SzuletesiIdoIg,
AnyjaNeve = this.AnyjaNeve,
SzuletesiHely = this.SzuletesiHely,
OsztalyId = this.OsztalyCsoportId,
Aktiv = this.Aktiv,
Vegzos = this.VegzosId?.ToString(),
SNI = this.SNIId?.ToString(),
BTM = this.BTMId?.ToString(),
FeladatellatasiHelyId = this.FeladatEllatasiHelyId,
HatranyosHelyzetId = this.HatranyosHelyzetId,
Torolt = this.Archivalt,
OktatasiAzonosito = string.IsNullOrWhiteSpace(this.OktatasiAzonosito) ? string.Empty : this.OktatasiAzonosito,
OsztalybaSoroltTantervNelkul = this.OsztalybaSoroltTantervNelkul,
NincsNem = this.NincsNem,
NincsAllampolgarsag = this.NincsAllampolgarsag,
NincsAnyanyelv = this.NincsAnyanyelv,
NincsSzakmaCsoport = this.NincsSzakmaCsoport,
FeladatKategoriaId = this.FeladatKategoriaId.IsEntityId() ? this.FeladatKategoriaId : null,
TanuloBelepesNelkul = this.TanuloBelepesNelkul,
SearchMuveszetiAgId = this.SearchMuveszetiAgId,
ForOktober = ForOktober,
NincsOsztondijAlapAdat = this.NincsOsztondijAlapAdat,
NincsOsztondijUtalasAdat = this.NincsOsztondijUtalasAdat,
VanKettosOsztalybesorolas = this.VanKettosOsztalybesorolas,
IsHibasanRogzitettOktatasiAzonositok = this.IsHibasanRogzitettOktatasiAzonositok,
IsHibasanRogzitettTajSzamok = this.IsHibasanRogzitettTajSzamok,
IsHibasanRogzitettAdoazonositoJelek = this.IsHibasanRogzitettAdoazonositoJelek,
TanterviJellegSearchId = this.TanterviJellegSearchId,
IsFromSzervezet = this.IsFromSzervezet,
SzervezetId = this.SzervezetId,
SzervezetNev = this.SzervezetNev,
SzervezetAzonosito = this.SzervezetAzonosito,
};
}
}
}