1008 lines
46 KiB
C#
1008 lines
46 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using System.Web.Http.ModelBinding;
|
|
using Kendo.Mvc.Extensions;
|
|
using Kendo.Mvc.UI;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Logic;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.BusinessLogic.Validation;
|
|
using Kreta.Client.Leltar;
|
|
using Kreta.Core;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.Core.FeatureToggle;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Alkalmazott.ModelInterface;
|
|
using Kreta.Web.Areas.Alkalmazott.Models;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Helpers.Grid;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.Alkalmazott.ApiControllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public class AlkalmazottApiController : BaseAlkalmazottApiController
|
|
{
|
|
public AlkalmazottApiController(ILeltarClient leltarClient)
|
|
: base(leltarClient)
|
|
{
|
|
}
|
|
|
|
public BetoltetlenAllashelyModel CreateNewBetoltetlenAllashelyModel()
|
|
{
|
|
var intezmenyCo = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok();
|
|
var elotag = "[" + AlkalmazottResource.BTA + " " + (new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBetoltetlenAllashelyekSzama() + 1).ToString() + "]";
|
|
var model = new BetoltetlenAllashelyModel()
|
|
{
|
|
NemList = Helpers.AlkalmazottViewHelper.GetNemList().Where(x => x.Value == 4.ToString() || x.Value == 5.ToString()).ToList(),
|
|
//IgazolvanyTipus = (int?)Enums.IgazolvanyTipusEnum.Szemelyi_igazolvany,
|
|
NevEloTag = elotag,
|
|
MunkavallaloCsaladiNev = AlkalmazottResource.Betoltetlen,
|
|
SzuletesiCsaladiNev = AlkalmazottResource.Betoltetlen,
|
|
AnyjaCsaladiNeve = AlkalmazottResource.Betoltetlen,
|
|
|
|
MunkavallaloUtonev = AlkalmazottResource.Allashely,
|
|
SzuletesiUtonev = AlkalmazottResource.Allashely,
|
|
AnyjaUtoneve = elotag,
|
|
|
|
SzuletesiIdo = new DateTime(1950, 01, 01),
|
|
SzuletesiHely = AlkalmazottResource.Ismeretlen,
|
|
Nem = (int)NemEnum.Ferfi,
|
|
|
|
Cim = AlkalmazottResource.Ismeretlen,
|
|
Iranyitoszam = intezmenyCo.Iranyitoszam,
|
|
Varos = intezmenyCo.Varos,
|
|
|
|
KotelezoOraszam = 22,
|
|
MunkaKor = (int)MunkakorTipusEnum.na,
|
|
FoglalkoztatasiJogviszony = (int)MunkaviszonyTipusEnum.na,
|
|
BetoltetlenAllashely = true
|
|
};
|
|
return model;
|
|
}
|
|
|
|
public HitoktatoModel CreateNewHitoktatoModel()
|
|
{
|
|
var intezmenyCo = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok();
|
|
var elotag = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSpecialisAlkalmazottakNevEloTag(AlkalmazottResource.HitoktatoRovid);
|
|
var model = new HitoktatoModel()
|
|
{
|
|
NemList = Helpers.AlkalmazottViewHelper.GetNemList().Where(x => x.Value == 4.ToString() || x.Value == 5.ToString()).ToList(),
|
|
//IgazolvanyTipus = (int?)Enums.IgazolvanyTipusEnum.Szemelyi_igazolvany,
|
|
NevEloTag = elotag,
|
|
MunkavallaloCsaladiNev = AlkalmazottResource.Hittan,
|
|
SzuletesiCsaladiNev = AlkalmazottResource.Hittan,
|
|
AnyjaCsaladiNeve = AlkalmazottResource.Hittan,
|
|
|
|
MunkavallaloUtonev = AlkalmazottResource.Oktato,
|
|
SzuletesiUtonev = AlkalmazottResource.Oktato,
|
|
AnyjaUtoneve = elotag,
|
|
|
|
SzuletesiIdo = new DateTime(1950, 01, 01),
|
|
SzuletesiHely = AlkalmazottResource.Ismeretlen,
|
|
Nem = (int)Enums.NemEnum.Ferfi,
|
|
|
|
Cim = AlkalmazottResource.Ismeretlen,
|
|
Iranyitoszam = intezmenyCo.Iranyitoszam,
|
|
Varos = intezmenyCo.Varos,
|
|
|
|
KotelezoOraszam = 22,
|
|
MunkaKor = (int)Enums.MunkakorTipusEnum.Hittanoktato,
|
|
FoglalkoztatasiJogviszony = (int)Enums.MunkaviszonyTipusEnum.na
|
|
};
|
|
return model;
|
|
}
|
|
|
|
public KulsosAlkalmazottModel CreateNewKulsosAlkalmazottModel()
|
|
{
|
|
var intezmenyCo = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok();
|
|
var elotag = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSpecialisAlkalmazottakNevEloTag(AlkalmazottResource.KulsosRovid);
|
|
var model = new KulsosAlkalmazottModel()
|
|
{
|
|
NemList = Helpers.AlkalmazottViewHelper.GetNemList().Where(x => x.Value == 4.ToString() || x.Value == 5.ToString()).ToList(),
|
|
NevEloTag = elotag,
|
|
MunkavallaloCsaladiNev = AlkalmazottResource.KulsosCsaladNev,
|
|
SzuletesiCsaladiNev = AlkalmazottResource.KulsosCsaladNev,
|
|
AnyjaCsaladiNeve = AlkalmazottResource.KulsosCsaladNev,
|
|
|
|
MunkavallaloUtonev = AlkalmazottResource.KulsosUtoNev,
|
|
SzuletesiUtonev = AlkalmazottResource.KulsosUtoNev,
|
|
AnyjaUtoneve = elotag,
|
|
|
|
SzuletesiIdo = new DateTime(1950, 01, 01),
|
|
SzuletesiHely = AlkalmazottResource.Ismeretlen,
|
|
Nem = (int)NemEnum.Ferfi,
|
|
|
|
Cim = AlkalmazottResource.Ismeretlen,
|
|
Iranyitoszam = intezmenyCo.Iranyitoszam,
|
|
Varos = intezmenyCo.Varos,
|
|
|
|
KotelezoOraszam = 22,
|
|
MunkaKor = (int)MunkakorTipusEnum.na,
|
|
FoglalkoztatasiJogviszony = (int)MunkaviszonyTipusEnum.na
|
|
};
|
|
return model;
|
|
}
|
|
|
|
public KulsoGyakorlatiAllashelyModel CreateNewKulsoGyakorlatiAllashelyModel()
|
|
{
|
|
var intezmenyCo = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok();
|
|
var elotag = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSpecialisAlkalmazottakNevEloTag(AlkalmazottResource.KulsoGyakorlatiRovid);
|
|
var model = new KulsoGyakorlatiAllashelyModel()
|
|
{
|
|
NemList = Helpers.AlkalmazottViewHelper.GetNemList().Where(x => x.Value == 4.ToString() || x.Value == 5.ToString()).ToList(),
|
|
NevEloTag = elotag,
|
|
MunkavallaloCsaladiNev = AlkalmazottResource.KulsoGyakorlatiCsaladNev,
|
|
SzuletesiCsaladiNev = AlkalmazottResource.KulsoGyakorlatiCsaladNev,
|
|
AnyjaCsaladiNeve = AlkalmazottResource.KulsoGyakorlatiCsaladNev,
|
|
|
|
MunkavallaloUtonev = AlkalmazottResource.KulsoGyakorlatiUtoNev,
|
|
SzuletesiUtonev = AlkalmazottResource.KulsoGyakorlatiUtoNev,
|
|
AnyjaUtoneve = elotag,
|
|
|
|
SzuletesiIdo = new DateTime(1950, 01, 01),
|
|
SzuletesiHely = AlkalmazottResource.Ismeretlen,
|
|
Nem = (int)NemEnum.Ferfi,
|
|
|
|
Cim = AlkalmazottResource.Ismeretlen,
|
|
Iranyitoszam = intezmenyCo.Iranyitoszam,
|
|
Varos = intezmenyCo.Varos,
|
|
|
|
KotelezoOraszam = 22,
|
|
MunkaKor = (int)MunkakorTipusEnum.KulsoGyakorlatiHely,
|
|
FoglalkoztatasiJogviszony = (int)MunkaviszonyTipusEnum.na,
|
|
};
|
|
|
|
return model;
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveBetoltetlenAllashely(BetoltetlenAllashelyModel model)
|
|
{
|
|
AlterAlkalmazottCustomValidation(model);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
var co = new TanarAdatCO()
|
|
{
|
|
Nem = model.Nem,
|
|
NevElotag = model.NevEloTag,
|
|
Elotag = model.NevEloTag,
|
|
SzuletesiNevElotag = model.NevEloTag,
|
|
SzuletesiCsaladiNev = model.SzuletesiCsaladiNev,
|
|
SzuletesiUtonev = model.SzuletesiUtonev,
|
|
AnyjaCsaladiNeve = model.AnyjaCsaladiNeve,
|
|
AnyjaUtoneve = model.NevEloTag,
|
|
MunkavallaloCsaladiNev = model.MunkavallaloCsaladiNev,
|
|
MunkavallaloUtonev = model.MunkavallaloUtonev,
|
|
FeladatellatasiHely = model.FeladatellatasiHely.Value,
|
|
Oraszam = model.KotelezoOraszam,
|
|
SzuletesiHely = model.SzuletesiHely,
|
|
SzuletesiIdo = model.SzuletesiIdo.Value,
|
|
MunkaKor = model.MunkaKor,
|
|
//SzabadAllashely = model.SzabadAllashely,
|
|
FoglalkoztatasiJogviszony = model.FoglalkoztatasiJogviszony,
|
|
BetoltetlenAllashely = model.BetoltetlenAllashely,
|
|
Iranyitoszam = model.Iranyitoszam,
|
|
HelysegNeve = model.Varos,
|
|
KozteruletNeve = model.Cim,
|
|
Hazszam = "1",
|
|
VezetoiOraszamOka = (int)VezetoiOraszamokTipusEnum.Nincs
|
|
};
|
|
|
|
var h = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
h.AddOrUpdateTeacher(_leltarClient, co, update: false, isSzirIntezmeny: ClaimData.IsSzirIntezmeny, ClaimData.IsActivTanev);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public PedagogusEletpalyamodellModel GetPedagogusEletpalyamodell(int id)
|
|
{
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
|
|
var tanarEletpalyaModellCO = helper.GetPedagogusEletpalyaModellAdatai(id);
|
|
var model = Helpers.AlkalmazottViewHelper.ConvertCOToModel(tanarEletpalyaModellCO);
|
|
|
|
return model;
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public VegzettsegModel GetVegzettsegek(int id)
|
|
{
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
|
|
var tanarVegzettsegekCO = helper.GetVegzettsegekModelAdatai(id);
|
|
var model = Helpers.AlkalmazottViewHelper.ConvertCOToModel(tanarVegzettsegekCO);
|
|
|
|
return model;
|
|
}
|
|
|
|
public TovabbiMunkaugyiAdatokModel GetTovabbiMunkaugyiAdatok(int id)
|
|
{
|
|
var tovabbiMunkaugyiAdatokCO = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTovabbiMunkaugyiAdatokAdatai(id);
|
|
var model = Helpers.AlkalmazottViewHelper.ConvertCOToModel(tovabbiMunkaugyiAdatokCO);
|
|
|
|
return model;
|
|
}
|
|
|
|
public InfoTovabbiMunkaugyiAdatokPopUpModel GetTovabbiMunkaugyiAdatokAdataiForInfoWindow(int id)
|
|
{
|
|
var infoTovabbiMunkaugyiAdatokPopUpCO = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTovabbiMunkaugyiAdatokAdataiForInfoWindow(id);
|
|
var model = Helpers.AlkalmazottViewHelper.ConvertCOToModel(infoTovabbiMunkaugyiAdatokPopUpCO);
|
|
|
|
return model;
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SavePedagogusEletpalyamodell(PedagogusEletpalyamodellModel model)
|
|
{
|
|
try
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var tanarEletpalyaModellCO = Helpers.AlkalmazottViewHelper.ConvertModelToCO(model);
|
|
helper.CreateOrUpdateEletpalyaModell(tanarEletpalyaModellCO);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
catch (BlException e)
|
|
{
|
|
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage DeletePedagogusEletpalyamodell([FromBody] int Id)
|
|
{
|
|
try
|
|
{
|
|
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteEletpalyaModell(Id);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
catch (EntityDeleteFailedException)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest,
|
|
string.Format(StringResourcesUtil.GetString(5490),
|
|
StringResourcesUtil.GetString(3495)/*,
|
|
e.ConnectionErrorMessage*/)
|
|
/*A(z) alkalmazott nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveVegzettseg(VegzettsegModel model)
|
|
{
|
|
try
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var tanarVegzettsegCO = Helpers.AlkalmazottViewHelper.ConvertModelToCO(model);
|
|
helper.CreateOrUpdateVegzettseg(tanarVegzettsegCO);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
catch (BlException e)
|
|
{
|
|
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage DeleteVegzettseg([FromBody] int Id)
|
|
{
|
|
try
|
|
{
|
|
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteVegzettseg(Id);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
catch (EntityDeleteFailedException)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest,
|
|
string.Format(StringResourcesUtil.GetString(5490),
|
|
StringResourcesUtil.GetString(3495)/*,
|
|
e.ConnectionErrorMessage*/)
|
|
/*A(z) alkalmazott nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage DeleteTovabbiMunkaugyiAdatok([FromBody] int Id)
|
|
{
|
|
try
|
|
{
|
|
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteTovabbiMunkaugyiAdatok(Id);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
catch (EntityDeleteFailedException)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest,
|
|
string.Format(StringResourcesUtil.GetString(5490),
|
|
StringResourcesUtil.GetString(3495)/*,
|
|
e.ConnectionErrorMessage*/)
|
|
/*A(z) alkalmazott nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveTovabbiMunkaugyiAdatok(TovabbiMunkaugyiAdatokModel model)
|
|
{
|
|
try
|
|
{
|
|
if (!model.VezetoiOraszamOka.IsEntityId())
|
|
{
|
|
var isNszfhUjSzkt = ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny;
|
|
ModelState.AddModelError(nameof(model.VezetoiOraszamOka), isNszfhUjSzkt ? ErrorResource.VezetoiMegbizasMegadasaKotelezo : ErrorResource.VezetoiOraszamOkaMegadasaKotelezo);
|
|
}
|
|
|
|
if (ModelState.IsValid)
|
|
{
|
|
var featureContext = (IFeatureContext)Request.GetDependencyScope().GetService(typeof(IFeatureContext));
|
|
var isKlebelsbergKozpontOrNSZFH =
|
|
featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|
|
|| featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
|
|
|
|
var tovabbiMunkaugyiAdatokCO = Helpers.AlkalmazottViewHelper.ConvertModelToCO(model);
|
|
|
|
var isNszfhUjSzkt = ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny;
|
|
|
|
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
helper.CreateOrUpdateTovabbiMunkaugyiAdatok(tovabbiMunkaugyiAdatokCO, isKlebelsbergKozpontOrNSZFH, isNszfhUjSzkt);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
catch (BlException e)
|
|
{
|
|
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
#region Pedagógus életpályamodell tab
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetPedagogusEletpalyamodellGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetPedagogusEletpalyamodellGridData(id, request);
|
|
|
|
return modelList.ToDataSourceResult(gridParameter);
|
|
}
|
|
|
|
public HttpResponseMessage GetExportPedagogusEletpalyamodellGrid(int id, DataSourceRequest request)
|
|
{
|
|
try
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetPedagogusEletpalyamodellGridData(id, request);
|
|
|
|
return GetPedagogusEletpalyamodellExportFile(gridParameter, modelList, AdatszolgaltatasokResource.PedagogusEletpalyamodellExportSheetName, $"{alkalmazottNev}_{AdatszolgaltatasokResource.PedagogusEletpalyamodellExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}", ClaimData.SelectedTanevID.Value);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
|
}
|
|
}
|
|
|
|
private HttpResponseMessage GetPedagogusEletpalyamodellExportFile(GridParameters gridParameter, List<AlkalmazottInfoModel.PedagogusEletpalyamodellModel> modelList, string worksheetName, string fileName, int tanevId)
|
|
{
|
|
var orderedList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
|
|
|
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottInfoModel.PedagogusEletpalyamodellModel>(AlkalmazottInfoModel.PedagogusEletpalyamodellModel.PedagogusEletpalyamodellExportAttributeId);
|
|
|
|
var memoryStream = SimpleExportLogic.GetExport(worksheetName, simpleExportColumnCos, orderedList, tanevId);
|
|
|
|
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), fileName);
|
|
}
|
|
|
|
private (GridParameters gridParameter, List<AlkalmazottInfoModel.PedagogusEletpalyamodellModel> modelList, string alkalmazottNev) GetPedagogusEletpalyamodellGridData(int id, DataSourceRequest request)
|
|
{
|
|
var gridParameter = Converter.GridParameter(request);
|
|
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var coList = helper.GetPedagogusEletpalyamodellCoList(id);
|
|
|
|
var modelList = new List<AlkalmazottInfoModel.PedagogusEletpalyamodellModel>();
|
|
|
|
foreach (var co in coList)
|
|
{
|
|
var gridModel = new AlkalmazottInfoModel.PedagogusEletpalyamodellModel(co);
|
|
modelList.Add(gridModel);
|
|
}
|
|
|
|
return (gridParameter, modelList, helper.GetTanarAdatok(id).NyomtatasiNev);
|
|
}
|
|
#endregion
|
|
|
|
#region Végzettség tab
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetVegzettsegGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetVegzettsegGridData(id, request);
|
|
|
|
return modelList.ToDataSourceResult(gridParameter);
|
|
}
|
|
|
|
public HttpResponseMessage GetExportVegzettsegGrid(int id, DataSourceRequest request)
|
|
{
|
|
try
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetVegzettsegGridData(id, request);
|
|
|
|
return GetVegzettsegExportFile(gridParameter, modelList, AdatszolgaltatasokResource.VegzettsegExportSheetName, $"{alkalmazottNev}_{AdatszolgaltatasokResource.VegzettsegExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}", ClaimData.SelectedTanevID.Value);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
|
}
|
|
}
|
|
|
|
private HttpResponseMessage GetVegzettsegExportFile(GridParameters gridParameter, List<AlkalmazottInfoModel.VegzettsegModel> modelList, string worksheetName, string fileName, int tanevId)
|
|
{
|
|
var orderedList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
|
|
|
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottInfoModel.VegzettsegModel>(AlkalmazottInfoModel.VegzettsegModel.VegzettsegExportAttributeId);
|
|
|
|
var memoryStream = SimpleExportLogic.GetExport(worksheetName, simpleExportColumnCos, orderedList, tanevId);
|
|
|
|
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), fileName);
|
|
}
|
|
|
|
private (GridParameters gridParameter, List<AlkalmazottInfoModel.VegzettsegModel> modelList, string alkalmazottNev) GetVegzettsegGridData(int id, DataSourceRequest request)
|
|
{
|
|
var gridParameter = Converter.GridParameter(request);
|
|
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var coList = helper.GetVegzettsegCoLst(id);
|
|
|
|
var modelList = new List<AlkalmazottInfoModel.VegzettsegModel>();
|
|
|
|
foreach (var co in coList)
|
|
{
|
|
var gridModel = new AlkalmazottInfoModel.VegzettsegModel(co);
|
|
modelList.Add(gridModel);
|
|
}
|
|
|
|
return (gridParameter, modelList, helper.GetTanarAdatok(id).NyomtatasiNev);
|
|
}
|
|
#endregion
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetKKVegzettsegMainGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var helper = new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var ds = helper.GetKKMainGridVegzettsegek(id);
|
|
|
|
return ds.ToDataSourceResult();
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetKKVegzettsegDetailGrid(int id, KKKepesitesJellTipusEnum? tipus, int alkalmazottId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var helper = new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
if (tipus == KKKepesitesJellTipusEnum.Tanar)
|
|
{
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var tanarDs = helper.GetKKTanarTerulet(id);
|
|
return tanarDs.ToDataSourceResult();
|
|
}
|
|
if (tipus == KKKepesitesJellTipusEnum.TanarAMI)
|
|
{
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var tanarDs = helper.GetKKAmiTanarTerulet(id);
|
|
return tanarDs.ToDataSourceResult();
|
|
}
|
|
if (tipus == KKKepesitesJellTipusEnum.Tanito)
|
|
{
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var tanarDs = helper.GetKKTanitoTerulet(alkalmazottId);
|
|
return tanarDs.ToDataSourceResult();
|
|
}
|
|
if (tipus == KKKepesitesJellTipusEnum.Gyogypedagogus)
|
|
{
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var tanarDs = helper.GetKKGyogypedTerulet(alkalmazottId);
|
|
return tanarDs.ToDataSourceResult();
|
|
}
|
|
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var ds = helper.GetKKKepesitesTerulet();
|
|
return ds.ToDataSourceResult();
|
|
}
|
|
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetTovabbiMunkaugyiAdatokGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
helper.GridParameters = Converter.GridParameter(request);
|
|
var ds = helper.GetTovabbiMunkaugyiAdatokGrid(id);
|
|
|
|
return ds.ToDataSourceResult();
|
|
}
|
|
|
|
#region Eszköz tab
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetEszkozGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetEszkozGridData(id, request);
|
|
|
|
return modelList.ToDataSourceResult(gridParameter);
|
|
}
|
|
|
|
public HttpResponseMessage GetExportEszkozGrid(int id, DataSourceRequest request)
|
|
{
|
|
try
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetEszkozGridData(id, request);
|
|
|
|
return GetEszkozExportFile(gridParameter, modelList, AdatszolgaltatasokResource.EszkozExportSheetName, $"{alkalmazottNev}_{AdatszolgaltatasokResource.EszkozExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}", ClaimData.SelectedTanevID.Value);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
|
}
|
|
}
|
|
|
|
private HttpResponseMessage GetEszkozExportFile(GridParameters gridParameter, List<AlkalmazottInfoModel.EszkozModel> modelList, string worksheetName, string fileName, int tanevId)
|
|
{
|
|
var orderedList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
|
|
|
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottInfoModel.EszkozModel>(AlkalmazottInfoModel.EszkozModel.EszkozExportAttributeId);
|
|
|
|
var memoryStream = SimpleExportLogic.GetExport(worksheetName, simpleExportColumnCos, orderedList, tanevId);
|
|
|
|
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), fileName);
|
|
}
|
|
|
|
private (GridParameters gridParameter, List<AlkalmazottInfoModel.EszkozModel> modelList, string alkalmazottNev) GetEszkozGridData(int id, DataSourceRequest request)
|
|
{
|
|
var gridParameter = Converter.GridParameter(request);
|
|
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var coList = helper.GetEszkozokCoList(id);
|
|
|
|
var modelList = new List<AlkalmazottInfoModel.EszkozModel>();
|
|
|
|
foreach (var co in coList)
|
|
{
|
|
var gridModel = new AlkalmazottInfoModel.EszkozModel(co);
|
|
modelList.Add(gridModel);
|
|
}
|
|
|
|
return (gridParameter, modelList, helper.GetTanarAdatok(id).NyomtatasiNev);
|
|
}
|
|
#endregion
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveAMITanarVegzettseg(AMITanarVegzettsegWizardModel model)
|
|
{
|
|
var blValidator = new BlValidator(model);
|
|
if (!blValidator.IsValid)
|
|
{
|
|
foreach (var item in blValidator.ErrorList)
|
|
{
|
|
ModelState.AddModelError("Error", item.ErrorMessage);
|
|
}
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
var helper = new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (model.EntityId.HasValue)
|
|
{
|
|
helper.UpdateAMITanarVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
}
|
|
else
|
|
{
|
|
helper.SaveAMITanarVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveTanitoVegzettseg(TanitoVegzettsegWizardModel model)
|
|
{
|
|
new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveTanitoVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveGyogypedagogusVegzettseg(GyogyPedagogusVegzettsegWizardModel model)
|
|
{
|
|
new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveGyogypedagogusVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage UpdateTanitoVegzettseg(TanitoVegzettsegWizardModel model)
|
|
{
|
|
new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateTanitoVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage UpdateGyogypedagogusVegzettseg(GyogyPedagogusVegzettsegWizardModel model)
|
|
{
|
|
new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateGyogypedagogusVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage DeleteKepesites(AlkalmazottInfoModel.KKVegzettsegMainModel row)
|
|
{
|
|
var helper = new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (row.KepesitesTipusId == null)
|
|
{
|
|
helper.DeleteKepesites(row.AlkalmazottId, ClaimData.KovTanevID);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
if (row.KepesitesTipusId == (int)KKKepesitesJellTipusEnum.Tanar)
|
|
{
|
|
helper.DeleteTanarVegzettseg(row.EntityID.Value, row.AlkalmazottId, ClaimData.KovTanevID);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
if (row.KepesitesTipusId == (int)KKKepesitesJellTipusEnum.TanarAMI)
|
|
{
|
|
helper.DeleteAMITanarVegzettseg(row.EntityID.Value, row.AlkalmazottId, ClaimData.KovTanevID);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
if (row.KepesitesTipusId == (int)KKKepesitesJellTipusEnum.Tanito)
|
|
{
|
|
helper.DeleteTanitoVegzettseg(row.AlkalmazottId, ClaimData.KovTanevID);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
if (row.KepesitesTipusId == (int)KKKepesitesJellTipusEnum.Gyogypedagogus)
|
|
{
|
|
helper.DeleteGyogypedagogusVegzettseg(row.AlkalmazottId, ClaimData.KovTanevID);
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.BadRequest);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveKulsosAlkalmazott(KulsosAlkalmazottModel model)
|
|
{
|
|
AlterAlkalmazottCustomValidation(model);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
var co = new TanarAdatCO()
|
|
{
|
|
Nem = model.Nem,
|
|
NevElotag = model.NevEloTag,
|
|
Elotag = model.NevEloTag,
|
|
SzuletesiNevElotag = model.NevEloTag,
|
|
SzuletesiCsaladiNev = model.SzuletesiCsaladiNev,
|
|
SzuletesiUtonev = model.SzuletesiUtonev,
|
|
AnyjaCsaladiNeve = model.AnyjaCsaladiNeve,
|
|
AnyjaUtoneve = model.NevEloTag,
|
|
MunkavallaloCsaladiNev = model.MunkavallaloCsaladiNev,
|
|
MunkavallaloUtonev = model.MunkavallaloUtonev,
|
|
FeladatellatasiHely = model.FeladatellatasiHely.Value,
|
|
Oraszam = model.KotelezoOraszam,
|
|
SzuletesiHely = model.SzuletesiHely,
|
|
SzuletesiIdo = model.SzuletesiIdo.Value,
|
|
MunkaKor = model.MunkaKor,
|
|
FoglalkoztatasiJogviszony = model.FoglalkoztatasiJogviszony,
|
|
BetoltetlenAllashely = model.BetoltetlenAllashely,
|
|
Iranyitoszam = model.Iranyitoszam,
|
|
HelysegNeve = model.Varos,
|
|
KozteruletNeve = model.Cim,
|
|
Hazszam = "1",
|
|
VezetoiOraszamOka = (int)VezetoiOraszamokTipusEnum.Nincs,
|
|
IsKulsoAlkalmazott = true,
|
|
BelepesiNev = model.BelepesiNev,
|
|
Jelszo = model.Jelszo,
|
|
Email = model.EmailCim,
|
|
EmailTipus = model.EmailTipus,
|
|
Telefon = model.Telefon,
|
|
TelefonTipus = model.TelefonTipus
|
|
};
|
|
|
|
var h = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
h.AddOrUpdateTeacher(_leltarClient, co, update: false, isSzirIntezmeny: ClaimData.IsSzirIntezmeny, ClaimData.IsActivTanev);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveKulsoGyakorlatiAllashely(KulsoGyakorlatiAllashelyModel model)
|
|
{
|
|
AlterAlkalmazottCustomValidation(model);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
var co = new TanarAdatCO()
|
|
{
|
|
Nem = model.Nem,
|
|
NevElotag = model.NevEloTag,
|
|
Elotag = model.NevEloTag,
|
|
SzuletesiNevElotag = model.NevEloTag,
|
|
SzuletesiCsaladiNev = model.SzuletesiCsaladiNev,
|
|
SzuletesiUtonev = model.SzuletesiUtonev,
|
|
AnyjaCsaladiNeve = model.AnyjaCsaladiNeve,
|
|
AnyjaUtoneve = model.NevEloTag,
|
|
MunkavallaloCsaladiNev = model.MunkavallaloCsaladiNev,
|
|
MunkavallaloUtonev = model.MunkavallaloUtonev,
|
|
FeladatellatasiHely = model.FeladatellatasiHely.Value,
|
|
Oraszam = model.KotelezoOraszam,
|
|
SzuletesiHely = model.SzuletesiHely,
|
|
SzuletesiIdo = model.SzuletesiIdo.Value,
|
|
MunkaKor = model.MunkaKor,
|
|
FoglalkoztatasiJogviszony = model.FoglalkoztatasiJogviszony,
|
|
BetoltetlenAllashely = model.BetoltetlenAllashely,
|
|
Iranyitoszam = model.Iranyitoszam,
|
|
HelysegNeve = model.Varos,
|
|
KozteruletNeve = model.Cim,
|
|
Hazszam = "1",
|
|
VezetoiOraszamOka = (int)VezetoiOraszamokTipusEnum.Nincs,
|
|
};
|
|
|
|
var h = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
h.AddOrUpdateTeacher(_leltarClient, co, update: false, isSzirIntezmeny: ClaimData.IsSzirIntezmeny, ClaimData.IsActivTanev);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveDualisKepzohelyiOktato(DualisKepzohelyiOktatoModel model)
|
|
{
|
|
return SaveDualisKepzohelyiOktato(model, false);
|
|
}
|
|
|
|
#region Továbbképzés tab
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsCsokkentettAdminJog.ClaimValue)]
|
|
public DataSourceResult GetTovabbkepzesGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetTovabbkepzesGridData(id, request);
|
|
|
|
return modelList.ToDataSourceResult(gridParameter);
|
|
}
|
|
|
|
public HttpResponseMessage GetExportTovabbkepzesGrid(int id, DataSourceRequest request)
|
|
{
|
|
try
|
|
{
|
|
var (gridParameter, modelList, alkalmazottNev) = GetTovabbkepzesGridData(id, request);
|
|
|
|
return GetTovabbkepzesExportFile(gridParameter, modelList, AdatszolgaltatasokResource.TovabbkepzesExportSheetName, $"{alkalmazottNev}_{AdatszolgaltatasokResource.TovabbkepzesExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}", ClaimData.SelectedTanevID.Value);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
|
}
|
|
}
|
|
|
|
private HttpResponseMessage GetTovabbkepzesExportFile(GridParameters gridParameter, List<AlkalmazottInfoModel.TovabbkepzesModel> modelList, string worksheetName, string fileName, int tanevId)
|
|
{
|
|
var orderedList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
|
|
|
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottInfoModel.TovabbkepzesModel>(AlkalmazottInfoModel.TovabbkepzesModel.TovabbkepzesExportAttributeId);
|
|
|
|
var memoryStream = SimpleExportLogic.GetExport(worksheetName, simpleExportColumnCos, orderedList, tanevId);
|
|
|
|
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), fileName);
|
|
}
|
|
|
|
private (GridParameters gridParameter, List<AlkalmazottInfoModel.TovabbkepzesModel> modelList, string alkalmazottNev) GetTovabbkepzesGridData(int id, DataSourceRequest request)
|
|
{
|
|
var gridParameter = Converter.GridParameter(request);
|
|
|
|
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var coList = helper.GetAlkalmazottTovabbkepzesek(id);
|
|
|
|
var modelList = new List<AlkalmazottInfoModel.TovabbkepzesModel>();
|
|
|
|
foreach (var co in coList)
|
|
{
|
|
var gridModel = new AlkalmazottInfoModel.TovabbkepzesModel(co);
|
|
modelList.Add(gridModel);
|
|
}
|
|
|
|
return (gridParameter, modelList, helper.GetTanarAdatok(id).NyomtatasiNev);
|
|
}
|
|
#endregion
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveTovabbkepzes(TovabbkepzesModel model)
|
|
{
|
|
try
|
|
{
|
|
if (!ValidateTovabbkepzesModel(model, out var errorDictionary))
|
|
{
|
|
ModelState.AddRange(errorDictionary);
|
|
}
|
|
|
|
if (ModelState.IsValid)
|
|
{
|
|
var tanarHelper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
tanarHelper.SaveTovabbkepzes(model.ConvertModelToCo());
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
catch (BlException e)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage DeleteTovabbkepzes([FromBody] int id)
|
|
{
|
|
try
|
|
{
|
|
var tanarHelper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
tanarHelper.DeleteTovabbkepzes(id);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
catch (EntityDeleteFailedException)
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AzElemNemTorolheto);
|
|
}
|
|
}
|
|
|
|
private bool ValidateTovabbkepzesModel(TovabbkepzesModel model, out Dictionary<string, string> errorDictionary)
|
|
{
|
|
errorDictionary = new Dictionary<string, string>();
|
|
|
|
//NOTE: Ha valamelyik mező ki van töltve, akkor valid a model.
|
|
var isValid = !string.IsNullOrWhiteSpace(model.TovabbkepzesMegnevezese) || !string.IsNullOrWhiteSpace(model.EngedelySzama)
|
|
|| !string.IsNullOrWhiteSpace(model.Helyszin) || model.Datum.HasValue || model.Oraszam.HasValue
|
|
|| !string.IsNullOrWhiteSpace(model.TanusitvanySorszama);
|
|
|
|
if (!isValid)
|
|
{
|
|
errorDictionary.Add("Error", ErrorResource.LegalabbEgyMezoKitolteseKotelezo);
|
|
}
|
|
|
|
return isValid;
|
|
}
|
|
|
|
private void AlterAlkalmazottCustomValidation(IAlterAlkalmazottValidationModel model)
|
|
{
|
|
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (alkalmazottHelper.IsTeljesNevTulHosszu(model.MunkavallaloCsaladiNev + model.MunkavallaloUtonev))
|
|
{
|
|
ModelState.AddModelError("AlapAdatModel.MunkavallaloCsaladiNev", AlkalmazottResource.ACsaladiEsUtonevEgyuttNemLehetHosszabb61Karakternel);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveHitoktato(HitoktatoModel model)
|
|
{
|
|
AlterAlkalmazottCustomValidation(model);
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
var co = new TanarAdatCO()
|
|
{
|
|
Nem = model.Nem,
|
|
NevElotag = model.NevEloTag,
|
|
Elotag = model.NevEloTag,
|
|
SzuletesiNevElotag = model.NevEloTag,
|
|
SzuletesiCsaladiNev = model.SzuletesiCsaladiNev,
|
|
SzuletesiUtonev = model.SzuletesiUtonev,
|
|
AnyjaCsaladiNeve = model.AnyjaCsaladiNeve,
|
|
AnyjaUtoneve = model.NevEloTag,
|
|
MunkavallaloCsaladiNev = model.MunkavallaloCsaladiNev,
|
|
MunkavallaloUtonev = model.MunkavallaloUtonev,
|
|
FeladatellatasiHely = model.FeladatellatasiHely.Value,
|
|
Oraszam = model.KotelezoOraszam,
|
|
SzuletesiHely = model.SzuletesiHely,
|
|
SzuletesiIdo = model.SzuletesiIdo.Value,
|
|
MunkaKor = model.MunkaKor,
|
|
FoglalkoztatasiJogviszony = model.FoglalkoztatasiJogviszony,
|
|
BetoltetlenAllashely = model.BetoltetlenAllashely,
|
|
Iranyitoszam = model.Iranyitoszam,
|
|
HelysegNeve = model.Varos,
|
|
KozteruletNeve = model.Cim,
|
|
Hazszam = "1",
|
|
VezetoiOraszamOka = (int)VezetoiOraszamokTipusEnum.Nincs
|
|
};
|
|
|
|
var h = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
h.AddOrUpdateTeacher(_leltarClient, co, update: false, isSzirIntezmeny: ClaimData.IsSzirIntezmeny, ClaimData.IsActivTanev);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveKepesitesNelkuli(VegzettsegWizardBaseModel model)
|
|
{
|
|
new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveKepesitesNelkuli(model.ToCo(), ClaimData.KovTanevID);
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveTanarVegzettseg(TanarVegzettsegWizardModel model)
|
|
{
|
|
var helper = new VegzettsegHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
if (model.EntityId.HasValue)
|
|
{
|
|
helper.UpdateTanarVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
}
|
|
else
|
|
{
|
|
helper.SaveTanarVegzettseg(model.ToCo(), ClaimData.KovTanevID);
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
}
|
|
}
|