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

420 lines
18 KiB
C#

using System.Collections.Generic;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Leltar;
using Kreta.Core.FeatureToggle;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Web.Areas.Alkalmazott.ApiControllers;
using Kreta.Web.Areas.Alkalmazott.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using HttpPostAttribute = System.Web.Mvc.HttpPostAttribute;
namespace Kreta.Web.Areas.Alkalmazott.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public class AlkalmazottController : BaseAlkalmazottController
{
public AlkalmazottController(IFeatureContext featureContext, IKozpontiKretaHelper kozpontiKretaHelper, ILeltarClient leltarClient)
: base(featureContext, kozpontiKretaHelper, leltarClient)
{
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult Index(string filter)
{
var model = AlkalmazottSearchModel.SetFilterAlkalmazottSearchModel(filter);
model.MunkaugyiAdatokKlebelsbergOrNSZFH =
_featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|| _featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
model.FeladatEllatasiHelyId = ClaimData.FelhelySzuro;
return View(Constants.ViewNames.Index, model);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult ErrorIndex(bool? NANem, bool? NABesorolasiFokozat, bool? nincsMunkakor, bool? nincsFoglalkoztatsModja, bool? nincsEmail)
{
var model = new AlkalmazottSearchModel();
if (NANem.HasValue && NANem.Value)
{
model.NANem = NANem;
model.Nem = (int)NemEnum.NA;
}
if (NABesorolasiFokozat.HasValue && NABesorolasiFokozat.Value)
{
model.NABesorolasiFokozat = NABesorolasiFokozat;
model.SearchPedagogusFokozat = (int)BesorolasiFokozatTipusEnum.na;
}
if (nincsMunkakor.HasValue && nincsMunkakor.Value)
{
model.NincsMunkakor = nincsMunkakor;
}
if (nincsFoglalkoztatsModja.HasValue && nincsFoglalkoztatsModja.Value)
{
model.NincsFoglalkoztatsModja = nincsFoglalkoztatsModja;
}
if (nincsEmail.HasValue && nincsEmail.Value)
{
model.NincsEmail = nincsEmail;
}
model.MunkaugyiAdatokKlebelsbergOrNSZFH =
_featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|| _featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
return View(Constants.ViewNames.Index, model);
}
public ActionResult OpenNewAlkalmazottPopUp()
{
return base.OpenNewAlkalmazottPopUp();
}
public ActionResult OpenUjBetoltetlenAllashelyPopUp()
{
var api = new AlkalmazottApiController(_leltarClient);
var alkalmazottModel = api.CreateNewBetoltetlenAllashelyModel();
var model = new PopUpModel(alkalmazottModel, "New_BetoltetlenAllashely_Bevitel");
model.AddCancelBtn(model, "AlkalmazottHelper.betoltetlenAllashelyCancel");
model.AddOkBtn(model, "AlkalmazottHelper.betoltetlenAllashelySave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenUjHitoktatoRogzitesePopUp()
{
var api = new AlkalmazottApiController(_leltarClient);
var alkalmazottModel = api.CreateNewHitoktatoModel();
var model = new PopUpModel(alkalmazottModel, "New_HitOktato_Bevitel");
model.AddCancelBtn(model, "AlkalmazottHelper.hitOktatoCancel");
model.AddOkBtn(model, "AlkalmazottHelper.hitOktatoSave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenUjKulsosAlkalmazottRogzitesePopUp()
{
var api = new AlkalmazottApiController(_leltarClient);
var alkalmazottModel = api.CreateNewKulsosAlkalmazottModel();
var model = new PopUpModel(alkalmazottModel, "New_KulsosAlkalmazott_Bevitel");
model.AddCancelBtn(model, "AlkalmazottHelper.kulsosAlkalmazottCancel");
model.AddOkBtn(model, "AlkalmazottHelper.kulsosAlkalmazottSave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenUjKulsoGyakorlatiAllashelyRogzitesePopUp()
{
var api = new AlkalmazottApiController(_leltarClient);
var alkalmazottModel = api.CreateNewKulsoGyakorlatiAllashelyModel();
var model = new PopUpModel(alkalmazottModel, "New_KulsoGyakorlatiAllashely_Bevitel");
model.AddCancelBtn(model, "AlkalmazottHelper.kulsoGyakorlatiAllashelyCancel");
model.AddOkBtn(model, "AlkalmazottHelper.kulsoGyakorlatiAllashelySave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenUjDualisKepzohelyiOktatoRogzitesePopUp()
{
return OpenUjDualisKepzohelyiOktatoRogzitesePopUp(false);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult OpenAlkalmazottInfoPopUp(int alkalmazottId)
{
return base.OpenAlkalmazottInfoPopUp(alkalmazottId, false);
}
/// <summary>
/// Tanulók adatainál a tanárok és tantárgyak fülön a tanár neve linkbutton, ami ezt az Actiont hívja meg
/// </summary>
/// <param name="alkalmazottId"></param>
/// <returns></returns>
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult OpenTanuloTanarInfoPopUp(int alkalmazottId)
{
return base.OpenTanuloTanarInfoPopUp(alkalmazottId);
}
public ActionResult NewElerhetosegCim(int alkalmazottId)
{
return base.NewElerhetosegCim(alkalmazottId);
}
public ActionResult ModElerhetosegCim(int cimId, bool? isKozpontilagSzinkronizalt)
{
return base.ModElerhetosegCim(cimId, isKozpontilagSzinkronizalt);
}
public ActionResult NewElerhetosegTel(int alkalmazottId)
{
return base.NewElerhetosegTel(alkalmazottId);
}
public ActionResult ModElerhetosegTel(int id)
{
return base.ModElerhetosegTel(id);
}
public ActionResult NewElerhetosegEmail(int alkalmazottId)
{
return base.NewElerhetosegEmail(alkalmazottId);
}
public ActionResult ModElerhetosegEmail(int id)
{
return base.ModElerhetosegEmail(id);
}
public ActionResult OpenModifyAlkalmazottPopUp(int alkalmazottId)
{
return OpenModifyAlkalmazottPopUp(alkalmazottId, false);
}
public ActionResult OpenNewPedagogusEletpalyamodellPopUp(int alkalmazottId)
{
var pedagogusEletpalyamodellModel = new PedagogusEletpalyamodellModel
{
AlkalmazottId = alkalmazottId
};
var model = new PopUpModel(pedagogusEletpalyamodellModel, "New_PedagogusEletpalyamodell");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnPedagogusEletpalyamodellCancel", Text = Resources.CommonResource.Megse, EventName = "PedagogusEletpalyamodellHelper.newPedagogusEletpalyamodellCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnPedagogusEletpalyamodellOk", Text = Resources.CommonResource.Mentes, EventName = "PedagogusEletpalyamodellHelper.newPedagogusEletpalyamodellSave" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenModifyPedagogusEletpalyamodellPopUp(int id)
{
var apiController = new AlkalmazottApiController(_leltarClient);
var pedagogusEletpalyamodellModel = apiController.GetPedagogusEletpalyamodell(id);
var model = new PopUpModel(pedagogusEletpalyamodellModel, "New_PedagogusEletpalyamodell");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnPedagogusEletpalyamodellCancel", Text = Resources.CommonResource.Megse, EventName = "PedagogusEletpalyamodellHelper.modifyPedagogusEletpalyamodellCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnPedagogusEletpalyamodellOk", Text = Resources.CommonResource.Mentes, EventName = "PedagogusEletpalyamodellHelper.modifyPedagogusEletpalyamodellSave" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenNewVegzettsegekPopUp(int alkalmazottId)
{
var vegzettsegModel = new VegzettsegModel
{
AlkalmazottId = alkalmazottId
};
var model = new PopUpModel(vegzettsegModel, "New_Vegzettsegek");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnVegzettsegCancel", Text = Resources.CommonResource.Megse, EventName = "VegzettsegHelper.newVegzettsegCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnVegzettsegOk", Text = Resources.CommonResource.Mentes, EventName = "VegzettsegHelper.newVegzettsegSave" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenModifyVegzettsegekPopUp(int id)
{
var apiController = new AlkalmazottApiController(_leltarClient);
var vegzettsegModel = apiController.GetVegzettsegek(id);
var model = new PopUpModel(vegzettsegModel, "New_Vegzettsegek");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnVegzettsegCancel", Text = Resources.CommonResource.Megse, EventName = "VegzettsegHelper.modifyVegzettsegCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnVegzettsegOk", Text = Resources.CommonResource.Mentes, EventName = "VegzettsegHelper.modifyVegzettsegSave" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenNewTovabbiMunkaugyiAdatokPopUp(int alkalmazottId)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var egy_statuszra_juto_kotelezo_oraszam = systemSettingsHelper.GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Egy_statuszra_juto_kotelezo_oraszam);
var tovabbiMunkaugyiAdatokModel = new TovabbiMunkaugyiAdatokModel
{
AlkalmazottId = alkalmazottId,
FoglalkoztatasiJogviszony = (int)MunkaviszonyTipusEnum.megbizasi_jogviszony,
FoglalkoztatasTipusa = (int)FoglalkoztatasTipusaEnum.TeljesMunkaidos,
VezetoiOraszamOka = (int)VezetoiOraszamokTipusEnum.Nincs,
Oraszam = egy_statuszra_juto_kotelezo_oraszam
};
if (ApplicationData.SystemType == SystemType.KK)
{
tovabbiMunkaugyiAdatokModel.FoglalkoztatasiJogviszony = (int)MunkaviszonyTipusEnum.kozalkalmazotti_jogviszony_hatarozatlan_idore;
}
var model = new PopUpModel(tovabbiMunkaugyiAdatokModel, "TovabbiMunkaugyiAdatok_PopUp");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnMunkaugyiAdatokCancel", Text = Resources.CommonResource.Megse, EventName = "TovabbiMunkaugyiAdatokHelper.newTovabbiMunkaugyiAdatokCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnMunkaugyiAdatokOk", Text = Resources.CommonResource.Mentes, EventName = "TovabbiMunkaugyiAdatokHelper.saveNewMunkaugyiAdatok" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenModifyTovabbiMunkaugyiAdatokPopUp(int id)
{
var apiController = new AlkalmazottApiController(_leltarClient);
var tovabbiMunkaugyiAdatokModel = apiController.GetTovabbiMunkaugyiAdatok(id);
var model = new PopUpModel(tovabbiMunkaugyiAdatokModel, "TovabbiMunkaugyiAdatok_PopUp");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnMunkaugyiAdatokCancel", Text = Resources.CommonResource.Megse, EventName = "TovabbiMunkaugyiAdatokHelper.modifyTovabbiMunkaugyiAdatokCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnMunkaugyiAdatokOk", Text = Resources.CommonResource.Mentes, EventName = "TovabbiMunkaugyiAdatokHelper.saveModMunkaugyiAdatok" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenInfoTovabbiMunkaugyiAdatokPopUp(int id)
{
var apiController = new AlkalmazottApiController(_leltarClient);
var tovabbiMunkaugyiAdatokModel = apiController.GetTovabbiMunkaugyiAdatokAdataiForInfoWindow(id);
var model = new PopUpModel(tovabbiMunkaugyiAdatokModel, "Info_TovabbiMunkaugyiAdatok_PopUp");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnMunkaugyiAdatokCancel", Text = Resources.CommonResource.Megse, EventName = "TovabbiMunkaugyiAdatokHelper.infoTovabbiMunkaugyiAdatokCancel" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenNewTovabbkepzesPopUp(int alkalmazottId)
{
var tovabbkepzesModel = new TovabbkepzesModel(alkalmazottId);
var model = new PopUpModel(tovabbkepzesModel, "New_Tovabbkepzes_Popup");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnTovabbkepzesCancel", Text = Resources.CommonResource.Megse, EventName = "TovabbkepzesHelper.newTovabbkepzesCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnTovabbkepzesOk", Text = Resources.CommonResource.Mentes, EventName = "TovabbkepzesHelper.newTovabbkepzesSave" });
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenModifyTovabbkepzesPopUp(int tovabbkepzesId)
{
var tanarHelper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tovabbkepzesCo = tanarHelper.GetTovabbkepzes(tovabbkepzesId);
var tovabbkepzesModel = new TovabbkepzesModel(tovabbkepzesCo);
var model = new PopUpModel(tovabbkepzesModel, "New_Tovabbkepzes_Popup");
model.Buttons.Add(new ModalButtonModel() { Name = "BtnTovabbkepzesCancel", Text = Resources.CommonResource.Megse, EventName = "TovabbkepzesHelper.modifyTovabbkepzesCancel" });
model.Buttons.Add(new ModalButtonModel() { Name = "BtnTovabbkepzesOk", Text = Resources.CommonResource.Mentes, EventName = "TovabbkepzesHelper.modifyTovabbkepzesSave" });
return PartialView(Constants.General.PopupView, model);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult GetSZIRBeallitasokPartialView(int id)
{
return base.GetSZIRBeallitasokPartialView(id);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
public ActionResult GetElsodlegesMunkaugyiAdatokPartialView(int id)
{
return GetElsodlegesMunkaugyiAdatokPartialView(id, false);
}
public ActionResult OpenModPopUp(List<AlkalmazottModModel> alkalmazottList)
{
return OpenModPopUp(alkalmazottList, false);
}
#region Export
public ActionResult ExportAlkalmazottakLakcimmel([FromUri] AlkalmazottSearchModel model)
{
return base.ExportAlkalmazottakLakcimmel(model);
}
public ActionResult ExportAlkalmazottakMunkaugyiAdatai([FromUri] AlkalmazottSearchModel model)
{
return base.ExportAlkalmazottakMunkaugyiAdatai(model);
}
public ActionResult ExportAlkalmazottakSzemelyiAdatai([FromUri] AlkalmazottSearchModel model)
{
return base.ExportAlkalmazottakSzemelyiAdatai(model);
}
#endregion
public ActionResult OpenVegzettsegWizard(int alkalmazottId)
{
return base.OpenVegzettsegWizard(alkalmazottId);
}
public ActionResult OpenVegzettsegTipusWizard()
{
return base.OpenVegzettsegTipusWizard();
}
public ActionResult OpenTanarVegzettsegTipusWizard()
{
return base.OpenTanarVegzettsegTipusWizard();
}
public ActionResult OpenAMITanarVegzettsegTipusWizard()
{
return base.OpenAMITanarVegzettsegTipusWizard();
}
public ActionResult OpenTanitoVegzettsegTipusWizard()
{
return base.OpenTanitoVegzettsegTipusWizard();
}
public ActionResult OpenGyogyPedagogusVegzettsegTipusWizard()
{
return base.OpenGyogyPedagogusVegzettsegTipusWizard();
}
public ActionResult VegzettsegDetailGrid(AlkalmazottInfoModel.KKVegzettsegMainModel parentModel)
{
return base.VegzettsegDetailGrid(parentModel);
}
public ActionResult OpenModifyVegzettsegWizard(AlkalmazottInfoModel.KKVegzettsegMainModel parentModel)
{
return base.OpenModifyVegzettsegWizard(parentModel);
}
public ActionResult OpenFeladatellatasiHelyekPopUp()
{
return base.OpenFeladatellatasiHelyekPopUp();
}
[HttpPost]
public ActionResult GetExportElerhetosegOsszesGrid(int id)
{
return base.GetExportElerhetosegOsszesGrid(id);
}
}
}