kreta/KretaWeb/Controllers/ComboBoxHelperEnumApiController.cs
2024-03-13 00:33:46 +01:00

251 lines
14 KiB
C#

using System.Collections.Generic;
using System.Web.Http;
using System.Web.Http.Results;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Utils;
using Kreta.Core.FeatureToggle;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Alkalmazott.Helpers;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[ApiRoleClaimsAuthorize(true)]
public class ComboBoxHelperEnumApiController : ApiController
{
private readonly IFeatureContext FeatureContext;
public ComboBoxHelperEnumApiController(IFeatureContext featureContext)
{
FeatureContext = featureContext;
}
public JsonResult<List<ComboBoxListItem>> GetIgenNemEnumList([DataSourceRequest] DataSourceRequest request)
{
var listItems = new List<ComboBoxListItem>
{
new ComboBoxListItem {Text = StringResourcesUtil.GetString(133) /*Igen*/, Value = ((int) IgenNemEnum.Igen).ToString()},
new ComboBoxListItem {Text = StringResourcesUtil.GetString(134) /*Nem*/, Value = ((int) IgenNemEnum.Nem).ToString()}
};
return Json(listItems);
}
public List<SelectListItem> GetIgenNemEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<IgenNemEnum>();
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetIsElfogadottSzandeknyilatkozatEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<IsElfogadottSzandeknyilatkozatEnum>();
return dictionary.ToSelectListItemList();
}
public JsonResult<List<ComboBoxListItem>> GetHetNapList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
dictionary.Remove(((int)HetNapjaTipusEnum.na).ToString());
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetHetNapListWithEmptyRecord([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
dictionary.Remove(((int)HetNapjaTipusEnum.na).ToString());
dictionary.Add(((int)HetNapjaTipusEnum.na).ToString(), EnumsResource.UresOrarend);
return Json(dictionary.ToComboBoxItemList());
}
public List<SelectListItem> GetJogosultsagList()
{
var ret = AlkalmazottViewHelper.GetJogosultsagiSzintList(FeatureContext.IsEnabled(Core.Constants.FeatureName.IERSzerepkorokHozzaadasa, instituteId: ClaimData.IntezmenyAzonosito));
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var hrModulEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled);
if (hrModulEnabled)
{
ret.Add(new SelectListItem { Text = FelhasznalokResource.HRModulKezeloMintJogosultsag, Value = FelhasznalokResource.HRModulKezeloMintJogosultsagValue });
}
if (new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese))
{
ret.Add(new SelectListItem { Text = FelhasznalokResource.LEPModulKezeloMintJogosultsag, Value = FelhasznalokResource.LEPModulKezeloMintJogosultsagValue });
}
ret.Add(new SelectListItem { Text = FelhasznalokResource.DiakOlimpiaKezeloMintJogosultsag, Value = FelhasznalokResource.DiakOlimpiaKezeloMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.KozSzolgKezeloMintJogosultsag, Value = FelhasznalokResource.KozSzolgKezeloMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.OsztalyfonokMintJogosultsag, Value = FelhasznalokResource.OsztalyfonokMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.OsztalyfonokHelyettesMintJogosultsag, Value = FelhasznalokResource.OsztalyfonokHelyettesMintJogosultsagValue });
return ret;
}
public List<SelectListItem> GetAtlagMegjelenitesTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<AtlagMegjelenitesTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetAtlagbaBeleszamitoOsztalyTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<AtlagbaBeleszamitoOsztalyTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetHaladasiNaploFulTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<HaladasiNaploFulTipus>(ClaimData.SelectedTanevID.Value, false, true);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
{
dictionary.Remove(((int)HaladasiNaploFulTipus.Fogadoora).ToString());
}
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetHaladasiNaploNezetTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<HaladasiNaploNezetTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoTipusList()
{
List<int> topItems = new List<int>
{
(int)TavolletTipusEnum.Szabadsag,
(int)TavolletTipusEnum.Keresokeptelenseg,
(int)TavolletTipusEnum.Tanulmanyi_munkaido_kedvezmeny,
(int)TavolletTipusEnum.Szulesi_szabadsag,
(int)TavolletTipusEnum.Apat_megilleto_potszabadsag_gyermeke_szuletese_eseten,
(int)TavolletTipusEnum.Hozzatartozo_halalakor_mentesules_munkavegzes_alol,
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_meghalado_tartamu_biztositas_szunetel,
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_nem_meghalado_tartamu_biztositas_szunetel,
(int)TavolletTipusEnum.Kotelezo_orvosi_vizsgalat_tartamara_mentesules_munkavegzes_alol,
(int)TavolletTipusEnum.Kepzesben_tovabbkepzesben_felek_megallapodasa_alapjan_valo_reszvetelhez_szukseges_idotartamra_mentesules_munkavegzes_alol,
};
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TavolletTipus, ClaimData.SelectedTanevID.Value, topItems: topItems);
// Ez KRÉTA-ban nem jelenik meg kiválasztásra
dictionary.Remove(((int)TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_).ToString());
dictionary.Remove(((int)TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora).ToString());
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
// "sima" felhasználóknak ezek nem jelennek meg:
if (!ClaimData.IsAdministrator && !helper.IsLeader())
{
dictionary.Remove(((int)TavolletTipusEnum.Egyeb_hianyzas_dijazassal).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Egyeb_hianyzas_dijazas_nelkul).ToString());
dictionary.Remove(((int)TavolletTipusEnum.egyeb_hianyzas_dijazas_nelkul_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Mentesites_a_munkavegzes_alol_felmentesi_felmondasi_ido_tartamara).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Sztrajk).ToString());
dictionary.Remove(((int)TavolletTipusEnum.sztrajk_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet_ora_vagy_teljesitmenyberezes_eseten).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Jogviszony_folyositas).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Kirendeles_a_fogado_munkaltato_fizet).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Allasido_dijazassal).ToString());
dictionary.Remove(((int)TavolletTipusEnum.allasido_dijazassal_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Felfuggesztes_jogviszonyt_megszunteto_hatarozat_kezbesitese).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_).ToString());
dictionary.Remove(((int)TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kulszolgalatba_helyezes_idotartamara).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Elozetes_letartoztatas_szabadsagvesztes).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Allasido_dijazas_nelkul).ToString());
dictionary.Remove(((int)TavolletTipusEnum.allasido_dijazas_nelkul_ora).ToString());
}
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoNaptariEvekList()
{
var listItems = new List<ComboBoxListItem>();
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var evek = helper.GetTavolletjelentoNaptariEvek(ClaimData.IsAdministrator);
foreach (var ev in evek)
{
ComboBoxListItem listItem = new ComboBoxListItem() { Text = ev, Value = ev };
listItems.Add(listItem);
}
return Json(listItems);
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoStatuszList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TavolletStatusz, ClaimData.SelectedTanevID.Value);
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetFizetesiModList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<FizetesiModEnum>();
dictionary.Add(new KeyValuePair<string, string>("1", "Default elem, még nincs értékkészlet"));
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetMennyisegEgysegeList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MennyisegiEgyseg, ClaimData.SelectedTanevID.Value);
dictionary.Add(new KeyValuePair<string, string>("1", "Default elem, még nincs értékkészlet"));
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetBeszerzesiIgenyStatuszList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.BeszerzesiIgenySatusz, ClaimData.SelectedTanevID.Value);
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetKirSzerkesztehetoEnumList([DataSourceRequest] DataSourceRequest request)
{
var listItems = new List<ComboBoxListItem>
{
new ComboBoxListItem { Text = KirEditableEnum.Egyezik.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.Egyezik.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.ModositasraVar.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.ModositasraVar.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.Uj.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.Uj.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.NemEgyezik.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.NemEgyezik.ToInt32().ToString() }
};
return Json(listItems);
}
public List<SelectListItem> GetErettsegiSzintEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErettsegiSzint, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetErettsegiTipusEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErettsegiTipus, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetAranyJanosAlprogramList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.AranyJanosProgramTipus, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
}
}