init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,18 @@
|
|||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio
|
||||
{
|
||||
public class AdminisztracioAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName => "Adminisztracio";
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"Adminisztracio_default",
|
||||
"Adminisztracio/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,543 @@
|
|||
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.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdatszotarApiController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Adatszótár grid visszaadás
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public DataSourceResult GetAdatszotarGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<AdatszotarSearchModel>(data);
|
||||
|
||||
if (!model.AdatszotarTipusTypeId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var (gridParameter, modelList) = GetGridData(request, model.AdatszotarTipusTypeId);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<AdatszotarSearchModel>(data);
|
||||
|
||||
if (!model.AdatszotarTipusTypeId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AdatszotarTipusaNincsMegadva);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request, model.AdatszotarTipusTypeId);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var exportAttribute = model.AdatszotarTipusTypeId == (int)GeneratedAdatszotarTipusEnum.NapTipus ? AdatszotarGridModel.AdatszotarNapTipusExportAttributeId : AdatszotarGridModel.AdatszotarExportAttributeId;
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AdatszotarGridModel>(exportAttribute);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(AdminisztracioResource.AdatszotarExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), AdminisztracioResource.AdatszotarExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<AdatszotarGridModel> modelList) GetGridData(DataSourceRequest request, int? adatszotarTipusTypeId)
|
||||
{
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAdatszotarCoList((GeneratedAdatszotarTipusEnum)adatszotarTipusTypeId);
|
||||
|
||||
var modelList = new List<AdatszotarGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new AdatszotarGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveAdatszotarData(AdatszotarGridModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus)
|
||||
{
|
||||
if (model.ZaradekSzovegList.Any(x => !string.IsNullOrWhiteSpace(x.Szoveg) && x.Szoveg.Length > 255))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(CommonResource.ZaradekSzoveg0Max255Karakter, ((AnyanyelvEnum)model.ZaradekSzovegList.First(x => x.Szoveg.Length > 255).NyelvId).GetDisplayName(ClaimData.SelectedTanevID.Value)));
|
||||
}
|
||||
}
|
||||
|
||||
if (Core.Constants.NemBovithetoAdatszotarTipusLista.Contains(model.AdatszotarTipusId) || model.IsProtected)
|
||||
{
|
||||
if (!model.AdatszotarID.HasValue || model.AdatszotarID.Value == 0)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.KivalasztottAdatszotarNemBovitheto);
|
||||
}
|
||||
else
|
||||
{
|
||||
var co = helper.GetAdatszotarElem(model.AdatszotarID.Value);
|
||||
co.Lathato = model.IsLathato;
|
||||
if (model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.NapTipus)
|
||||
{
|
||||
co.IsSorszamozando = model.IsSorszamozando;
|
||||
co.IsTanorai = model.IsTanorai;
|
||||
co.IsTanorankivuli = model.IsTanorankivuli;
|
||||
co.IsLeNemKotottMunkaido = model.IsLeNemKotottMunkaido;
|
||||
}
|
||||
|
||||
if (model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.ErtekelesMod)
|
||||
{
|
||||
co.Color = model.Color != null ? model.Color.Replace("#", "") : "";
|
||||
co.IsBold = model.IsBold;
|
||||
co.Suly = model.Suly;
|
||||
}
|
||||
|
||||
if (model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus)
|
||||
{
|
||||
co.ZaradekSzovegCoList =
|
||||
model.ZaradekSzovegList.Where(x => x.NyelvId != (int)AnyanyelvEnum.magyar).ToList().ConvertAll(x => new AdatszotarZaradekNyelvCo
|
||||
{
|
||||
NyelvId = x.NyelvId,
|
||||
Name = x.Szoveg
|
||||
});
|
||||
}
|
||||
|
||||
helper.Update(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
|
||||
if (ModelState.IsValid &&
|
||||
(model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.ErtekelesMod ||
|
||||
model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.NapTipus ||
|
||||
model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus ||
|
||||
!model.IsProtected))
|
||||
{
|
||||
if (model.AdatszotarID.HasValue && model.AdatszotarID > 0)
|
||||
{
|
||||
AdatszotarCO co = model.ToCo();
|
||||
helper.Update(co, ClaimData.KovTanevID);
|
||||
}
|
||||
else
|
||||
{
|
||||
AdatszotarCO co = model.ToCo();
|
||||
|
||||
helper.Insert(co);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else if (model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.ErtekelesMod || model.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.NapTipus || !model.IsProtected)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.VedettAdatszotarnakAMegnevezesetNemLehetModositani);
|
||||
}
|
||||
else
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
}
|
||||
catch (UniqueKeyViolationException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.AMegadottNevMarLetezik);
|
||||
}
|
||||
catch (CannotBeInsertedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár láthatóságának beállítása és mentése
|
||||
/// </summary>
|
||||
/// <param name="elemId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SetLathatosag([FromBody] string elemId)
|
||||
{
|
||||
AdatszotarHelper helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var co = helper.GetAdatszotarElem(Convert.ToInt32(elemId));
|
||||
co.Lathato = !co.Lathato;
|
||||
helper.Update(co, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár aktiválás mentés
|
||||
/// </summary>
|
||||
/// <param name="parameters"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveAdatszotarActivate([FromBody] ItemListModel parameters)
|
||||
{
|
||||
if (parameters.Items.Count == 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.ValasszonKiLegalabbEgyElemet);
|
||||
}
|
||||
|
||||
bool success = GroupModifyItemActivity(parameters, true);
|
||||
if (!success)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, AdminisztracioResource.AktivalasNemLehetsegesAzElemVedett);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár deaktiválás mentés
|
||||
/// </summary>
|
||||
/// <param name="parameters"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveAdatszotarDeactivate([FromBody] ItemListModel parameters)
|
||||
{
|
||||
if (parameters.Items.Count == 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, CommonResource.ValasszonKiLegalabbEgyElemet);
|
||||
}
|
||||
|
||||
bool success = GroupModifyItemActivity(parameters, false);
|
||||
if (!success)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, AdminisztracioResource.DeaktivalasNemLehetsegesAzElemVedett);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElementsOrder(OrderItemListModel parameters)
|
||||
{
|
||||
if (parameters.Items.Count == 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, AdminisztracioResource.NincsAdatszotarLekerveMentesCsakKeresesUtanLehetseges);
|
||||
}
|
||||
|
||||
foreach (var item in parameters.Items)
|
||||
{
|
||||
if (item.Sorszam <= 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, AdminisztracioResource.SorszamErtekeCsakPozitivSzamLehet);
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var item in parameters.Items)
|
||||
{
|
||||
helper.UpdateSorszam(item.Id, item.Sorszam, ClaimData.KovTanevID);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeModifiedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár törlés
|
||||
/// </summary>
|
||||
/// <param name="parameters"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteAdatszotar([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (helper.IsProtected(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, AdminisztracioResource.TorlesNemLehetsegesAzElemVedett);
|
||||
}
|
||||
|
||||
helper.Delete(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.AdatszotarNemTorolhetoKapcsolatMiatt, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
catch (StatusError)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AzElemNemTorolhetoMertEgyVagyTobbKapcsolodasaVan) { UnHandledException = e };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteSelectedAdatszotar(List<int> idList)
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
string errorMsg = string.Empty;
|
||||
var counter = 0;
|
||||
|
||||
foreach (var id in idList)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (helper.IsProtected(id))
|
||||
{
|
||||
var adatszotarElem = helper.GetAdatszotarElem(id);
|
||||
errorMsg += $"{adatszotarElem.Megnevezes}: {AdminisztracioResource.TorlesNemLehetsegesAzElemVedett}" + Environment.NewLine + Environment.NewLine;
|
||||
continue;
|
||||
}
|
||||
|
||||
helper.Delete(id);
|
||||
|
||||
counter++;
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var adatszotarElem = helper.GetAdatszotarElem(id);
|
||||
var uzenet = string.Format(ErrorResource.AdatszotarNemTorolhetoKapcsolatMiatt, ex.ConnectionErrorMessage);
|
||||
|
||||
errorMsg += $"{adatszotarElem.Megnevezes}: {uzenet}" + Environment.NewLine + Environment.NewLine;
|
||||
continue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
var adatszotarElem = helper.GetAdatszotarElem(id);
|
||||
errorMsg += $"{adatszotarElem.Megnevezes}: {ErrorResource.AzElemNemTorolhetoMertEgyVagyTobbKapcsolodasaVan}" + Environment.NewLine + Environment.NewLine;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(errorMsg))
|
||||
return Json(new { Message = string.Format(ErrorResource.NSorTorlesSikeres, counter) });
|
||||
|
||||
if (counter > 0)
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorlesSikeres, counter);
|
||||
}
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
private AdatszotarCO Convert_Model_to_CO(AdatszotarGridModel model)
|
||||
{
|
||||
AdatszotarCO co = new AdatszotarCO
|
||||
{
|
||||
ID = model.AdatszotarID,
|
||||
AdatszotarTipus = model.AdatszotarTipusNev,
|
||||
AdatszotarTipusId = model.AdatszotarTipusId,
|
||||
Lathato = model.IsLathato,
|
||||
Megnevezes = model.Megnevezes,
|
||||
Sorszam = model.Sorszam,
|
||||
Megnevezes1 = model.Megnevezes1,
|
||||
Megnevezes2 = model.Megnevezes2,
|
||||
Megnevezes3 = model.Megnevezes3,
|
||||
Megnevezes4 = model.Megnevezes4,
|
||||
Color = model.Color != null ? model.Color.Replace("#", "") : "",
|
||||
IsBold = model.IsBold,
|
||||
Suly = model.Suly,
|
||||
Protected = model.IsProtected,
|
||||
IsSorszamozando = model.IsSorszamozando,
|
||||
IsTanorai = model.IsTanorai,
|
||||
IsTanorankivuli = model.IsTanorankivuli,
|
||||
IsLeNemKotottMunkaido = model.IsLeNemKotottMunkaido,
|
||||
};
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
private AdatszotarGridModel Convert_CO_to_Model(AdatszotarCO co)
|
||||
{
|
||||
AdatszotarGridModel model = new AdatszotarGridModel()
|
||||
{
|
||||
ID = string.Empty,
|
||||
AdatszotarTipusNev = co.AdatszotarTipus,
|
||||
AdatszotarTipusId = co.AdatszotarTipusId,
|
||||
AdatszotarID = co.ID,
|
||||
IsLathato = co.Lathato ?? false,
|
||||
Megnevezes = co.Megnevezes,
|
||||
Sorszam = co.Sorszam,
|
||||
Megnevezes1 = co.Megnevezes1,
|
||||
Megnevezes2 = co.Megnevezes2,
|
||||
Megnevezes3 = co.Megnevezes3,
|
||||
Megnevezes4 = co.Megnevezes4,
|
||||
Color = "#" + co.Color != null ? co.Color : "000000",
|
||||
IsBold = co.IsBold,
|
||||
Suly = co.Suly,
|
||||
IsProtected = co.Protected,
|
||||
IsSorszamozando = co.IsSorszamozando,
|
||||
IsTanorai = co.IsTanorai,
|
||||
IsTanorankivuli = co.IsTanorankivuli,
|
||||
IsLeNemKotottMunkaido = co.IsLeNemKotottMunkaido,
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public AdatszotarGridModel GetAdatszotarElem(int id)
|
||||
{
|
||||
return new AdatszotarGridModel(new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAdatszotarElem(id));
|
||||
}
|
||||
|
||||
private bool GroupModifyItemActivity(ItemListModel parameters, bool active)
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var adatszotarIds = new List<int>();
|
||||
foreach (var item in parameters.Items)
|
||||
{
|
||||
adatszotarIds.Add(item.Id);
|
||||
}
|
||||
|
||||
bool success = helper.ModifyItemActivity(adatszotarIds, active);
|
||||
return success;
|
||||
}
|
||||
|
||||
private DataSet FormatDataset(DataSet ds)
|
||||
{
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
|
||||
{
|
||||
if (ds.Tables[0].Columns[j].ColumnName == "Lathato")
|
||||
ds.Tables[0].Rows[i]["Lathato"] = SDAConvert.ToBooleanFromTF(ds.Tables[0].Rows[i]["Lathato"], false);
|
||||
|
||||
if (ds.Tables[0].Columns[j].ColumnName == "Protected")
|
||||
ds.Tables[0].Rows[i]["Protected"] = SDAConvert.ToBooleanFromTF(ds.Tables[0].Rows[i]["Protected"], false);
|
||||
}
|
||||
}
|
||||
|
||||
return ds;
|
||||
}
|
||||
|
||||
public class ItemListModel
|
||||
{
|
||||
public List<ItemModel> Items { set; get; }
|
||||
}
|
||||
|
||||
public class ItemModel
|
||||
{
|
||||
public int Id { set; get; }
|
||||
}
|
||||
|
||||
public class OrderItemListModel
|
||||
{
|
||||
public List<OrderItemModel> Items { set; get; }
|
||||
}
|
||||
|
||||
public class OrderItemModel
|
||||
{
|
||||
public int Id { set; get; }
|
||||
|
||||
public int Sorszam { set; get; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetAdatszotarTipusList()
|
||||
{
|
||||
var tipusok = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEditableAdatszotarTipusok().OrderBy(x => x.megnevezes).ToList();
|
||||
|
||||
var dropdownListItems = new List<ComboBoxListItem>();
|
||||
|
||||
foreach ((int id, string megnevezes) in tipusok)
|
||||
{
|
||||
var sli = new ComboBoxListItem() { Text = megnevezes, Value = id.ToString() };
|
||||
dropdownListItems.Add(sli);
|
||||
}
|
||||
|
||||
return Json(dropdownListItems);
|
||||
}
|
||||
|
||||
public HttpResponseMessage ChangeSelectedAdatszotarToLathato(List<int> idList)
|
||||
{
|
||||
AdatszotarHelper helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var co = helper.GetAdatszotarElem(Convert.ToInt32(id));
|
||||
co.Lathato = true;
|
||||
helper.Update(co, ClaimData.KovTanevID);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public HttpResponseMessage ChangeSelectedAdatszotarToRejtett(List<int> idList)
|
||||
{
|
||||
AdatszotarHelper helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var id in idList)
|
||||
{
|
||||
var co = helper.GetAdatszotarElem(Convert.ToInt32(id));
|
||||
co.Lathato = false;
|
||||
helper.Update(co, ClaimData.KovTanevID);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AktivTanevValtasaApiController : ApiController
|
||||
{
|
||||
public AktivTanevValtasaModel GetAktivTanevValtasaModel()
|
||||
{
|
||||
DataSet ds;
|
||||
DataSet dsAlkalmazottak;
|
||||
var helper = new AdminHelper(!ClaimData.SelectedTanevID.HasValue ? ConnectionTypeExtensions.GetActiveSessionConnectionType() : ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
ds = helper.GetAktivTanevValtasaModel(ClaimData.KovTanevID.Value);
|
||||
dsAlkalmazottak = helper.GetAlkalmazottakAlapErtekekkel(ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny);
|
||||
return ConvertDataSetToModel(ds, dsAlkalmazottak);
|
||||
}
|
||||
|
||||
public DataSourceResult GetAlkalmazottTorlesGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var thelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetNextSessionConnectionType());
|
||||
thelper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var termek = thelper.TanevValtasAlkalmazottTorlesKereses();
|
||||
return termek.ToDataSourceResult();
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
public AktivTanevValtasaModel ConvertDataSetToModel(DataSet ds, DataSet dsAlkalmazottak)
|
||||
{
|
||||
var model = new AktivTanevValtasaModel();
|
||||
|
||||
if (ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
DataRow dr = ds.Tables[0].Rows[0];
|
||||
|
||||
model.KiNemSoroltTanulokOsztaly = SDAConvert.ToInt32(dr["KiNemSoroltTanulokOsztaly"]);
|
||||
model.KiNemSoroltTanulokCsoport = SDAConvert.ToInt32(dr["KiNemSoroltTanulokCsoport"]);
|
||||
model.BeNemSoroltNebulok = SDAConvert.ToInt32(dr["BeNemSoroltNebulok"]);
|
||||
model.VanTorlendoAlkalmazott = SDAConvert.ToInt32(dr["VanTorlendoAlkalmazott"]);
|
||||
model.NemErtekeltOsszefuggoSzakmaiGyakorlatosTanulok = SDAConvert.ToInt32(dr["NemErtekeltOsszefuggoSzakmaiGyakorlatosTanulok"]);
|
||||
}
|
||||
|
||||
model.AlkalmazottakAlapertekekkel = new List<string>();
|
||||
if (dsAlkalmazottak != null && dsAlkalmazottak.Tables != null && dsAlkalmazottak.Tables.Count > 0 && dsAlkalmazottak.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
foreach (DataRow item in dsAlkalmazottak.Tables[0].Rows)
|
||||
{
|
||||
model.AlkalmazottakAlapertekekkel.Add(SDAConvert.ToString(item["AlkalmazottNev"]));
|
||||
}
|
||||
}
|
||||
|
||||
LicenceTipusaEnum licence = LicenceHelper.LicenceLejaratAllapota(ClaimData.LicenceDatum);
|
||||
if (licence == LicenceTipusaEnum.NegyedEveLejart || licence == LicenceTipusaEnum.EgyEveLejart)
|
||||
model.LejartLicence = true;
|
||||
else
|
||||
model.LejartLicence = false;
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.DiakolimpiaKezelo.ClaimValue)]
|
||||
public class DiakolimpiaApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetDiakolimpiaGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
//Az oktatási azonosító maszkolása miatt kell kivenni
|
||||
data = data.Replace("_", "");
|
||||
|
||||
var model = JsonConvert.DeserializeObject<DiakolimpiaSearchModel>(data);
|
||||
|
||||
var helper = new DiakolimpiaHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
var ds = helper.GetDiakolimpiaGrid(ConvertSearchModelToCo(model));
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SendData(DataForMdszModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var message = string.Empty;
|
||||
try
|
||||
{
|
||||
var sorszam = new DiakolimpiaHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeladhelySorszambyId(model.FeladhelySorszam.Value);
|
||||
message = new DiakolimpiaHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetDataForMdszInterface(model.Tanulok, sorszam);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, message);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
|
||||
private DiakolimpiaSearchCO ConvertSearchModelToCo(DiakolimpiaSearchModel model)
|
||||
{
|
||||
return new DiakolimpiaSearchCO
|
||||
{
|
||||
SearchNev = model.SearchNev,
|
||||
SearchSzuletesiDatumtol = model.SearchSzuletesiDatumtol,
|
||||
SearchSzuletesiDatumig = model.SearchSzuletesiDatumig,
|
||||
SearchAnyjaNeve = model.SearchAnyjaNeve,
|
||||
SearchOktatasiAzonosito = model.SearchOktatasiAzonosito,
|
||||
SearchOsztalya = model.SearchOsztalya
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
using System;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Elearning.Nexius;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
using Nexius.Common.Helpers;
|
||||
using Nexius.Common.Lti;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
public class ELearningApiController : ApiController
|
||||
{
|
||||
private readonly INexiusCourseService nexiusCourseService;
|
||||
|
||||
public ELearningApiController(INexiusCourseService nexiusCourseService)
|
||||
{
|
||||
this.nexiusCourseService = nexiusCourseService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IHttpActionResult StartCourse(string launchUri)
|
||||
{
|
||||
var felhasznaloId = string.Empty;
|
||||
var vezeteknev = ClaimData.Vezeteknev;
|
||||
var utonev = ClaimData.Utonev;
|
||||
|
||||
var nexiusId = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNexiusId();
|
||||
|
||||
FelhasznaloHelper helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
var (EgyediAzonosito, Nev) = helper.GetGondviseloAdat(ClaimData.GondviseloId.Value);
|
||||
felhasznaloId = EgyediAzonosito;
|
||||
vezeteknev = Nev;
|
||||
utonev = " ";
|
||||
}
|
||||
else
|
||||
{
|
||||
felhasznaloId = helper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
Uri requestUrl = Request.RequestUri;
|
||||
|
||||
string returnUrl = $"{requestUrl.Scheme}://{requestUrl.Host}/Adminisztracio/ELearning";
|
||||
|
||||
var isGondviselo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId != null;
|
||||
var isTanulo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId == null;
|
||||
(string szuletesiNev, string oktatasiAzonosito, string emailCim) = helper.GetUserDetailsForElearning(ClaimData.FelhasznaloId, ClaimData.GondviseloId, isGondviselo, isTanulo);
|
||||
|
||||
var ltiRequest = new LtiLauchRequest()
|
||||
{
|
||||
UserId = felhasznaloId,
|
||||
FamilyName = vezeteknev,
|
||||
GivenName = utonev,
|
||||
MothersName = isGondviselo ? string.Empty : ClaimData.AnyjaNeve,
|
||||
BirthName = isGondviselo ? string.Empty : szuletesiNev,
|
||||
BirthPlace = isGondviselo ? string.Empty : ClaimData.SzuletesiHely,
|
||||
BirthDay = string.IsNullOrWhiteSpace(ClaimData.SzuletesiDatum) || isGondviselo ? (DateTime?)null : DateTime.Parse(ClaimData.SzuletesiDatum),
|
||||
EducationalId = isGondviselo ? string.Empty : oktatasiAzonosito,
|
||||
PrimaryEmail = emailCim,
|
||||
ReturnUrl = returnUrl,
|
||||
RegistrarId = string.IsNullOrWhiteSpace(nexiusId) ? (ShortGuid?)null : Guid.Parse(nexiusId) // implicitly cast the guid as a shortguid
|
||||
};
|
||||
|
||||
string url = nexiusCourseService.GenerateLaunchUri(launchUri, ltiRequest);
|
||||
|
||||
return Redirect(url);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class EmailKezelesApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult Leiratkozas([FromBody] string data)
|
||||
{
|
||||
try
|
||||
{
|
||||
Guid guid = Guid.Parse(UrlLogic.Decrypt(data, Core.Constants.EncryptionKey));
|
||||
if (!new UzenetekHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).Leiratkozas(guid))
|
||||
{
|
||||
throw new InvalidDataException();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) when (
|
||||
ex is ArgumentException ||
|
||||
ex is CryptographicException ||
|
||||
ex is FormatException ||
|
||||
ex is InvalidDataException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.ErvenytelenAdat);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.IsmeretlenHibaTortent);
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.IsFeltarAlkalmazott.ClaimValue)]
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class FeltarAlkalmazottApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public FeltarAlkalmazottApiController(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsEszkozIgenyelheto()
|
||||
{
|
||||
return new FeltarAlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsEszkozIgenyelheto(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage EszkozIgenyles(FeltarAlkalmazottCo feltarAlkalmazott)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (feltarAlkalmazott.AdatvedelmiTajekoztatoElfogadasa && feltarAlkalmazott.AltalanosSzerzodesiFeltetelekElfogadasa && IsEszkozIgenyelheto())
|
||||
{
|
||||
new FeltarAlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).EszkozIgenyles(ClaimData.FelhasznaloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.BadRequest);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.IsFeltarGondviselo.ClaimValue)]
|
||||
public class FeltarGondviseloApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public FeltarGondviseloApiController(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsEszkozIgenyelheto()
|
||||
{
|
||||
return new FeltarGondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsEszkozIgenyelheto(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage EszkozIgenyles(FeltarGondviseloCo feltarGondviselo)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (feltarGondviselo.AdatvedelmiTajekoztatoElfogadasa && feltarGondviselo.AltalanosSzerzodesiFeltetelekElfogadasa && IsEszkozIgenyelheto())
|
||||
{
|
||||
new FeltarGondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).EszkozIgenyles(ClaimData.FelhasznaloId, ClaimData.GondviseloId.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.BadRequest);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
[ApiCsokkentettGondviseloAccess]
|
||||
public class GondviseloJelszoIgenyloApiController : ApiController
|
||||
{
|
||||
public JsonResult<List<ComboBoxListItem>> GetKozteruletJellegList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
|
||||
List<ComboBoxListItem> items = ((int)GeneratedAdatszotarTipusEnum.KozteruletJelleg).GetItemsByType(CommonUtils.GetAktualisTanevId(ClaimData.FelhasznaloId), true).ToComboBoxItemList();
|
||||
|
||||
return Json(items);
|
||||
}
|
||||
|
||||
public JsonResult<List<TelepulesListCO>> GetHelysegNevList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TelepulesHelper(ConnectionTypeExtensions.GetOrganizationConnectionType());
|
||||
helper.GridParameters = null;
|
||||
var helperResult = helper.GetTelepulesek();
|
||||
|
||||
return Json(helperResult);
|
||||
}
|
||||
|
||||
public JsonResult<List<IranyitoszamListCO>> GetIranyitoszamList([DataSourceRequest] DataSourceRequest request, string serverFilter = "")
|
||||
{
|
||||
var helper = new TelepulesHelper(ConnectionTypeExtensions.GetOrganizationConnectionType());
|
||||
helper.GridParameters = null;
|
||||
var dictionary = helper.GetIranyitoszamok(serverFilter);
|
||||
|
||||
return Json(dictionary);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetOrszagList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
return Json(((int)GeneratedAdatszotarTipusEnum.OrszagTipus).GetItemsByType(CommonUtils.GetAktualisTanevId(ClaimData.FelhasznaloId), true).ToComboBoxItemList());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public JsonResult<List<TelepulesListCO>> GetHelysegNevByIranyitoszamList(string iranyitoSzam)
|
||||
{
|
||||
var helper = new TelepulesHelper(ConnectionTypeExtensions.GetOrganizationConnectionType());
|
||||
helper.GridParameters = null;
|
||||
var helperResult = helper.GetTelepulesek(iranyitoSzam);
|
||||
|
||||
return Json(helperResult);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetRokonsagiFokList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
List<ComboBoxListItem> items = ((int)GeneratedAdatszotarTipusEnum.RokonsagiFok).GetItemsByType(CommonUtils.GetAktualisTanevId(ClaimData.FelhasznaloId), true).ToComboBoxItemList(new List<int> { (int)RokonsagiFokEnum.egyeb_nem_rokoni_kapcsolat, (int)RokonsagiFokEnum.egyeb_rokoni_kapcsolat });
|
||||
|
||||
return Json(items);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetEmailTipusList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
List<ComboBoxListItem> items = ((int)GeneratedAdatszotarTipusEnum.EmailTipus).GetItemsByType(CommonUtils.GetAktualisTanevId(ClaimData.FelhasznaloId), true).ToComboBoxItemList(new List<int> { (int)EmailTipusEnum.PublikusEmailcim });
|
||||
|
||||
return Json(items);
|
||||
}
|
||||
|
||||
public JsonResult<List<IranyitoszamTelepulesListCO>> GetIranyitoszamokEsTelepulesek([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TelepulesHelper(ConnectionTypeExtensions.GetOrganizationConnectionType());
|
||||
var list = helper.GetIranyitoszamokEsTelepulesek();
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,403 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HelyettesitesekKezeleseApiController : ApiController
|
||||
{
|
||||
public HelyettesitesBevitelModel GetHelyettesitesBevitelData(int helyettesitesId)
|
||||
{
|
||||
var dataSet = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitesDataById(helyettesitesId);
|
||||
DataRow row = dataSet.Tables[0].Rows[0];
|
||||
var model = new HelyettesitesBevitelModel
|
||||
{
|
||||
HelyettesitesBevitelHelyettesitesId = helyettesitesId,
|
||||
HelyettesitesBevitelGroupId = SDAConvert.ToNullableInt32(row["C_GROUPID"].ToString()),
|
||||
HelyettesitesBevitelTanarId = int.Parse(row["C_HELYETTESTANAROKID"].ToString()),
|
||||
HelyettesitesBevitelTanarNev = row["C_NYOMTATASINEV"].ToString(),
|
||||
HelyettesitesBevitelHelyettesitesTipusId = int.Parse(row["C_HELYETTESITESTIPUS"].ToString()),
|
||||
HelyettesitesBevitelHelyettesitesOka = row["C_HELYETTESITESOKA"].ToString()
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage InsertHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
if (ModelState.IsValid && model.HelyettesitesBevitelTanarId.HasValue)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var hetHelper = new NaptariHetHelper(connectionType);
|
||||
var uzenetekHelper = new UzenetekHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
|
||||
var sorszam = hetHelper.GetNaptariHetSorszamByDate(model.HelyettesitesBevitelOraKezdeteDate.Date);
|
||||
|
||||
if (model.HelyettesitesBevitelCalendarOraType == CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.NaplozottOrahozNemVehetoFelHelyettesites);
|
||||
}
|
||||
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitesBevitelTanarId.Value);
|
||||
|
||||
if (model.HelyettesitesBevitelHelyettesitesGyakorisagTipus == (int)HelyettesitesGyakorisagTipusEnum.Egyedi)
|
||||
{
|
||||
HelyettesitesResultCO helyettesitesResultCo = helper.SaveHelyettesites(
|
||||
model.HelyettesitesBevitelCalendarEventId,
|
||||
model.HelyettesitesBevitelTanarId.Value,
|
||||
model.HelyettesitesBevitelHelyettesitesTipusId,
|
||||
model.HelyettesitesBevitelHelyettesitesOka,
|
||||
sorszam,
|
||||
model.HelyettesitesBevitelOraKezdeteDate.Date,
|
||||
model.IsTuloraMentes);
|
||||
|
||||
if (helyettesitesResultCo.ErrorId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(helyettesitesResultCo.ErrorId.Value));
|
||||
}
|
||||
|
||||
if (helyettesitesResultCo.HelyettesitesId.IsEntityId() && mustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesSendEmailCo(helyettesitesResultCo.HelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
List<HelyettesitesResultCO> helyettesitesResultCoList = helper.SaveGroupHelyettesites(
|
||||
model.HelyettesitesBevitelCalendarEventId,
|
||||
model.HelyettesitesBevitelTanarId.Value,
|
||||
model.HelyettesitesBevitelHelyettesitesTipusId,
|
||||
model.HelyettesitesBevitelHelyettesitesOka,
|
||||
sorszam,
|
||||
model.HelyettesitesBevitelOraKezdeteDate.Date,
|
||||
model.HelyettesitesBevitelTartosHelyettesitesVegeDate.Value,
|
||||
model.IsTuloraMentes);
|
||||
|
||||
if (helyettesitesResultCoList.Count == 1 && helyettesitesResultCoList[0].ErrorId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(helyettesitesResultCoList[0].ErrorId.Value));
|
||||
}
|
||||
|
||||
foreach (var helyettesitesResultCo in helyettesitesResultCoList)
|
||||
{
|
||||
if (helyettesitesResultCo.HelyettesitesId.IsEntityId() && mustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesSendEmailCo(helyettesitesResultCo.HelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage UpdateSingleHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
if (ModelState.IsValid && model.HelyettesitesBevitelHelyettesitesId.HasValue && model.HelyettesitesBevitelTanarId.HasValue)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var uzenetekHelper = new UzenetekHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
|
||||
var originalHelyettesito = helper.GetHelyettesitesEmailDataById(model.HelyettesitesBevitelHelyettesitesId.Value);
|
||||
|
||||
if (originalHelyettesito.HelyettesitoID != model.HelyettesitesBevitelTanarId.Value)
|
||||
{
|
||||
bool originalMustSendEmail = helper.GetUserHelyettesitesProfilData(originalHelyettesito.HelyettesitoID);
|
||||
|
||||
if (originalMustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesTorlesSendEmailCo(model.HelyettesitesBevitelHelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
|
||||
HelyettesitesResultCO helyettesitesResultCo = helper.UpdateHelyettesitoTanar(
|
||||
model.HelyettesitesBevitelCalendarEventId,
|
||||
model.HelyettesitesBevitelHelyettesitesId.Value,
|
||||
model.HelyettesitesBevitelTanarId.Value,
|
||||
model.HelyettesitesBevitelHelyettesitesTipusId,
|
||||
model.HelyettesitesBevitelHelyettesitesOka,
|
||||
model.HelyettesitesBevitelOraKezdeteDate.Date,
|
||||
null,
|
||||
model.IsTuloraMentes);
|
||||
|
||||
if (helyettesitesResultCo.ErrorId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(helyettesitesResultCo.ErrorId.Value));
|
||||
}
|
||||
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitesBevitelTanarId.Value);
|
||||
if (helyettesitesResultCo.HelyettesitesId.IsEntityId() && mustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesSendEmailCo(model.HelyettesitesBevitelHelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend(model.HelyettesitesBevitelCalendarEventId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage UpdateGroupHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
if (ModelState.IsValid && model.HelyettesitesBevitelHelyettesitesId.HasValue && model.HelyettesitesBevitelGroupId.HasValue && model.HelyettesitesBevitelTanarId.HasValue)
|
||||
{
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var uzenetekHelper = new UzenetekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var helyettesitesDataSet = helper.GetHelyettesitesDataSetByGroupId(model.HelyettesitesBevitelGroupId.Value);
|
||||
var helyettesitesResultCoList = new List<HelyettesitesResultCO>();
|
||||
foreach (DataRow dataRow in helyettesitesDataSet.Tables[0].Rows)
|
||||
{
|
||||
var helyettesitesId = SDAConvert.ToInt32(dataRow["Id"]);
|
||||
var helyettesitesNapjaDate = SDAConvert.ToDateTime(dataRow["HelyettesitesNapjaDate"]);
|
||||
if (model.HelyettesitesBevitelOraKezdeteDate.Date <= helyettesitesNapjaDate)
|
||||
{
|
||||
var originalHelyettesito = helper.GetHelyettesitesEmailDataById(helyettesitesId);
|
||||
|
||||
if (originalHelyettesito.HelyettesitoID != model.HelyettesitesBevitelTanarId.Value)
|
||||
{
|
||||
bool originalMustSendEmail = helper.GetUserHelyettesitesProfilData(originalHelyettesito.HelyettesitoID);
|
||||
|
||||
if (originalMustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesTorlesSendEmailCo(model.HelyettesitesBevitelHelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
|
||||
helyettesitesResultCoList.Add(helper.UpdateHelyettesitoTanar(
|
||||
model.HelyettesitesBevitelCalendarEventId,
|
||||
helyettesitesId,
|
||||
model.HelyettesitesBevitelTanarId.Value,
|
||||
model.HelyettesitesBevitelHelyettesitesTipusId,
|
||||
model.HelyettesitesBevitelHelyettesitesOka,
|
||||
model.HelyettesitesBevitelOraKezdeteDate.Date,
|
||||
model.HelyettesitesBevitelHelyettesitesId,
|
||||
model.IsTuloraMentes));
|
||||
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitesBevitelTanarId.Value);
|
||||
foreach (var helyettesitesResultCo in helyettesitesResultCoList)
|
||||
{
|
||||
if (helyettesitesResultCo.HelyettesitesId.IsEntityId() && mustSendEmail)
|
||||
{
|
||||
SendEmailCo sendEmailCo = uzenetekHelper.GetHelyettesitesSendEmailCo(helyettesitesResultCo.HelyettesitesId.Value);
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
helper.ClearHelyettesitesGroupId(helyettesitesId);
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult ValidateDeleteHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
List<string> textList = helper.GetNemkotottMunkaidoByHelyettesitesHibakListaja(model.HelyettesitesBevitelHelyettesitesId, model.HelyettesitesBevitelGroupId, model.HelyettesitesBevitelOraKezdeteDate);
|
||||
|
||||
textList.Add(CommonResource.BiztosanTorli);
|
||||
string result = string.Join("<br />", textList);
|
||||
return Json(new { Text = result });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteSingleHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
if (ModelState.IsValid && model.HelyettesitesBevitelHelyettesitesId.HasValue && model.HelyettesitesBevitelTanarId.HasValue)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
Dictionary<int, int> nemKotottMunkaidoDictionary = helper.GetNemkotottMunkaidoByHelyettesitesTorleshez(model.HelyettesitesBevitelHelyettesitesId, model.HelyettesitesBevitelGroupId, model.HelyettesitesBevitelOraKezdeteDate);
|
||||
int? nemKotottmunkaidoId = nemKotottMunkaidoDictionary.Count > 0 && nemKotottMunkaidoDictionary.TryGetValue(model.HelyettesitesBevitelHelyettesitesId.Value, out int value) ? value : (int?)null;
|
||||
Delete(helper, model.HelyettesitesBevitelHelyettesitesId.Value, model.HelyettesitesBevitelTanarId.Value, nemKotottmunkaidoId);
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteGroupHelyettesites(HelyettesitesBevitelModel model)
|
||||
{
|
||||
if (ModelState.IsValid && model.HelyettesitesBevitelGroupId.HasValue && model.HelyettesitesBevitelTanarId.HasValue)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new HelyettesitesHelper(connectionType);
|
||||
var orarendHelper = new OrarendHelper(connectionType);
|
||||
Dictionary<int, int> nemKotottMunkaidoDictionary = helper.GetNemkotottMunkaidoByHelyettesitesTorleshez(model.HelyettesitesBevitelHelyettesitesId, model.HelyettesitesBevitelGroupId, model.HelyettesitesBevitelOraKezdeteDate);
|
||||
|
||||
var helyettesitesDataSet = helper.GetHelyettesitesDataSetByGroupId(model.HelyettesitesBevitelGroupId.Value);
|
||||
foreach (DataRow dataRow in helyettesitesDataSet.Tables[0].Rows)
|
||||
{
|
||||
var helyettesitesId = SDAConvert.ToInt32(dataRow["Id"]);
|
||||
var helyettesitesNapjaDate = SDAConvert.ToDateTime(dataRow["HelyettesitesNapjaDate"]);
|
||||
if (model.HelyettesitesBevitelOraKezdeteDate.Date <= helyettesitesNapjaDate)
|
||||
{
|
||||
int? nemKotottmunkaidoId = nemKotottMunkaidoDictionary.Count > 0 && nemKotottMunkaidoDictionary.TryGetValue(helyettesitesId, out int value) ? value : (int?)null;
|
||||
Delete(helper, helyettesitesId, model.HelyettesitesBevitelTanarId.Value, nemKotottmunkaidoId);
|
||||
}
|
||||
else
|
||||
{
|
||||
helper.ClearHelyettesitesGroupId(helyettesitesId);
|
||||
}
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
private void Delete(HelyettesitesHelper helper, int helyettesitesId, int tanarId, int? nemKotottMunkaidoId = null)
|
||||
{
|
||||
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(tanarId);
|
||||
var uzenetekHelper = new UzenetekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
SendEmailCo sendEmailCo = mustSendEmail ? uzenetekHelper.GetHelyettesitesTorlesSendEmailCo(helyettesitesId) : null;
|
||||
|
||||
helper.DeleteHelyettesites(helyettesitesId);
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
var nemkotottmunkaidoHelper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (nemKotottMunkaidoId.IsEntityId())
|
||||
nemkotottmunkaidoHelper.Delete(nemKotottMunkaidoId.Value, isAdmin: true);
|
||||
|
||||
if (mustSendEmail)
|
||||
{
|
||||
uzenetekHelper.SendEmail(sendEmailCo);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNemMegtartottHelyettesites(NemMegtartottHelyettesitesBevitelModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveAdminNemMegtartottOra(
|
||||
model.HelyettesitesBevitelCalendarEventId.Value,
|
||||
model.HelyettesitesBevitelOraKezdeteDate.Value,
|
||||
model.HelyettesitesBevitelOraVegeDate.Value,
|
||||
model.HelyettesitesBevitelHelyettesitesOka);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage NemMegtartottOraTorlese(NemMegtartottHelyettesitesBevitelModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
TanoraCO tanoraCo = helper.GetTanorakAdatok(model.HelyettesitesBevitelCalendarEventId.Value);
|
||||
if (!tanoraCo.AdminAltalKiirt)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
helper.NaplozasTorlese(model.HelyettesitesBevitelCalendarEventId.Value, true);
|
||||
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.OrarendValtozasCacheMentes(tanoraCo.OrarendiOra, tanoraCo.OraKezd);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public bool GetHelyettesitoEmailCim(int userId)
|
||||
{
|
||||
string emailCim = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitoTanarEmailCim(userId);
|
||||
return !string.IsNullOrWhiteSpace(emailCim);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveOracsere(OracsereModel model)
|
||||
{
|
||||
OracsereValidationCO oracsereValidacio;
|
||||
try
|
||||
{
|
||||
oracsereValidacio = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveOracsere(model.OracsereOrarendiOraId, model.OracsereOrarendiOraDatum, model.CalendarOrarendiOraId, model.CalendarOrarendiOraDatum, ClaimData.FelhasznaloId, model.IsPrevalidation, model.IsTeremcsere);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
if (!model.IsPrevalidation)
|
||||
{
|
||||
oracsereValidacio.WarningMessage = string.Empty;
|
||||
}
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, oracsereValidacio, Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
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.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HelyettesitesekListajaApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
public DataSourceResult GetHelyettesitesekListajaGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request.data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<HelyettesitesekListajaGridModel>(HelyettesitesekListajaGridModel.HelyettesitesekListajaExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(HelyettesitesekListajaResource.HelyettesitesekListajaExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), HelyettesitesekListajaResource.HelyettesitesekListajaExportFilename);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<HelyettesitesekListajaGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<HelyettesitesekListajaSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitesekListajaCoList(model.ConvertToCO());
|
||||
|
||||
var modelList = new List<HelyettesitesekListajaGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new HelyettesitesekListajaGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteHelyettesitesek(List<int> id)
|
||||
{
|
||||
if (!(id?.Count > 0))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NincsTorlesreJeloltHelyettesites);
|
||||
}
|
||||
|
||||
string errorMsg = string.Empty;
|
||||
var counter = 0;
|
||||
var errorCounter = 0;
|
||||
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var helyettesitesekListaja = helper.GetHelyettesitesekListajaGrid(new BusinessLogic.HelperClasses.HelyettesitesekListajaSearchCO());
|
||||
|
||||
if (helyettesitesekListaja.Tables[0] != null && helyettesitesekListaja.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var helyettesitesekListajas = helyettesitesekListaja.Tables[0]
|
||||
.AsEnumerable()
|
||||
.Where(row => row.Field<string>("Naplozott") == "F")
|
||||
.Select(row => row.Field<int>("ID"));
|
||||
|
||||
if (id.Count == 1)
|
||||
{
|
||||
int helyettesitesId = id[0];
|
||||
|
||||
if (helyettesitesekListajas.Any(row => row == helyettesitesId))
|
||||
{
|
||||
helper.DeleteHelyettesites(helyettesitesId);
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.ATorlesSikertelenMertAHelyettesitesNaplozott);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var item in id)
|
||||
{
|
||||
if (helyettesitesekListajas.Any(row => row == item))
|
||||
{
|
||||
helper.DeleteHelyettesites(item);
|
||||
counter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
errorCounter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
orarendHelper.GenerateTeljesOrarend();
|
||||
|
||||
if (errorCounter == 0)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorleseSikertelenMertAHelyettesitesekNaplozottak, errorCounter);
|
||||
|
||||
if (counter > 0)
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorlesSikeres, counter);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaATorlesSoran);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class NevOktLeNemKotottMunkaidoListajaApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
public DataSourceResult GetNevOktLeNemKotottMunkaidoGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request.data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<NevOktLeNemKotottMunkaidoGridModel>(NevOktLeNemKotottMunkaidoGridModel.NevOktLeNemKotottMunkaidoExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(NevOktLeNemKotottMunkaidoResource.NevOktLeNemKotottMunkaido, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), NevOktLeNemKotottMunkaidoResource.ExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<NevOktLeNemKotottMunkaidoGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<NevOktLeNemKotottMunkaidoSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNevOktLeNemKotottMunkaidoItemCoList(model.ConvertToCo());
|
||||
|
||||
var modelList = new List<NevOktLeNemKotottMunkaidoGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new NevOktLeNemKotottMunkaidoGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool DeleteNemKotott(int nemKotottId)
|
||||
{
|
||||
var helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.Delete(nemKotottId, isAdmin: true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,676 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.KGR;
|
||||
using Kreta.Client.KGR.Request;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class ProfilApiController : ApiController
|
||||
{
|
||||
private readonly IKGRClient _kgrClient;
|
||||
public ProfilApiController(IKGRClient kgrClient)
|
||||
{
|
||||
_kgrClient = kgrClient ?? throw new ArgumentNullException(nameof(kgrClient));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Jelszó módosítás mentés
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveProfilData(ProfilModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var belepesiNev = ClaimData.BelepesiNev;
|
||||
|
||||
var helper = new FelhasznaloBelepesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var loginInfo = helper.AuthenticateUser(belepesiNev, model.JelenlegiJelszo);
|
||||
|
||||
if (loginInfo == null || loginInfo.PasswordState == PasswordState.INVALID)
|
||||
{
|
||||
throw new IncorrectPasswordException(loginInfo.BelepesiNev);
|
||||
}
|
||||
|
||||
helper.ChangeUserPassword(belepesiNev, model.UjJelszo);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (IncorrectPasswordException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(2591)/*Helytelen jelenlegi jelszó!*/);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elérhetőség módosítás mentés
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveElerhetosegek(ElerhetosegekModel model)
|
||||
{
|
||||
model.CleanFromEmptyRows();
|
||||
if (!ValidateElerhetosegek(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = model.ConvertToCo();
|
||||
var newDbElerhetosegek = felhasznaloHelper.SaveElerhetosegek(co, ClaimData.FelhasznaloId);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, newDbElerhetosegek);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, ErrorResource.NemSikerultAMuvelet)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Profilkép mentés
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveProfilePicture()
|
||||
{
|
||||
if (!Request.Content.IsMimeMultipartContent())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.UnsupportedMediaType, StringResourcesUtil.GetString(4890)/*Nem támogatott tipus*/);
|
||||
}
|
||||
|
||||
var root = HttpContext.Current.Server.MapPath("~/App_Data");
|
||||
var provider = new MultipartFormDataStreamProvider(root);
|
||||
|
||||
var tempFilePath = provider.FileData[0].LocalFileName;
|
||||
|
||||
var byteArray = File.ReadAllBytes(tempFilePath);
|
||||
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
ProfileUtils.UserProfileImage = helper.ProfileKep(helper.ProfilkepMentese(byteArray));
|
||||
|
||||
File.Delete(tempFilePath);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviseloAdatok(GondviseloAdatokModModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveGondviseloElerhetosegAdatok(ConvertGondviseloAdatokModModelToCO(model));
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGondviselo4TAdatok(Felhasznalo4TAdatokModel model)
|
||||
{
|
||||
if (!ClaimData.FeltarGondviseloEnabled)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
new GondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveGondviselo4TAdatok(ClaimData.GondviseloId.Value, ConvertGondviselo4TAdatokModelToCo(model));
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public HttpResponseMessage DeleteGondviseloEmail()
|
||||
{
|
||||
try
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteGondviseloEmail(ClaimData.GondviseloId.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanuloBankszamlaAdatok(TanuloBankszamlaModel model) => SaveBankszamlaAdatok(model, true);
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveAlkalmazottBankszamlaAdatok(AlkalmazottBankszamlaModel model) => SaveBankszamlaAdatok(model, false);
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveMentoriNyugdijAdatok(MentoriNyugdijModel model)
|
||||
{
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = model.ConvertToCo();
|
||||
var featureContext = (IFeatureContext)Request.GetDependencyScope().GetService(typeof(IFeatureContext));
|
||||
var isKlebelsbergKozpontOrNSZFH =
|
||||
featureContext.IsEnabled(FeatureName.MunkaugyiAdatokKlebelsberg)
|
||||
|| featureContext.IsEnabled(FeatureName.MunkaugyiAdatokNSZFH);
|
||||
var isNszfhUjSzkt = ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny;
|
||||
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveAlkalmazottNyugdijAdatok(co, isKlebelsbergKozpontOrNSZFH, isNszfhUjSzkt);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
var errorMessage = string.Join("<br>", ModelState.Select(x => string.Join("<br>", x.Value.Errors.Select(y => y.ErrorMessage))));
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveBankszamlaAdatok(TanuloBankszamlaModel model, bool isTanulo)
|
||||
{
|
||||
var co = model.ConvertToCo();
|
||||
if (!ValidateBankszamlaszamAdatok(co, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (isTanulo)
|
||||
{
|
||||
new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveTanuloBankszamlaAdatok(ClaimData.FelhasznaloId, ClaimData.GondviseloId, co);
|
||||
}
|
||||
else
|
||||
{
|
||||
new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveAlkalmazottBankszamlaAdatok(ClaimData.FelhasznaloId, co);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
|
||||
}
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
var errorMessage = string.Join("<br>", ModelState.Select(x => string.Join("<br>", x.Value.Errors.Select(y => y.ErrorMessage))));
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetTanuloAdatGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetTanuloAdatForGondviselo(ClaimData.GondviseloId.Value);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegCimGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetCimData(ClaimData.GondviseloId.Value, isGondviselo: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetCimData(ClaimData.FelhasznaloId, isGondviselo: false);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegTelGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetTelefonData(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetTelefonData(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public DataSourceResult GetElerhetosegEmailGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds;
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
ds = helper.GetEmailData(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ds = helper.GetEmailData(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public DataSourceResult GetTargyiEszkozokGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var adatlapModels = new List<SajatAdatlapInfoModel.TargyiEszkozModel>();
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var tanaradatok = helper.GetTanarAdatok(ClaimData.FelhasznaloId);
|
||||
|
||||
string funkcioTerulet = null;
|
||||
if (tanaradatok.FeladatellatasiHely.IsEntityId())
|
||||
{
|
||||
var mukodesiHelyId = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeladatEllatasiHelyAdatok(tanaradatok.FeladatellatasiHely.Value).MukodesiHelyID;
|
||||
var co = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetMukodesiHelyAdatok(mukodesiHelyId);
|
||||
funkcioTerulet = co.Funkcioterulet;
|
||||
}
|
||||
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (!string.IsNullOrWhiteSpace(alkalmazottHelper.GetAlkalmazottSztszKod(ClaimData.FelhasznaloId)))
|
||||
{
|
||||
var result = _kgrClient.KGREszkozList(new EszkozHeaderRequest() { IntezmenyGuid = ClaimData.IntezmenyGuid.ToString(), IntezmenyAzonosito = ClaimData.IntezmenyAzonosito, Sztsz = alkalmazottHelper.GetAlkalmazottSztszKod(ClaimData.FelhasznaloId) });
|
||||
var cnt = 0;
|
||||
foreach (var item in result)
|
||||
{
|
||||
adatlapModels.Add(new SajatAdatlapInfoModel.TargyiEszkozModel
|
||||
{
|
||||
ID = cnt.ToString(),
|
||||
Megnevezes = item.Megnevezes,
|
||||
GyariSzam = item.GyariSzam,
|
||||
LeltariSzam = item.Leltarszam
|
||||
});
|
||||
cnt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
||||
}
|
||||
|
||||
return adatlapModels.ToDataSourceResult();
|
||||
}
|
||||
|
||||
private GondviseloAdatokModCO ConvertGondviseloAdatokModModelToCO(GondviseloAdatokModModel model)
|
||||
{
|
||||
return new GondviseloAdatokModCO
|
||||
{
|
||||
GondviseloId = ClaimData.GondviseloId.Value,
|
||||
TanuloId = ClaimData.FelhasznaloId,
|
||||
UjEmail = model.UjEmail,
|
||||
UjTelefon = model.UjTelefon
|
||||
};
|
||||
}
|
||||
|
||||
private Felhasznalo4TAdatokCo ConvertGondviselo4TAdatokModelToCo(Felhasznalo4TAdatokModel model)
|
||||
{
|
||||
return new Felhasznalo4TAdatokCo
|
||||
{
|
||||
AnyjaUtonev = model.AnyjaUtonev,
|
||||
AnyjaVezeteknev = model.AnyjaVezeteknev,
|
||||
Elotag = model.Elotag,
|
||||
SzuletesiDatum = model.SzuletesiDatum,
|
||||
SzuletesiHely = model.SzuletesiHely,
|
||||
SzuletesiUtonev = model.SzuletesiUtonev,
|
||||
SzuletesiVezeteknev = model.SzuletesiVezeteknev,
|
||||
Utonev = model.Utonev,
|
||||
Vezeteknev = model.Vezeteknev,
|
||||
};
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveEgyHaztartasbanElokData(EgyhaztartasbanElokModel model)
|
||||
{
|
||||
if (!ValidateEgyHaztartasbanElok(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveEgyhaztartasbanElokData(model.ConvertToCo(), ClaimData.FelhasznaloId, ClaimData.GondviseloId);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public string LoadEgyHaztartasbanElokData()
|
||||
{
|
||||
return JsonConvert.SerializeObject(new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyhaztartasbanElokData(ClaimData.FelhasznaloId));
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
private bool ValidateElerhetosegek(ElerhetosegekModel model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
if (model.Email.Where(e => e.Alapertelmezett && e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Take(2).Count() != 1)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", AdminisztracioResource.KotelezoEgyAlapertelmezettEmail);
|
||||
}
|
||||
|
||||
if (model.Telefon.Where(t => t.Alapertelmezett && t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Take(2).Count() != 1)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", AdminisztracioResource.KotelezoEgyAlapertelmezettTelefon);
|
||||
}
|
||||
|
||||
var publikusEmailCimek = model.Email.Where(e => e.IsPublic && e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted);
|
||||
if (publikusEmailCimek.Skip(1).Any())
|
||||
{
|
||||
foreach (var publikusEmail in publikusEmailCimek.Skip(1))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, publikusEmail.TextBoxId, AdminisztracioResource.PublikusEmailCsakEgyLehet);
|
||||
}
|
||||
}
|
||||
|
||||
var publikusTelefonszamok = model.Telefon.Where(t => t.IsPublic && t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted);
|
||||
if (publikusTelefonszamok.Skip(1).Any())
|
||||
{
|
||||
foreach (var publikusTelefonszam in publikusTelefonszamok.Skip(1))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, publikusTelefonszam.TextBoxId, AdminisztracioResource.PublikusTelefonCsakEgyLehet);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var email in model.Email.Where(e => e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted))
|
||||
{
|
||||
if (!email.Tipus.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.ComboBoxId, AdminisztracioResource.EmailTipusKotelezo);
|
||||
}
|
||||
|
||||
if (email.IsPublic && email.Alapertelmezett)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, AdminisztracioResource.PublikusEmailNemLehetAlapertelmezett);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(email.EmailCim) || !email.EmailCim.IsValidEmail())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, ErrorResource.EMailCimFormatumaNemMegfelelo);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (email.EmailCim.Length > General.EmailMaximumKarakterekSzama)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, email.TextBoxId, ErrorResource.EmailMax0Karakter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var nemToroltEmailek = model.Email.Where(x => x.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Select(x => x.EmailCim_Input).ToList();
|
||||
if (nemToroltEmailek.Distinct().Count() != nemToroltEmailek.Count())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", ErrorResource.AMegadottEmailcimMarRogzitveVan);
|
||||
}
|
||||
var nemToroltTelefonszamok = model.Telefon.Where(x => x.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).Select(x => x.Telefonszam).ToList();
|
||||
if (nemToroltTelefonszamok.Distinct().Count() != nemToroltTelefonszamok.Count())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, "Error", ErrorResource.AMegadottTelefonszamMarRogzitveVan);
|
||||
}
|
||||
|
||||
foreach (var telefon in model.Telefon.Where(t => t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted))
|
||||
{
|
||||
if (!telefon.Tipus.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.ComboBoxId, AdminisztracioResource.TelefonTipusKotelezo);
|
||||
}
|
||||
|
||||
if (telefon.IsPublic && telefon.Alapertelmezett)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.TextBoxId, AdminisztracioResource.PublikusTelefonNemLehetAlapertelmezett);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(telefon.Telefonszam) || !telefon.Telefonszam.IsValidPhone())
|
||||
{
|
||||
AddErrorMessage(errorDictionary, telefon.TextBoxId, ErrorResource.ATelefonszamFormatumaNemMegfelelo);
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
private bool ValidateBankszamlaszamAdatok(BankszamlaCo model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
var errorText = BankszamlaLogic.KitoltottsegValidacio(model.BankszamlaSzam, model.BankszamlaTulajdonos, model.BankszamlaTulajdonosNeve);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(errorText))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.BankszamlaSzam), errorText);
|
||||
}
|
||||
else
|
||||
{
|
||||
// NOTE: Üres a bankszámlaszám = törölni akarjuk a meglevő adatokat
|
||||
if (string.IsNullOrWhiteSpace(model.BankszamlaSzam))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
errorText = BankszamlaLogic.CDVValidacio(model.BankszamlaSzam);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(errorText))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.BankszamlaSzam), errorText);
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
private void AddErrorMessage(Dictionary<string, List<string>> errorDictionary, string key, string message)
|
||||
{
|
||||
if (!errorDictionary.TryGetValue(key, out var messages))
|
||||
{
|
||||
messages = new List<string>();
|
||||
errorDictionary.Add(key, messages);
|
||||
}
|
||||
messages.Add(message);
|
||||
}
|
||||
|
||||
private bool ValidateEgyHaztartasbanElok(EgyhaztartasbanElokModel model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
foreach (var item in model.Sorok.Where(t => !t.isDeleted))
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(item.Nev))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Nev_{item.RowNumber}", string.Format(FelhasznalokResource.NevKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.AnyjaNev))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"AnyjaNev_{item.RowNumber}", string.Format(FelhasznalokResource.AnyjaNeveKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.SzuletesiHely))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiHely_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiHelyKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (!item.SzuletesiIdo.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiIdo_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiIdoKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (item.SzuletesiIdo.HasValue && (item.SzuletesiIdo < DateTime.Today.AddYears(-150) || item.SzuletesiIdo > DateTime.Today))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"SzuletesiIdo_{item.RowNumber}", string.Format(FelhasznalokResource.SzuletesiIdoNemValid, item.RowNumber));
|
||||
}
|
||||
|
||||
if (!item.RokonsagiFok.HasValue)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"RokonsagiFok_{item.RowNumber}", string.Format(FelhasznalokResource.RokonsagiFokKotelezo, item.RowNumber));
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Taj))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.Taj.Length != 9)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszam9Karakter, item.RowNumber));
|
||||
}
|
||||
else if (string.Equals(item.Taj, "000000000", StringComparison.Ordinal))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamCsupaNulla, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var tajszam = new int[9];
|
||||
for (var x = 0; x < tajszam.Length; x++)
|
||||
{
|
||||
tajszam[x] = Convert.ToInt32(item.Taj.Substring(x, 1));
|
||||
}
|
||||
|
||||
if ((((tajszam[1] + tajszam[3] + tajszam[5] + tajszam[7]) * 7) + ((tajszam[0] + tajszam[2] + tajszam[4] + tajszam[6]) * 3)) % 10 != tajszam[8])
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Taj_{item.RowNumber}", string.Format(FelhasznalokResource.TAJszamNemErvenyes, item.RowNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Telefon))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var match = new Regex(RegularExpressions.Telefon).Match(item.Telefon);
|
||||
if (!match.Success)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamHibas, item.RowNumber));
|
||||
}
|
||||
else if (!new PhoneAttribute().IsValid(item.Telefon))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Telefon_{item.RowNumber}", string.Format(FelhasznalokResource.TelefonszamHibas, item.RowNumber));
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimKotelezo, item.RowNumber));
|
||||
}
|
||||
else
|
||||
{
|
||||
var tempByteArray = Encoding.GetEncoding(EncodingName.ISO_8859_8).GetBytes(item.Email);
|
||||
var encodedString = Encoding.UTF8.GetString(tempByteArray);
|
||||
if (!encodedString.Equals(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimHibas, item.RowNumber));
|
||||
}
|
||||
else if (!new EmailAddressAttribute().IsValid(item.Email))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, $"Email_{item.RowNumber}", string.Format(FelhasznalokResource.EmailCimHibas, item.RowNumber));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class RendszerHibaErtesitesApiController : ApiController
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,740 @@
|
|||
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.Caching;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Logic.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Caching.DictionaryItemTables;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class SystemSettingsApiController : ApiController
|
||||
{
|
||||
public SortedList<int, SystemSettingGroup> GetSystemSettings()
|
||||
{
|
||||
|
||||
return new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettings(ClaimData.IsVegyes, ClaimData.FeladatKategoriak, ClaimData.IsSzirIntezmeny);
|
||||
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ResetSystemSettings()
|
||||
{
|
||||
bool result = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ResetSystemSettings(new List<int>() { (int)RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese });
|
||||
if (result)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveSystemSettings(Dictionary<RendszerBeallitasTipusEnum, dynamic> model)
|
||||
{
|
||||
try
|
||||
{
|
||||
ModelStateDictionary modelState = ValidateModel(model);
|
||||
|
||||
if (modelState.IsValid)
|
||||
{
|
||||
new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SetSystemSettings(model, ClaimData.KovTanevID);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(
|
||||
HttpStatusCode.InternalServerError,
|
||||
StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveGradeWeights(Dictionary<string, string> grades)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<ErtekelesModSulyCo> ertekelesModSulyCoList = grades.Select(grade => new ErtekelesModSulyCo
|
||||
{
|
||||
ErtekelesModId = int.Parse(grade.Key),
|
||||
Suly = int.Parse(grade.Value)
|
||||
}).ToList();
|
||||
|
||||
SessionConnectionType sessionConnetionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var adatszotarHelper = new AdatszotarHelper(sessionConnetionType);
|
||||
foreach (ErtekelesModSulyCo ertekelesModSulyCo in ertekelesModSulyCoList)
|
||||
{
|
||||
AdatszotarCO adatszotarCo = adatszotarHelper.GetAdatszotarElem(ertekelesModSulyCo.ErtekelesModId);
|
||||
adatszotarCo.Suly = ertekelesModSulyCo.Suly;
|
||||
adatszotarHelper.Update(adatszotarCo, ClaimData.KovTanevID);
|
||||
}
|
||||
|
||||
new TanuloErtekelesHelper(sessionConnetionType).UpdateTantargyAtlag();
|
||||
|
||||
KretaServer.KretaServer.Instance.CacheManager.AquireCache<TantargyiAtlagCache>().ClearTantargyiAtlagRegion(sessionConnetionType.IntezmenyAzonosito);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(439) /*Nem sikerült a művelet!*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTantargyfelosztas()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ClaimData.IsActivTanev)
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.FizikaiTorlesTantargyfelosztas();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new Exception(ErrorResource.NemEgyezikMegAzAktivTanevAKivalasztottTanevvel);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteImportaltTantargyfelosztas()
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteAllTargyFelosztas();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendek()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ClaimData.IsActivTanev)
|
||||
{
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.FizikaiTorlesOrarendek();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new Exception(ErrorResource.NemEgyezikMegAzAktivTanevAKivalasztottTanevvel);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public ErtekelesModSulyListModel GetGradeWeights()
|
||||
{
|
||||
List<ErtekelesModDictionaryItem> ertekelesModDictionaryItems = EnumExtensions.GetErtekelesModDictionaryItems(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
var model = new ErtekelesModSulyListModel { ErtekelesModSulyList = new List<ErtekelesModSulyModel>() };
|
||||
foreach (var ertekelesModDictionaryItem in ertekelesModDictionaryItems)
|
||||
{
|
||||
model.ErtekelesModSulyList.Add(new ErtekelesModSulyModel { ErtekelesModId = ertekelesModDictionaryItem.Id, ErtekelesModNev = ertekelesModDictionaryItem.Name, Suly = ertekelesModDictionaryItem.Suly, });
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage FejlecCheckBoxMentes(bool isMegjelenit)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyFejlecCheckBox(isMegjelenit);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage LablecCheckBoxMentes(bool isMegjelenit)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyLablecCheckBox(isMegjelenit);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ImageValidate([FromBody] string image)
|
||||
{
|
||||
switch (SystemSettingsLogic.ImageValidate(image))
|
||||
{
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AFajlKiterjeszteseVagyTipusaNemMegfelelo:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo);
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.HibaTortentXMBNalNemLehetNagyobbAFajlMerete:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete, SystemSettingsLogic.MaxFileSizeMB));
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AKepMagassagaMeghaladjaAMegengedettMeretet:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.AKepMagassagaMeghaladjaAMegengedettMeretet, SystemSettingsLogic.AllowedMaxHeight));
|
||||
case Enums.ManualEnums.SystemSettings.SystemSettingsFejlecLablecSzerkesztoHibakEnum.AzOsszesKepSzelessegeMeghaladjaAMegengedettMeretet:
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(ErrorResource.AzOsszesKepSzelessegeMeghaladjaAMegengedettMeretet, SystemSettingsLogic.AllowedMaxWidth));
|
||||
default:
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage FejlecMentes(FejlecLablecSzerkesztoModel model)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyFejlec(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage FejlecTorles()
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.DeleteIntezmenyFejlec();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public HttpResponseMessage LablecTorles()
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.DeleteIntezmenyLablec();
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage LablecMentes(FejlecLablecSzerkesztoModel model)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.SetIntezmenyLablec(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private ModelStateDictionary ValidateModel(Dictionary<RendszerBeallitasTipusEnum, dynamic> model)
|
||||
{
|
||||
ModelStateDictionary modelState = new ModelStateDictionary();
|
||||
|
||||
RendszerBeallitasTipusEnum beallitas;
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_szocialis_tanugyi_es_SNI_BTM_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4018) /*A funkció csak akkor engedélyezhető, ha az 'Osztályfőnök módosíthatja osztályába járó tanulók adatait' érték IGEN-re van állítva.*/);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_zaradekat;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4018) /*A funkció csak akkor engedélyezhető, ha az 'Osztályfőnök módosíthatja osztályába járó tanulók adatait' érték IGEN-re van állítva.*/);
|
||||
}
|
||||
}
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait] || !model[RendszerBeallitasTipusEnum.Tanulo_vallasi_adatainak_kezelese])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_kezelheti_az_osztalyaba_jaro_tanulok_vallasi_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FunkcioNemEngedelyezhetoAdatkezeleseiBeallitasokAlapjan);
|
||||
}
|
||||
}
|
||||
|
||||
if (!model[RendszerBeallitasTipusEnum.Osztalyfonok_modosithatja_osztalyaba_jaro_tanulok_adatait] || !model[RendszerBeallitasTipusEnum.Tanulo_sportoloi_adatainak_kezelese])
|
||||
{
|
||||
beallitas = RendszerBeallitasTipusEnum.Osztalyfonok_megtekintheti_modosithatja_osztalyaba_jaro_tanulok_sportoloi_adatait;
|
||||
if (model[beallitas])
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FunkcioNemEngedelyezhetoAdatkezeleseiBeallitasokAlapjan);
|
||||
}
|
||||
}
|
||||
|
||||
#region Az elektronikus napló megjelenésének kezdőidőpontja és záróidőpontja
|
||||
|
||||
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var ds = helper.GetCsengetesiOrakKezdVeg();
|
||||
|
||||
TimeSpan rendszerKezdes = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoUres);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TimeSpan.TryParse(model[beallitas], out rendszerKezdes) && rendszerKezdes.TotalMilliseconds >= 0)
|
||||
{
|
||||
var csengetesiKezdes = ds.Tables[0].Rows[0]["Kezd"].ToString();
|
||||
if (!string.IsNullOrWhiteSpace(csengetesiKezdes) && rendszerKezdes > TimeSpan.Parse(csengetesiKezdes))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4318) + TimeSpan.Parse(csengetesiKezdes) /*Az elektronikus napló megjelenésének kezdőidőpontja legkésőbb a legkorábbi csengetési rendi időpont kezdete lehet. Ennek értéke jelenleg: */);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoFormatum);
|
||||
}
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesZaroUres);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TimeSpan.TryParse(model[beallitas], out TimeSpan rendszerVege) && rendszerVege.TotalMilliseconds >= 0)
|
||||
{
|
||||
var csengetesiVege = ds.Tables[0].Rows[0]["Vege"].ToString();
|
||||
if (!string.IsNullOrWhiteSpace(csengetesiVege) && rendszerVege < TimeSpan.Parse(csengetesiVege))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), StringResourcesUtil.GetString(4319) + TimeSpan.Parse(csengetesiVege) /*Az elektronikus napló megjelenésének záróidőpontja legkorábban a legkésőbbi csengetési rendi időpont vége lehet. Ennek értéke jelenleg: */);
|
||||
}
|
||||
|
||||
if (rendszerKezdes > rendszerVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesKezdoKesobbi);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.ElektronikusNaploMegjelenesZaroFormatum);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Az elektronikus napló megjelenésének kezdőidőpontja és záróidőpontja
|
||||
|
||||
TimeSpan fogadoOraKezdo = default;
|
||||
TimeSpan fogadoOraZaro = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoUres);
|
||||
}
|
||||
else if (!TimeSpan.TryParse(model[beallitas], out fogadoOraKezdo))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraZaroUres);
|
||||
}
|
||||
else if (!TimeSpan.TryParse(model[beallitas], out fogadoOraZaro))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraZaroFormatum);
|
||||
}
|
||||
else if (fogadoOraKezdo > fogadoOraZaro)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.FogadoOraKezdoKesobbi);
|
||||
}
|
||||
|
||||
TimeSpan nemKotottKezdete = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesKezdoUres);
|
||||
}
|
||||
else if (!(TimeSpan.TryParse(model[beallitas], out nemKotottKezdete) && nemKotottKezdete.TotalMilliseconds >= 0))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesKezdoFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesZaroUres);
|
||||
}
|
||||
else if (!(TimeSpan.TryParse(model[beallitas], out TimeSpan nemKotottVege) && nemKotottVege.TotalMilliseconds >= 0))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoMegjelenesZaroFormatum);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nemKotottKezdete > nemKotottVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaIdoMegjelenesKezdoKesobbi);
|
||||
}
|
||||
|
||||
if (nemKotottKezdete == nemKotottVege)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.NemKotottMunkaidoKezdoZaroMegegyezik);
|
||||
}
|
||||
}
|
||||
|
||||
DateTime gyakorlatKezdeteDatum = default;
|
||||
DateTime gyakorlatVegDatum = default;
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteUres);
|
||||
}
|
||||
else if (!DateTime.TryParse(model[beallitas], out gyakorlatKezdeteDatum))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteFormatum);
|
||||
}
|
||||
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum;
|
||||
if (!model.ContainsKey(beallitas))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatVegeUres);
|
||||
}
|
||||
else if (!DateTime.TryParse(model[beallitas], out gyakorlatVegDatum))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatVegeFormatum);
|
||||
}
|
||||
else if (gyakorlatKezdeteDatum > gyakorlatVegDatum)
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), SystemSettingsResource.OsszefuggoSzakmaiGyakorlatKezdeteKesobbi);
|
||||
}
|
||||
|
||||
var (kezdoNap, utolsoNap) = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevElsoEsUtolsoNapja();
|
||||
beallitas = RendszerBeallitasTipusEnum.Naplozaras_eves_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.I_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.II_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.III_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.IV_Negyedeves_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Felevi_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertekeles_datumanak_minimuma;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_bukasra_allo_tanulokrol;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_bukasra_allo_vegzos_tanulokrol;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
beallitas = RendszerBeallitasTipusEnum.Ertesites_Tanev_rendi_valtoztatasrol_esetek;
|
||||
if (model.Keys.Contains(beallitas))
|
||||
{
|
||||
DatumEllenorzes(model[beallitas], kezdoNap, utolsoNap, modelState, beallitas);
|
||||
}
|
||||
|
||||
return modelState;
|
||||
}
|
||||
|
||||
private void DatumEllenorzes(string ertek, DateTime kezdoNap, DateTime utolsoNap, ModelStateDictionary modelState, RendszerBeallitasTipusEnum beallitas)
|
||||
{
|
||||
if (!(DateTime.TryParse(ertek, out DateTime naplozarasEvesDatum)))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), "Rossz dátum formátum");
|
||||
}
|
||||
else if ((naplozarasEvesDatum < kezdoNap) || (naplozarasEvesDatum > utolsoNap))
|
||||
{
|
||||
modelState.AddModelError(beallitas.ToString(), "A beállított dátumnak a tanév első és utolsó napja között kell lennie.");
|
||||
}
|
||||
}
|
||||
|
||||
#region Tanuló Értékelés Mondatbank
|
||||
|
||||
public DataSourceResult GetTanuloErtekelesMondatbankGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
|
||||
KretaGridDataSourceRequest request)
|
||||
{
|
||||
data = data.Replace("_", string.Empty);
|
||||
var model = JsonConvert.DeserializeObject<TanuloErtekelesMondatbankSearchModel>(data);
|
||||
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = Converter.GridParameter(request)
|
||||
};
|
||||
DataSet dataSet = helper.GetTanuloErtekelesMondatbankGrid(ConvertTanuloErtekelesMondatbankSearchModelToSearchCo(model));
|
||||
|
||||
return dataSet.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTanuloErtekelesMondatbankItem(TanuloErtekelesMondatbankItemModel model)
|
||||
{
|
||||
ModelState.Merge(model.Validate());
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.SaveTanuloErtekelesMondatbankItem(model.ToCo());
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTanuloErtekelesMondatbankItem([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteTanuloErtekelesMondatbankItems(new List<int> { id });
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteSelectedTanuloErtekelesMondatbankItems(List<int> idList)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var (counter, errorMsg) = helper.DeleteTanuloErtekelesMondatbankItems(idList);
|
||||
|
||||
if (counter == idList.Count)
|
||||
return Json(new { Message = errorMsg });
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult SaveSelectedTanuloErtekelesMondatbankItems(TanuloErtekelesMondatbankTobbesItemModel model)
|
||||
{
|
||||
ModelState.Merge(model.Validate());
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var (counter, errorMsg) = helper.ModifyTanuloErtekelesMondatbankItems(model.ToCo());
|
||||
|
||||
if (counter == model.SelectedIdList.Count)
|
||||
return Json(new { Message = errorMsg });
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
var a = string.Join(Environment.NewLine, ModelState.Values.Select(x => x.Errors.Select(y => y.ErrorMessage)).Select(z => string.Join(Environment.NewLine, z.ToArray())).ToArray());
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, a);
|
||||
}
|
||||
|
||||
private TanuloErtekelesMondatbankSearchCO ConvertTanuloErtekelesMondatbankSearchModelToSearchCo(TanuloErtekelesMondatbankSearchModel model)
|
||||
{
|
||||
return new TanuloErtekelesMondatbankSearchCO()
|
||||
{
|
||||
EvfolyamTipusIdList = model.EvfolyamTipusIdList,
|
||||
RovidNev = model.RovidNevS,
|
||||
Szoveg = model.SzovegS,
|
||||
TantargyIdList = model.TantargyIdList.Select(x => (tantargyId: x, tipusId: x != 0 ? TanuloErtekelesMondatbankHelper.GetTanuloErtekelesMondatbankTipusIdByTantargyId(x) : (int)ErtMondatbankTipusEnum.Tantargy)).ToList(),
|
||||
TanuloErtekelesTipusIdList = model.TanuloErtekelesTipusIdList,
|
||||
};
|
||||
}
|
||||
|
||||
#endregion Tanuló Értékelés Mondatbank
|
||||
|
||||
#region CsoportTipus
|
||||
|
||||
public List<CsoportTipusModel> GetCsoportTipusList()
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList();
|
||||
|
||||
return csoportTipusList.Select(ConvertCOToModel).ToList();
|
||||
}
|
||||
|
||||
public DataSourceResult GetCsoportTipusGridList([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList();
|
||||
return csoportTipusList.Select(ConvertCOToGridModel).ToList().ToDataSourceResult(request);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveCsoportTipusList(List<CsoportTipusModel> model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
List<CsoportTipusCO> csoportTipusList = model.Select(ConvertModelToCO).ToList();
|
||||
|
||||
new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveCsoportTipusList(csoportTipusList, ClaimData.KovTanevID);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
private CsoportTipusModel ConvertCOToModel(CsoportTipusCO csoportTipus)
|
||||
{
|
||||
return new CsoportTipusModel
|
||||
{
|
||||
Id = csoportTipus.Id,
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
private CsoportTipusGridModel ConvertCOToGridModel(CsoportTipusCO csoportTipus)
|
||||
{
|
||||
return new CsoportTipusGridModel
|
||||
{
|
||||
ID = csoportTipus.Id.ToString(),
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
private CsoportTipusCO ConvertModelToCO(CsoportTipusModel csoportTipus)
|
||||
{
|
||||
return new CsoportTipusCO
|
||||
{
|
||||
Id = csoportTipus.Id,
|
||||
Nev = csoportTipus.Nev,
|
||||
IsTanoraiCelu = csoportTipus.IsTanoraiCelu,
|
||||
IsProtected = csoportTipus.IsProtected,
|
||||
OraPerc = csoportTipus.OraPerc
|
||||
};
|
||||
}
|
||||
|
||||
#endregion CsoportTipus
|
||||
|
||||
#region JuttatasAdatok
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public void JuttatasAdatokUjraGeneralasa()
|
||||
{
|
||||
new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloSzakkepzesiJuttatasok();
|
||||
}
|
||||
|
||||
//[HttpPost]
|
||||
//[ApiValidateAjaxAntiForgeryToken]
|
||||
//public void FeleviAtlagokUjraGeneralasa()
|
||||
//{
|
||||
// new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloAtlag(AtlagTipusEnum.Felevi);
|
||||
//}
|
||||
|
||||
//[HttpPost]
|
||||
//[ApiValidateAjaxAntiForgeryToken]
|
||||
//public void EvvegiAtlagokUjraGeneralasa()
|
||||
//{
|
||||
// new SzakkepzesiJuttatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).UpdateOsszesTanuloAtlag(AtlagTipusEnum.Evvegi);
|
||||
//}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class AdatszotarController : Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// Default view visszaadás
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ActionResult Index()
|
||||
=> View(nameof(Index), new AdatszotarSearchModel());
|
||||
|
||||
/// <summary>
|
||||
/// Új adatszótár felviteli popup
|
||||
/// </summary>
|
||||
/// <param name="adatszotarTipus"></param>
|
||||
/// <returns></returns>
|
||||
public ActionResult OpenAdatszotarNewPopUp(int adatszotarTipusId)
|
||||
{
|
||||
if (Core.Constants.NemBovithetoAdatszotarTipusLista.Contains(adatszotarTipusId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.KivalasztottAdatszotarNemBovitheto);
|
||||
}
|
||||
|
||||
var tipusok = GetAdatszotarTipusList(false);
|
||||
|
||||
var model = new AdatszotarGridModel();
|
||||
model.AdatszotarTipusList = tipusok;
|
||||
model.AdatszotarTipusNev = ((GeneratedAdatszotarTipusEnum)adatszotarTipusId).ToString();
|
||||
model.AdatszotarTipusId = adatszotarTipusId;
|
||||
model.Sorszam = GetAdatszotarSorszam((GeneratedAdatszotarTipusEnum)adatszotarTipusId);
|
||||
model.ZaradekSzovegList = ZaradekSzovegModel.AdatszotarNyelvCoToZaradekSzovegModel();
|
||||
|
||||
if (adatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.ErtekelesMod)
|
||||
{
|
||||
model.Suly = ErtekelesModCo.DefaultSuly;
|
||||
}
|
||||
var pm = new PopUpModel(model, "Adatszotar_Bevitel");
|
||||
|
||||
|
||||
pm.AddCancelBtn(pm, "AdatszotarHelper.newCancel");
|
||||
pm.AddOkBtn(pm, "AdatszotarHelper.newSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár módosításkori popup
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public ActionResult OpenAdatszotarModPopUp(int id)
|
||||
{
|
||||
AdatszotarGridModel model = new AdatszotarApiController().GetAdatszotarElem(id);
|
||||
model.AdatszotarTipusList = GetAdatszotarTipusList();
|
||||
|
||||
var pm = new PopUpModel(model, "Adatszotar_Bevitel");
|
||||
|
||||
pm.AddCancelBtn(pm, "AdatszotarHelper.modifiedCancel");
|
||||
pm.AddOkBtn(pm, "AdatszotarHelper.modifiedSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adatszótár típus lista
|
||||
/// </summary>
|
||||
/// <param name="getDefaultValue"></param>
|
||||
/// <returns></returns>
|
||||
private List<SelectListItem> GetAdatszotarTipusList(bool getDefaultValue = true)
|
||||
{
|
||||
var tipusok = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEditableAdatszotarTipusok().OrderBy(x => x.megnevezes).ToList();
|
||||
|
||||
var sli = new List<SelectListItem>();
|
||||
|
||||
if (getDefaultValue)
|
||||
{
|
||||
sli.Add(new SelectListItem() { Value = "-1", Text = CommonResource.KeremValasszon });
|
||||
}
|
||||
|
||||
foreach ((int id, string megnevezes) in tipusok)
|
||||
{
|
||||
sli.Add(new SelectListItem() { Value = id.ToString(), Text = megnevezes });
|
||||
}
|
||||
|
||||
return sli;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Új adatszótár sorszám visszadása
|
||||
/// </summary>
|
||||
/// <param name="adatszotarTipus"></param>
|
||||
/// <returns></returns>
|
||||
private int? GetAdatszotarSorszam(GeneratedAdatszotarTipusEnum adatszotarTipus)
|
||||
{
|
||||
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
return helper.GetAdatszotarMaxSorszam(adatszotarTipus) + 1;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Runtime.Caching;
|
||||
using System.Text;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Controllers.Logic;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class AktivTanevValtasaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
=> View("Index", new AktivTanevValtasaApiController().GetAktivTanevValtasaModel());
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public ActionResult AktivTanevValtasa(int? kiNemSoroltTanulokOsztaly, int? alkalmazottakAlapertekekkel)
|
||||
{
|
||||
if (ClaimData.KovTanevID.HasValue && (!alkalmazottakAlapertekekkel.HasValue || alkalmazottakAlapertekekkel.Value == 0))
|
||||
{
|
||||
if ((!kiNemSoroltTanulokOsztaly.HasValue || kiNemSoroltTanulokOsztaly.Value == 0))
|
||||
{
|
||||
try
|
||||
{
|
||||
var cache = MemoryCache.Default;
|
||||
cache.Remove($"{ClaimData.IntezmenyAzonosito}_mobileIntezmenyAdatok");
|
||||
|
||||
new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).AktivTanevValtasa(ClaimData.SelectedTanevID.Value, ClaimData.KovTanevID.Value);
|
||||
|
||||
HttpContext.Items.Remove(nameof(UserContext));
|
||||
|
||||
new AdminHelper(ConnectionTypeExtensions.GetSystemConnectionType()).ElozoTanevesViewokTorlese(ClaimData.KovTanevID.Value);
|
||||
|
||||
MasterLayoutLogic.LogOut();
|
||||
|
||||
return new JsonResult()
|
||||
{
|
||||
Data = new
|
||||
{
|
||||
url = Url.Action("Index", "Login", new { area = "Adminisztracio" })
|
||||
}
|
||||
};
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new HttpStatusCodeResult(500);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(400);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(406);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public ActionResult AlkalmazottTorles(List<TanevValtasAlkalmazottTorlesGridModel> torlendoAlkalmazottak)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (var item in torlendoAlkalmazottak)
|
||||
{
|
||||
try
|
||||
{
|
||||
new AlkalmazottHelper(ConnectionTypeExtensions.GetNextSessionConnectionType()).DeleteAlkalmazott(item.AlkalmazottId.Value);
|
||||
}
|
||||
catch
|
||||
{
|
||||
sb.AppendFormat(AdminisztracioResource.AlkalmazottTorlesNemSikerult, item.AlkalmazottNev);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
sb.Append(AdminisztracioResource.FolytatjaTanevValtast);
|
||||
throw new StatusError(500, sb.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
return new JsonResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,491 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Configuration;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
public class BelepesKezeloController : Controller
|
||||
{
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> EUgyinteztesPermissions = new List<SzerepkorTipusEnum>
|
||||
{
|
||||
SzerepkorTipusEnum.eUgyintezo,
|
||||
SzerepkorTipusEnum.Alairo,
|
||||
SzerepkorTipusEnum.Penztaros,
|
||||
SzerepkorTipusEnum.PenzugyiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiEllenorzo,
|
||||
SzerepkorTipusEnum.TeremberletJelenletEllenorzo,
|
||||
SzerepkorTipusEnum.alkalmazott,
|
||||
SzerepkorTipusEnum.BelepokartyaAdmin
|
||||
};
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> DKTPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.Naplo, SzerepkorTipusEnum.Ellenorzo, };
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> ESLPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.FokuszMonitoring, };
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> FokuszPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.Naplo, SzerepkorTipusEnum.FokuszMonitoring, };
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> LeltarPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.LeltarConcerned, };
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> eJelentkezesPermissions = new List<SzerepkorTipusEnum> { SzerepkorTipusEnum.Adminisztrator, };
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> Permissions = new List<SzerepkorTipusEnum>
|
||||
{
|
||||
SzerepkorTipusEnum.eUgyintezo,
|
||||
SzerepkorTipusEnum.Alairo,
|
||||
SzerepkorTipusEnum.Penztaros,
|
||||
SzerepkorTipusEnum.PenzugyiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiEllenorzo,
|
||||
SzerepkorTipusEnum.TeremberletJelenletEllenorzo,
|
||||
SzerepkorTipusEnum.FokuszMonitoring,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiKoordinator,
|
||||
SzerepkorTipusEnum.Vedono,
|
||||
SzerepkorTipusEnum.Iskolaorvos,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiAsszisztens,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiLekerdezo,
|
||||
SzerepkorTipusEnum.BelepokartyaAdmin,
|
||||
SzerepkorTipusEnum.LeltarConcerned,
|
||||
SzerepkorTipusEnum.Konyvtaros,
|
||||
SzerepkorTipusEnum.FELTAR_EsetKezelo,
|
||||
SzerepkorTipusEnum.FELTAR_EszkozMenedzser,
|
||||
SzerepkorTipusEnum.KerdoivKitolto_KerdoivKezelo,
|
||||
SzerepkorTipusEnum.FELTAR_EsetJovahagyo,
|
||||
SzerepkorTipusEnum.FELTAR_EsetKozremukodo,
|
||||
SzerepkorTipusEnum.FELTAR_Munkavegzo,
|
||||
SzerepkorTipusEnum.FELTAR_SzerzodesMenedzser
|
||||
};
|
||||
|
||||
private IIdpConfiguration IdpConfiguration { get; }
|
||||
|
||||
public BelepesKezeloController(IIdpConfiguration idpConfiguration)
|
||||
{
|
||||
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var felhasznaloSzerepkorok = ClaimData.FelhasznaloSzerepkorok;
|
||||
// NOTE: Ha a felhasználó szerepkörök között szerepel kréta adminisztrátor és amellett szervezethez köthető szerepkör(pl.: duális adminisztrátor),
|
||||
// akkor azokat nem kell megjeleníteni, mert azok részei az intézményi kréta admin felületének/menüjének, ezért az ilyen szerepköröket kivesszük a listából.
|
||||
if (felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator) && felhasznaloSzerepkorok.Any(x => FelhasznaloHelper.SzervezetiPermissions.Contains(x.Key)))
|
||||
{
|
||||
foreach (var szerepkorTipusEnum in FelhasznaloHelper.SzervezetiPermissions)
|
||||
{
|
||||
felhasznaloSzerepkorok.Remove(szerepkorTipusEnum);
|
||||
}
|
||||
}
|
||||
|
||||
var allowedRoles = GetAllowedRoles(felhasznaloSzerepkorok);
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(allowedRoles.Any() ? allowedRoles.Select(x => x.Key).ToList() : felhasznaloSzerepkorok.Keys.Any() ? felhasznaloSzerepkorok.Select(x => x.Key).ToList() : new List<SzerepkorTipusEnum>(), GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
|
||||
if (ClaimData.JustLEPOrganization && !ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator))
|
||||
{
|
||||
var lepEloadasJegyzekHelper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hasLepAccess = lepEloadasJegyzekHelper.HasLEPAccess(ClaimData.FelhasznaloId);
|
||||
|
||||
if (!hasLepAccess)
|
||||
{
|
||||
return Redirect(Url.Content(@"~/HibaOldal/IndexLEPNincsJog"));
|
||||
}
|
||||
|
||||
return Redirect(Url.Content(@"~/LEPModul/EloadasokKezelese"));
|
||||
}
|
||||
|
||||
// NOTE: Ha a belépett felhasználó szervezethez köthető alkalmazott(pl.: duális oktató), akkor semmi más ne jelenjen meg csak a szervezethez köthető elemek.
|
||||
var isAlkalmazottSzervezeti = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsAlkalmazottSzervezeti(ClaimData.FelhasznaloId);
|
||||
if (isAlkalmazottSzervezeti)
|
||||
{
|
||||
if (allowedRoles.Count == 1)
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles, false, false, false, false, false, false, false));
|
||||
}
|
||||
|
||||
var isDktAktiv = IsDktAktiv(felhasznaloSzerepkorok);
|
||||
var isEugyAktiv = IsEugyAktiv(felhasznaloSzerepkorok);
|
||||
var isEslAktiv = IsESLAktiv(felhasznaloSzerepkorok);
|
||||
var isFokuszAktiv = IsFokuszAktiv(felhasznaloSzerepkorok);
|
||||
var isLeltarAktiv = IsLeltarAktiv(felhasznaloSzerepkorok);
|
||||
var isKonyvtarAktiv = IsKonyvtarModulAktiv();
|
||||
var isEJelentkezesAktiv = IsEJelentkezesAktiv(felhasznaloSzerepkorok);
|
||||
|
||||
if (allowedRoles.Any())
|
||||
{
|
||||
if (allowedRoles.Count == 1 && !isDktAktiv && !isEugyAktiv && !isEslAktiv && !isFokuszAktiv && !isLeltarAktiv && !isKonyvtarAktiv && !isEJelentkezesAktiv)
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles, isDktAktiv, isEugyAktiv, isEslAktiv, isFokuszAktiv, isLeltarAktiv, isKonyvtarAktiv, isEJelentkezesAktiv));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.Count >= 2 && felhasznaloSzerepkorok.Keys.Any(x => Permissions.Contains(x)))
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => EUgyinteztesPermissions.Contains(x)))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => x == SzerepkorTipusEnum.FokuszMonitoring))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => x == SzerepkorTipusEnum.LeltarConcerned))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles, isDktAktiv, isEugyAktiv, isEslAktiv, isFokuszAktiv, isLeltarAktiv, isKonyvtarAktiv, isEJelentkezesAktiv));
|
||||
}
|
||||
|
||||
public ActionResult ChangeRole(SzerepkorTipusEnum role)
|
||||
{
|
||||
var felhasznaloSzerepkorok = ClaimData.FelhasznaloSzerepkorok;
|
||||
if (felhasznaloSzerepkorok.ContainsKey(role))
|
||||
{
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
var isPedagogiaiSzakszolgalat = role == SzerepkorTipusEnum.Adminisztrator && new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMukodesiHelyekForFelhelyValaszto().Any(x => x.FelhelyId.IsEntityId());
|
||||
return Json(new { Url = Url.Content(isPedagogiaiSzakszolgalat ? Constants.General.FelHelyValasztoPage : CommonExtensions.GetDefaultPage()), Success = true });
|
||||
}
|
||||
|
||||
return Json(new { Success = false });
|
||||
}
|
||||
|
||||
public ActionResult Eugyintezes()
|
||||
{
|
||||
if (IsEugyAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult DKTTanar()
|
||||
{
|
||||
if (IsDktAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyData = helper.GetIntezmenyiAdatok();
|
||||
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyData.DKTTanarUrl, IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult DKTDiak()
|
||||
{
|
||||
if (IsDktAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyData = helper.GetIntezmenyiAdatok();
|
||||
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyData.DKTDiakUrl, IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult ESL()
|
||||
{
|
||||
if (IsESLAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult Fokusz()
|
||||
{
|
||||
if (IsFokuszAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Fokusz, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult Leltar()
|
||||
{
|
||||
if (IsLeltarAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult Konyvtar()
|
||||
{
|
||||
if (IsKonyvtarModulAktiv())
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ActionResult EJelentkezes()
|
||||
{
|
||||
if (IsEJelentkezesAktiv(ClaimData.FelhasznaloSzerepkorok))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.eJelentkezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private BelepesKezeloModel ModelBuilder(List<KeyValuePair<SzerepkorTipusEnum, string>> allowedRoles, bool isDktAktiv, bool isEugyAktiv, bool isEslAktiv, bool isFokuszAktiv, bool isLeltarAktiv, bool isKonyvtarAktiv, bool isEJelentkezesAktiv)
|
||||
{
|
||||
var model = new BelepesKezeloModel();
|
||||
var shortname = ClaimData.OrganizationShortName;
|
||||
model.OrganizationName = ClaimData.OrganizationCode + " - " + (string.IsNullOrWhiteSpace(shortname) ? ClaimData.OrganizationName : shortname);
|
||||
model.UserName = $"{ClaimData.FelhasznaloNev} {(!string.IsNullOrWhiteSpace(ClaimData.GondviseloNeve) ? "(" + ClaimData.GondviseloNeve + ")" : "")}";
|
||||
model.ProfilImgSrc = ProfileUtils.UserProfileImage;
|
||||
|
||||
foreach (var item in allowedRoles)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = item.Value, Szerepkor = item.Key, Tipus = BelepesKezeloModel.LehetosegTipus.Kreta });
|
||||
}
|
||||
|
||||
if (isDktAktiv)
|
||||
{
|
||||
var naplo = false;
|
||||
var ellenorzo = false;
|
||||
foreach (var role in allowedRoles)
|
||||
{
|
||||
if (role.Key == SzerepkorTipusEnum.Naplo)
|
||||
{
|
||||
naplo = true;
|
||||
}
|
||||
|
||||
if (role.Key == SzerepkorTipusEnum.Ellenorzo)
|
||||
{
|
||||
ellenorzo = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (naplo)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "Digitális Kollaborációs Tér" + (ellenorzo ? " (Tanár)" : ""), Szerepkor = SzerepkorTipusEnum.Naplo, Tipus = BelepesKezeloModel.LehetosegTipus.DKT });
|
||||
}
|
||||
|
||||
if (ellenorzo)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "Digitális Kollaborációs Tér" + (naplo ? " (Diák)" : ""), Szerepkor = SzerepkorTipusEnum.Ellenorzo, Tipus = BelepesKezeloModel.LehetosegTipus.DKT });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isEugyAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "e-Ügyintézés", Tipus = BelepesKezeloModel.LehetosegTipus.Eugy });
|
||||
}
|
||||
|
||||
if (isEslAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "ESL", Tipus = BelepesKezeloModel.LehetosegTipus.ESL });
|
||||
}
|
||||
|
||||
if (isFokuszAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "Fókusz", Tipus = BelepesKezeloModel.LehetosegTipus.Fokusz });
|
||||
}
|
||||
|
||||
if (isLeltarAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "KRÉTA Leltár", Tipus = BelepesKezeloModel.LehetosegTipus.Leltar });
|
||||
}
|
||||
|
||||
if (isKonyvtarAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "Könyvtár modul", Tipus = BelepesKezeloModel.LehetosegTipus.Konyvtar });
|
||||
}
|
||||
|
||||
if (isEJelentkezesAktiv)
|
||||
{
|
||||
model.Lehetosegek.Add(new BelepesKezeloModel.BelepesiLehetoseg { Name = "e-Jelentkezés", Tipus = BelepesKezeloModel.LehetosegTipus.EJelentkezes });
|
||||
}
|
||||
|
||||
model.CancelLinkText = StringResourcesUtil.GetString(2582); /* Kijelentkezés */
|
||||
model.CancelLinkAction = "BelepesKezelo.logout()";
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private bool IsDktAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => DKTPermissions.Contains(x)) && !ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (helper.GetIntezmenyiAdatok().IsDKTAktiv)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsEugyAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
if (helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
return !new GondviseloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsCsokkentettGondviselo(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => EUgyinteztesPermissions.Contains(x)) || felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator))
|
||||
{
|
||||
if (ClaimData.IsDefaultAdminUser || ClaimData.BelepesiNev.ToUpper() == Constants.General.KretaTechnicalUserNev.ToUpper())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsESLAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
var fHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var felhasznaloiJogosultsagok = fHelper.GetFelhasznaloiJogosultsagok(ClaimData.FelhasznaloId, (int)SzerepkorTipusEnum.Naplo);
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => ESLPermissions.Contains(x)) || felhasznaloiJogosultsagok.Contains("Osztalyfonok") || felhasznaloiJogosultsagok.Contains("SzuperOsztalyfonok"))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
if (helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
if (felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Ellenorzo) || ClaimData.IsDefaultAdminUser)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsFokuszAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => FokuszPermissions.Contains(x)))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
if (helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Fokusz, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
if (felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Ellenorzo) || ClaimData.IsDefaultAdminUser || ClaimData.IsPortas)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsLeltarAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => LeltarPermissions.Contains(x)))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
if (helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsKonyvtarModulAktiv()
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
if (!ClaimData.GondviseloId.HasValue && helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsEJelentkezesAktiv(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
{
|
||||
if (felhasznaloSzerepkorok.Keys.Any(x => eJelentkezesPermissions.Contains(x)))
|
||||
{
|
||||
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
if (helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.eJelentkezes, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
if (felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator) && !ClaimData.IsDefaultAdminUser)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private List<KeyValuePair<SzerepkorTipusEnum, string>> GetAllowedRoles(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
=> felhasznaloSzerepkorok.Where(x => !Constants.General.NotVisiblePermissions.Contains(x.Key)).ToList();
|
||||
|
||||
private List<SzerepkorTipusEnum> GetEugyintezesESLPermissions(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
=> Permissions.Where(x => felhasznaloSzerepkorok.Keys.Any(y => y == x)).ToList();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.DiakolimpiaKezelo.ClaimValue)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class DiakolimpiaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new DiakolimpiaSearchModel();
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult GetFeladhelySorszamPopUp(List<int> tanulok)
|
||||
{
|
||||
PopUpModel pm = new PopUpModel(new DataForMdszModel { Tanulok = tanulok }, "GetFeladhelySorszamPopUp");
|
||||
pm = pm.AddCancelBtn(pm, "KretaWindowHelper.destroyAllWindow");
|
||||
pm = pm.AddBtn(pm, "Kuldes", CommonResource.Kuldes, "DiakolimpiaHelper.sendSelectedData");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Elearning.Nexius;
|
||||
using Kreta.Framework;
|
||||
using Kreta.KretaServer.Caching;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
using Nexius.IdentityProvider.Model.External.V1;
|
||||
using Nexius.IdentityProvider.Model.Lti;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class ELearningController : Controller
|
||||
{
|
||||
readonly INexiusCourseService nexiusCourseService;
|
||||
|
||||
public ELearningController(INexiusCourseService nexiusCourseService)
|
||||
{
|
||||
this.nexiusCourseService = nexiusCourseService;
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var cache = SDAServer.Instance.CacheManager.AquireCache<ElearningCache>();
|
||||
var model = new List<NexiusListItemModel>();
|
||||
|
||||
var isGondviselo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId != null;
|
||||
var isTanulo = ClaimData.IsTanuloOrGondviselo && ClaimData.GondviseloId == null;
|
||||
var courseIdList = new ElearningElerhetosegHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetElearningElerhetosegList(isGondviselo, isTanulo, (int)ClaimData.FelhasznaloSzerepkor, ClaimData.FelhasznaloSzerepCsomagok, ClaimData.GondviseloId);
|
||||
|
||||
var courses = cache.GetCourses(courseIdList, nexiusCourseService);
|
||||
|
||||
var courseResults = nexiusCourseService.GetUserCourseResults(GetFelhasznaloAzonosito());
|
||||
|
||||
CourseResult courseResult;
|
||||
NexiusListItemModel listItem;
|
||||
foreach (var course in courses)
|
||||
{
|
||||
listItem = new NexiusListItemModel() { Course = course.Value };
|
||||
|
||||
courseResult = courseResults.FirstOrDefault(x => x.Activities.CourseObjectId == course.Value.CourseObject.Id);
|
||||
if (courseResult != null)
|
||||
{
|
||||
listItem.CourseResult = courseResult;
|
||||
}
|
||||
else
|
||||
{
|
||||
listItem.CourseResult = new CourseResult();
|
||||
listItem.CourseResult.Activities = new LtiCourseResultModel();
|
||||
listItem.CourseResult.Activities.Progress = 0;
|
||||
listItem.CourseResult.Activities.Measure = 0;
|
||||
listItem.CourseResult.Activities.ResultEndTime = DateTime.MaxValue;
|
||||
listItem.CourseResult.Activities.TotalTime = 0;
|
||||
}
|
||||
|
||||
model.Add(listItem);
|
||||
}
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
private string GetFelhasznaloAzonosito()
|
||||
{
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
return new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviseloEgyediAzonosito(ClaimData.GondviseloId.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.ReCaptcha;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class ElfelejtettJelszoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View(new ElfelejtettJelszoModel());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult LinkKuldes(ElfelejtettJelszoModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
Response.StatusCode = 400;
|
||||
Response.TrySkipIisCustomErrors = true;
|
||||
|
||||
var modelErrors = ModelState.AllErrors();
|
||||
return Json(modelErrors);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var captcha = ReCaptchaValidator.Validate(model.ReCaptcha);
|
||||
if (!captcha.Success)
|
||||
{
|
||||
return Json(new IsSuccessResponseCo(false, string.Join(",", captcha.ErrorCodes)));
|
||||
}
|
||||
|
||||
new JelszoModositasLinkHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).JelszoValtoztatoLinkGeneralasEsKuldes(model.BejelentkezesiNev, model.EmailCim);
|
||||
}
|
||||
catch (KretaJelszoModositasException e)
|
||||
{
|
||||
return Json(new IsSuccessResponseCo(false, e.Message));
|
||||
}
|
||||
|
||||
return Json(new IsSuccessResponseCo(true, AdminisztracioResource.SikeresElfelejtettJelszoFeedback));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class EmailKezelesController : Controller
|
||||
{
|
||||
public ActionResult Index(string data)
|
||||
{
|
||||
return View("Index", (object)data);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
public class FelHelyValasztoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new FelHelyValasztoModel();
|
||||
MukodesiHelyHelper helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var list = helper.GetMukodesiHelyekForFelhelyValaszto();
|
||||
foreach (var item in list)
|
||||
{
|
||||
model.FelhelyList.Add(new SelectListItem
|
||||
{
|
||||
Text = item.MukodesiHelyNev + (string.IsNullOrWhiteSpace(item.FelhelyNev) ? "" : " - " + item.FelhelyNev),
|
||||
Value = string.Format("{0}_{1}", item.MukodesiHelyID.ToString(), item.FelhelyId.ToString())
|
||||
});
|
||||
}
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult SetFelHelyToClaim(string mukodesifelhelyId)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(mukodesifelhelyId))
|
||||
{
|
||||
int felhelyId;
|
||||
if (int.TryParse(mukodesifelhelyId.Split('_')[1], out felhelyId) && felhelyId > 0)
|
||||
{
|
||||
ClaimManager.AddClaim(KretaClaimTypes.FelhelySzuro, felhelyId.ToString());
|
||||
}
|
||||
|
||||
return Json(new { Url = Url.Content(CommonExtensions.GetDefaultPage()), Success = true });
|
||||
}
|
||||
|
||||
return Json(new { Success = false });
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Areas.Alkalmazott.Helpers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.IsFeltarAlkalmazott.ClaimValue)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class FeltarAlkalmazottController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var feltarAlkalmazottModel = new FeltarAlkalmazottModel();
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new TanarHelper(connectionType);
|
||||
|
||||
var tanarAdatCO = helper.GetTanarAdatok(ClaimData.FelhasznaloId);
|
||||
feltarAlkalmazottModel.AltalanosSzerzodesiFeltetelekLetoltese = new FeltarAlkalmazottHelper(connectionType).FeltarASZFUrl();
|
||||
feltarAlkalmazottModel.IsAlkalmazottMunkakorTipusJogosult = new AlkalmazottMunkaugyiAdatokHelper(connectionType).HasAlkalmazottAlkalmazottMunkaKorTipus();
|
||||
feltarAlkalmazottModel.IsRendelkezikOktatasiAzonosotioval = !string.IsNullOrWhiteSpace(tanarAdatCO.OktatasiAzonosito);
|
||||
|
||||
if (feltarAlkalmazottModel.IsAlkalmazottMunkakorTipusJogosult && feltarAlkalmazottModel.IsRendelkezikOktatasiAzonosotioval)
|
||||
{
|
||||
feltarAlkalmazottModel.AlapadatModel = AlkalmazottViewHelper.ConvertCOToAlapadatModel(tanarAdatCO);
|
||||
}
|
||||
|
||||
return View(feltarAlkalmazottModel);
|
||||
}
|
||||
|
||||
public ActionResult Atjelentkezes()
|
||||
{
|
||||
return Redirect(new EszkozIgenylesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).EszkozUgyintezesUrl());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.IsFeltarGondviselo.ClaimValue)]
|
||||
public class FeltarGondviseloController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var gondviseloHelper = new GondviseloHelper(connectionType);
|
||||
var feltarGondviseloHelper = new FeltarGondviseloHelper(connectionType);
|
||||
var tanuloHelper = new TanuloHelper(connectionType);
|
||||
|
||||
var co = gondviseloHelper.GetGondviselo4TAdatok(ClaimData.GondviseloId.Value);
|
||||
var feltarGondviseloModel = new FeltarGondviseloModel(co)
|
||||
{
|
||||
AltalanosSzerzodesiFeltetelekLetoltese = feltarGondviseloHelper.FeltarASZFGondviseloUrl(),
|
||||
IsTorvenyesKepviselo = !gondviseloHelper.IsCsokkentettGondviselo(ClaimData.GondviseloId.Value) && tanuloHelper.GetTanuloGondviseloById(ClaimData.GondviseloId.Value).IsTorvenyesKepviselo
|
||||
};
|
||||
|
||||
var osztalyId = feltarGondviseloHelper.GetTanuloOsztalyaEszkozigenyles(ClaimData.FelhasznaloId);
|
||||
if (osztalyId.HasValue)
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(connectionType);
|
||||
var kepzesiForma = osztalyCsoportHelper.GetOsztalyKepzesiFormajaByOsztalyId(osztalyId.Value);
|
||||
var tantervJellegId = new TanuloHelper(connectionType).GetTanuloiAdatok(ClaimData.FelhasznaloId, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater, osztalyId, (int)OktNevelesiKategoriaEnum.NevelesOktatas).TanterviJellegId;
|
||||
feltarGondviseloModel.IsNappaliRendszeruIskolaiOktatas =
|
||||
(ClaimData.IsSzakkepzoIntezmeny && (tantervJellegId == (int)TanterviJellegEnum.nappali_rendszeru_iskolai_oktatas))
|
||||
|| (!ClaimData.IsSzakkepzoIntezmeny && (kepzesiForma == (int)TanterviJellegEnum.nappali_rendszeru_iskolai_oktatas));
|
||||
}
|
||||
|
||||
if (!ClaimData.FeltarGondviseloEnabled)
|
||||
{
|
||||
feltarGondviseloModel.IsEditable = false;
|
||||
}
|
||||
|
||||
return View(feltarGondviseloModel);
|
||||
}
|
||||
|
||||
public ActionResult Atjelentkezes()
|
||||
{
|
||||
return Redirect(new EszkozIgenylesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).EszkozUgyintezesUrl());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.Gondviselo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.IsFeltarTanulo.ClaimValue)]
|
||||
public class FeltarTanuloController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.ReCaptcha;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
[MvcCsokkentettGondviseloAccess]
|
||||
public class GondviseloJelszoIgenyloController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View(new GondviseloJelszoIgenyloModel
|
||||
{
|
||||
FormSettings = new List<string>() {
|
||||
CimElerhetosegConstant.CimSectionVisible,
|
||||
CimElerhetosegConstant.EmailSectionVisible,
|
||||
CimElerhetosegConstant.IsNew,
|
||||
CimElerhetosegConstant.AllandoLakcimCimTipus
|
||||
},
|
||||
TanulovalEgyezik = false,
|
||||
IsGondviseloJelszoIgenylo = true,
|
||||
CimTipus = (int)CimTipusEnum.allando_lakcim,
|
||||
ComboBoxApiControllerName = Constants.ApiControllers.GondviseloJelszoIgenyloApi,
|
||||
EmailcimKotelezo = true
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult GondviseloJelszoIgenyles(GondviseloJelszoIgenyloModel model)
|
||||
{
|
||||
if (!model.AdatvedelmiTajekozatatoCheck)
|
||||
{
|
||||
ModelState.AddModelError("AdatvedelmiTajekozatatoCheck", ErrorResource.AdatvedelmiElfogadasHibaUzenet);
|
||||
}
|
||||
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
Response.StatusCode = 400;
|
||||
Response.TrySkipIisCustomErrors = true;
|
||||
|
||||
var modelErrors = ModelState.AllErrors();
|
||||
return Json(modelErrors);
|
||||
}
|
||||
|
||||
var captcha = ReCaptchaValidator.Validate(model.ReCaptcha);
|
||||
|
||||
if (!captcha.Success)
|
||||
{
|
||||
return Json(new IsSuccessResponseCo(false, string.Join(",", captcha.ErrorCodes)));
|
||||
}
|
||||
|
||||
using (var loginManager = new LoginManager())
|
||||
{
|
||||
var result = loginManager.GondviseloJelszoIgenyles(model.ConvertToCo());
|
||||
return Json(result);
|
||||
}
|
||||
}
|
||||
|
||||
public string PdfLetoltes(GondviseloJelszoIgenyloModel model)
|
||||
{
|
||||
return NyomtatvanyokLogic.GetFileLetoltesUrlGondviseo(model.ConvertToCo(), CommonUtils.GetAktualisTanevId(ClaimData.FelhasznaloId));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,489 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HelyettesitesekKezeleseController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new HelyettesitesekKezeleseModel();
|
||||
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = helper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
|
||||
|
||||
var calendarMinMaxCo = helper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = calendarMinMaxCo.CalendarMin;
|
||||
model.CalendarMaxTime = calendarMinMaxCo.CalendarMax;
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
model.TanarId = 0; //Ne jelenjen meg semmi sem a calendarban
|
||||
model.TabList = GetHelyettesitesekKezeleseTabs();
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetHelyettesitesekKezeleseTabs(CalendarModel calendarModel = null)
|
||||
{
|
||||
var list = new List<TabStripItemModel>
|
||||
{
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = StringResourcesUtil.GetString(4260) /*Tanórai helyettesítések*/,
|
||||
Area = "Adminisztracio",
|
||||
Controller = "HelyettesitesekKezelese",
|
||||
Action = "GetTanoraiHelyettesitesek",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{"index", "0"}
|
||||
}
|
||||
},
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = StringResourcesUtil.GetString(4261) /*Napirend helyettesítések*/,
|
||||
Area = "Adminisztracio",
|
||||
Controller = "HelyettesitesekKezelese",
|
||||
Action = "GetTanoranKivuliHelyettesitesek",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{"index", "1"}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult GetTanoraiHelyettesitesek(int index = 0)
|
||||
{
|
||||
var model = new HelyettesitesekKezeleseOrarendModel
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("TanoraiHelyettesitesek_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliHelyettesitesek(int index = 1)
|
||||
{
|
||||
var model = new HelyettesitesekKezeleseOrarendModel
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("TanoranKivuliHelyettesitesek_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult OpenHelyettesitesPopUp(CalendarModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
var felhasznalokOnlyAlkalmazottSzerepkorIds = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFelhasznaloIdsOnlyAlkalmazottSzerepkor();
|
||||
|
||||
PopUpModel popUpModel;
|
||||
if (model.OraType == CalendarOraTypeEnum.TanitasiOra || model.OraType == CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
|
||||
{
|
||||
var nemMegtartottHelyettesitesBevitelModel = new NemMegtartottHelyettesitesBevitelModel
|
||||
{
|
||||
HelyettesitesBevitelCalendarEventId = model.EventId,
|
||||
HelyettesitesBevitelOraKezdeteDate = model.Start,
|
||||
HelyettesitesBevitelOraVegeDate = model.End
|
||||
};
|
||||
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var tanoraCo = helper.GetTanorakAdatok(model.EventId);
|
||||
if (!tanoraCo.AdminAltalKiirt)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
popUpModel = new PopUpModel(nemMegtartottHelyettesitesBevitelModel, "ElmaradtOra_Info");
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelCancel", CommonResource.Megse, "HelyettesitesBevitelHelper.ElmaradtOraCancel");
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelNemMegtartottHelyettesites", CommonResource.Torles, "HelyettesitesBevitelHelper.NemMegtartottOraTorlese");
|
||||
ModelState.Clear();
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
//NOTE: Ahhoz, hogy az oldal gyorsan töltődjön be, egyszer szedjük le a szűrési feltételhez kapcsolatos co-kat és azokon végezzük el a szűréseket mind a 10 listához!
|
||||
var orarendiOra = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.EventId);
|
||||
var oraDatum = model.Start.Date;
|
||||
|
||||
var startDate = new DateTime(model.Start.Date.Year, model.Start.Date.Month, model.Start.Date.Day, orarendiOra.OraKezdete.Hour, orarendiOra.OraKezdete.Minute, orarendiOra.OraKezdete.Second);
|
||||
var endDate = new DateTime(model.Start.Date.Year, model.Start.Date.Month, model.Start.Date.Day, orarendiOra.OraVege.Hour, orarendiOra.OraVege.Minute, orarendiOra.OraVege.Second);
|
||||
|
||||
var nemkotottMunkaido = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNemKotottMunkaIdoHelyettesiteshez(startDate, endDate);
|
||||
|
||||
|
||||
//NOTE: 00. - MINDEN SZŰRÉSRE ÉRVÉNYES
|
||||
// A helyettesítés napján jogviszonnyal rendelkező alkalmazottak
|
||||
// A helyettesítés napján nem tartósan távol levő alkalmazottak
|
||||
// A helyettesítés napján nem betöltetlen álláshelyű alkalmazottak
|
||||
// A tanár nem helyettesítheti a saját óráját
|
||||
var alkalmazottCoList = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottCoList()
|
||||
.Where(x => (!x.AlkalmazasKezdeteDate.HasValue || x.AlkalmazasKezdeteDate <= oraDatum) &&
|
||||
(!x.AlkalmazasMegszuneseDate.HasValue || oraDatum <= x.AlkalmazasMegszuneseDate) &&
|
||||
!x.IsTartosanTavolLevo &&
|
||||
!x.IsBetoltetlenAllashely &&
|
||||
x.Id != orarendiOra.TanarId).OrderBy(x => x.FelhasznaloNyomtatasiNev).ToList();
|
||||
var tanarCoList = alkalmazottCoList.Where(z => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(z.Id)).ToList();
|
||||
|
||||
//NOTE: Előszedjük a vizsgálatokhoz, minden erre az időpontra(napirendnél nem vesszük figyelembe az óra sorszámát, mert nincs) felvett órarendi órát és tanítási órat a hozzájuk tartozó helyettesítésekkel a sp_GetOrarend tárolteljárást használva!
|
||||
// Ha órarendi óra, akkor meg kell vizsgálnunk, hogy...
|
||||
// ...nem egyezik-e meg a kiválasztott órával.
|
||||
// ...beleesik-e az érvényességi időbe a kiválasztott óra.
|
||||
// Ha tanítási óra, akkor meg kell vizsgálnunk, hogy...
|
||||
// ...meg lett-e tarva.
|
||||
var orarendiEsTanitasiOraList = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiEsTanitasiOrakByDays(model.Start, model.End, OrarendTipusEnum.Minden)
|
||||
.Where(x => ((x.OraTipus == nameof(CalendarOraTypeEnum.OrarendiOra) &&
|
||||
x.Id != orarendiOra.ID &&
|
||||
x.OraErvenyessegKezdete <= oraDatum && (!x.OraErvenyessegVege.HasValue || oraDatum <= x.OraErvenyessegVege)) ||
|
||||
(x.OraTipus == nameof(CalendarOraTypeEnum.TanitasiOra) &&
|
||||
x.IsMegtartott)) &&
|
||||
x.OraKezdete.HasValue && x.OraVege.HasValue &&
|
||||
((x.OraKezdete.Value <= model.Start && x.OraVege.Value > model.Start)
|
||||
|| (x.OraKezdete.Value > model.Start && x.OraKezdete.Value < model.End)
|
||||
|| (x.OraVege.Value >= model.End && x.OraKezdete.Value < model.End))).ToList();
|
||||
|
||||
//NOTE: Előszedjük a vizsgálatokhoz, a tantárgyfelosztásokat!
|
||||
var tantargyfelosztasCoList = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTantargyfelosztasCoList();
|
||||
|
||||
//NOTE: Előszedjük a vizsgálatokhoz, az osztályokat és csoportokat!
|
||||
var osztalyCoList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCoList();
|
||||
var csoportCoList = new CsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportCoList();
|
||||
|
||||
var osztalyCsoportId = orarendiOra.OsztalyCsoportId.Value;
|
||||
var isOsztaly = osztalyCoList.Any(x => x.Id == osztalyCsoportId);
|
||||
var osztalyIdList = new List<int>();
|
||||
List<int> csoportIdList;
|
||||
if (isOsztaly)
|
||||
{
|
||||
//NOTE: Ha osztály előszedjük az osztály id-t és a hozzá tartozó bontott csoportok id-ját!
|
||||
osztalyIdList = osztalyCoList.Where(x => x.Id == osztalyCsoportId).Select(x => x.Id).ToList();
|
||||
csoportIdList = csoportCoList.Where(x => x.OsztalyBontasId == osztalyCsoportId || x.Id == osztalyCsoportId).Select(x => x.Id).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
//NOTE: Ha csoport...
|
||||
var osztalyBontasId = csoportCoList.Single(x => x.Id == osztalyCsoportId).OsztalyBontasId;
|
||||
if (osztalyBontasId.IsEntityId())
|
||||
{
|
||||
//NOTE: ...és van osztálybontása, akkor előszedjük a hozzá tartozó osztály id-t és az ahhoz tartozó bontott csoportok id-ját!
|
||||
osztalyIdList = osztalyCoList.Where(x => x.Id == osztalyBontasId).Select(x => x.Id).ToList();
|
||||
csoportIdList = csoportCoList.Where(x => x.OsztalyBontasId.IsEntityId() && osztalyIdList.Contains(x.OsztalyBontasId.Value)).Select(x => x.Id).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
//NOTE: ...és nincs osztálybontása, akkor csak simán előszedjük a csoport id-t!
|
||||
csoportIdList = csoportCoList.Where(x => x.Id == osztalyCsoportId).Select(x => x.Id).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
//NOTE: Össze union-ozzuk, az osztályok és csoportok id-ját, a szűrésekhez!
|
||||
var osztalyCsoportIdList = osztalyIdList.Union(csoportIdList).ToList();
|
||||
|
||||
var helyettesitesBevitelModel = new HelyettesitesBevitelModel
|
||||
{
|
||||
HelyettesitesBevitelCalendarEventId = model.EventId,
|
||||
HelyettesitesBevitelHelyettesitesId = model.HelyettesitesId,
|
||||
HelyettesitesBevitelCalendarOraType = model.OraType,
|
||||
HelyettesitesBevitelOraKezdeteDate = model.Start,
|
||||
HelyettesitesBevitelOraVegeDate = model.End,
|
||||
HelyettesitesBevitelHelyettesitesGyakorisagTipus = (int)HelyettesitesGyakorisagTipusEnum.Egyedi,
|
||||
HelyettesitesBevitelTartosHelyettesitesVegeDate = DateTime.Today,
|
||||
HelyettesitesBevitelHelyettesitesTipusId = (int)HelyettesitesTipusEnum.szakszeru_helyettesites,
|
||||
|
||||
HelyettesitesOsztalybanSzakosTanarList = GetHelyettesitesOsztalybanSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
HelyettesitesNemOsztalybanSzakosTanarList = GetHelyettesitesNemOsztalybanSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
HelyettesitesOsztalybanNemSzakosTanarList = GetHelyettesitesOsztalybanNemSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
HelyettesitesNemOsztalybanNemSzakosTanarList = GetHelyettesitesNemOsztalybanNemSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
OsszevonasOsztalybanSzakosTanarList = GetOsszevonasOsztalybanSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
OsszevonasNemOsztalybanSzakosTanarList = GetOsszevonasNemOsztalybanSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
OsszevonasOsztalybanNemSzakosTanarList = GetOsszevonasOsztalybanNemSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
OsszevonasNemOsztalybanNemSzakosTanarList = GetOsszevonasNemOsztalybanNemSzakosTanarList(tanarCoList, orarendiEsTanitasiOraList, tantargyfelosztasCoList, osztalyCsoportIdList, orarendiOra.TantargyId.Value, nemkotottMunkaido),
|
||||
FelugyeletTanarList = GetFelugyeletTanarList(alkalmazottCoList),
|
||||
OsszesTanarList = GetOsszesTanarList(alkalmazottCoList),
|
||||
IsTulora = orarendiOra.Tulora,
|
||||
HelyettesitesTitle = $"{OrarendResource.HelyettesitesFelviteleEsModositasa} - {orarendiOra.TanarAlkalmazottNev ?? orarendiOra.TanarNev} - {orarendiOra.TantargyNev} - {orarendiOra.OsztalyCsoportNev}"
|
||||
};
|
||||
|
||||
if (model.HelyettesitesId.IsEntityId())
|
||||
{
|
||||
var api = new HelyettesitesekKezeleseApiController();
|
||||
var data = api.GetHelyettesitesBevitelData(model.HelyettesitesId.Value);
|
||||
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelHelyettesitesId = data.HelyettesitesBevitelHelyettesitesId;
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelGroupId = data.HelyettesitesBevitelGroupId;
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelTanarId = data.HelyettesitesBevitelTanarId;
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelTanarNev = data.HelyettesitesBevitelTanarNev;
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelHelyettesitesTipusId = data.HelyettesitesBevitelHelyettesitesTipusId;
|
||||
helyettesitesBevitelModel.HelyettesitesBevitelHelyettesitesOka = data.HelyettesitesBevitelHelyettesitesOka;
|
||||
}
|
||||
|
||||
popUpModel = new PopUpModel(helyettesitesBevitelModel, "Helyettesites_Bevitel");
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelCancel", CommonResource.Megse, "HelyettesitesBevitelHelper.HelyettesitesCancel");
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelSave", CommonResource.Mentes, "HelyettesitesBevitelHelper.HelyettesitesSave");
|
||||
popUpModel = model.HelyettesitesId.IsEntityId() ? popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelDelete", CommonResource.Torles, "HelyettesitesBevitelHelper.HelyettesitesDelete") : popUpModel.AddBtn(popUpModel, "HelyettesitesBevitelNemMegtartottHelyettesites", OrarendResource.ElmaradtOra, "HelyettesitesBevitelHelper.SaveNemMegtartottHelyettesites");
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "OpenOracserePopUp", CommonResource.Oracsere, "HelyettesitesBevitelHelper.OpenOracserePopUp");
|
||||
|
||||
ModelState.Clear();
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
//NOTE: 01. - HELYETTESÍTÉS - Osztályban tanító, szakos helyettesítő
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában van lyukas órája, azaz nincs órarendi órája, tanítási órája és helyettesítése a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) van rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával van rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetHelyettesitesOsztalybanSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => orarendiEsTanitasiOraList.All(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value != tanar.Id : orarendiEsTanitasiOra.TanarId != tanar.Id)
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && osztalyCsoportIdList.Any(x => x == tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && tantargyfelosztas.TantargyId == tantargyId)
|
||||
&& !nemkotottMunkaido.Select(x => x.TanarId).Contains(tanar.Id));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 02. - HELYETTESÍTÉS - Osztályban nem tanító, szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában van lyukas órája, azaz nincs órarendi órája, tanítási órája és helyettesítése a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) nincs rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával van rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetHelyettesitesNemOsztalybanSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => orarendiEsTanitasiOraList.All(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value != tanar.Id : orarendiEsTanitasiOra.TanarId != tanar.Id)
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => osztalyCsoportIdList.All(x => x != tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && tantargyfelosztas.TantargyId == tantargyId)
|
||||
&& !nemkotottMunkaido.Select(x => x.TanarId).Contains(tanar.Id));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 03. - HELYETTESÍTÉS - Osztályban tanító, nem szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában van lyukas órája, azaz nincs órarendi órája, tanítási órája és helyettesítése a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) van rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával nincs rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetHelyettesitesOsztalybanNemSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => orarendiEsTanitasiOraList.All(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value != tanar.Id : orarendiEsTanitasiOra.TanarId != tanar.Id)
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && osztalyCsoportIdList.Any(x => x == tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => tantargyfelosztas.TantargyId != tantargyId)
|
||||
&& !nemkotottMunkaido.Select(x => x.TanarId).Contains(tanar.Id));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 04. - HELYETTESÍTÉS - Osztályban nem tanító, nem szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában van lyukas órája, azaz nincs órarendi órája, tanítási órája és helyettesítése a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) nincs rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával nincs rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetHelyettesitesNemOsztalybanNemSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => orarendiEsTanitasiOraList.All(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value != tanar.Id : orarendiEsTanitasiOra.TanarId != tanar.Id)
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => osztalyCsoportIdList.All(x => x != tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => tantargyfelosztas.TantargyId != tantargyId)
|
||||
&& !nemkotottMunkaido.Select(x => x.TanarId).Contains(tanar.Id)
|
||||
&& tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 05. - ÖSSZEVONÁS - Osztályban tanító, szakos helyettesítő
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában nincs lyukas órája, azaz vagy órarendi órája vagy tanítási órája vagy helyettesítése van a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) van rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával van rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetOsszevonasOsztalybanSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => (orarendiEsTanitasiOraList.Any(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value == tanar.Id : orarendiEsTanitasiOra.TanarId == tanar.Id) || nemkotottMunkaido.Any(x => x.TanarId == tanar.Id && !x.Megtartott))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && osztalyCsoportIdList.Any(x => x == tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && tantargyfelosztas.TantargyId == tantargyId));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 06. - ÖSSZEVONÁS - Osztályban nem tanító, szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában nincs lyukas órája, azaz vagy órarendi órája vagy tanítási órája vagy helyettesítése van a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) nincs rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával van rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetOsszevonasNemOsztalybanSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => (orarendiEsTanitasiOraList.Any(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value == tanar.Id : orarendiEsTanitasiOra.TanarId == tanar.Id) || nemkotottMunkaido.Any(x => x.TanarId == tanar.Id && !x.Megtartott))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => osztalyCsoportIdList.All(x => x != tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && tantargyfelosztas.TantargyId == tantargyId));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 07. - ÖSSZEVONÁS - Osztályban tanító, nem szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában nincs lyukas órája, azaz vagy órarendi órája vagy tanítási órája vagy helyettesítése van a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) van rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával nincs rögzített tantárgyfelosztás eleme
|
||||
private List<SelectListItem> GetOsszevonasOsztalybanNemSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => (orarendiEsTanitasiOraList.Any(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value == tanar.Id : orarendiEsTanitasiOra.TanarId == tanar.Id) || nemkotottMunkaido.Any(x => x.TanarId == tanar.Id && !x.Megtartott))
|
||||
&& tantargyfelosztasCoList.Any(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id && osztalyCsoportIdList.Any(x => x == tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => tantargyfelosztas.TantargyId != tantargyId));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 08. - ÖSSZEVONÁS - Osztályban nem tanító, nem szakos
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// Adott órában nincs lyukas órája, azaz vagy órarendi órája vagy tanítási órája vagy helyettesítése van a tanárnak
|
||||
// A helyettesítendő óra osztályához (vagy csoportjához) nincs rögzített tantárgyfelosztás eleme (az osztályoknál az osztálybontott csoportokat is vegyük figyelembe)
|
||||
// A helyettesítendő óra tantárgyával nincs rögzített tantárgyfelosztás eleme
|
||||
|
||||
private List<SelectListItem> GetOsszevonasNemOsztalybanNemSzakosTanarList(List<AlkalmazottItemCo> tanarCoList, List<OrarendiOraTanitasiOraCo> orarendiEsTanitasiOraList, List<TantargyfelosztasItemCo> tantargyfelosztasCoList, List<int> osztalyCsoportIdList, int tantargyId, List<NevOktLeNemKotottMunkaidoItemHelyettesitesCO> nemkotottMunkaido)
|
||||
{
|
||||
var tanarCo = tanarCoList.Where(tanar => (orarendiEsTanitasiOraList.Any(orarendiEsTanitasiOra => orarendiEsTanitasiOra.HelyettesitoTanarId.IsEntityId() ? orarendiEsTanitasiOra.HelyettesitoTanarId.Value == tanar.Id : orarendiEsTanitasiOra.TanarId == tanar.Id) || nemkotottMunkaido.Any(x => x.TanarId == tanar.Id && !x.Megtartott))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => osztalyCsoportIdList.All(x => x != tantargyfelosztas.OsztalyCsoportId))
|
||||
&& tantargyfelosztasCoList.Where(tantargyfelosztas => tantargyfelosztas.TanarId == tanar.Id).All(tantargyfelosztas => tantargyfelosztas.TantargyId != tantargyId));
|
||||
|
||||
if (!ClaimData.IsNszfhIntezmeny)
|
||||
{
|
||||
tanarCo = tanarCo.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na);
|
||||
}
|
||||
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCo);
|
||||
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 09. - FELÜGYELET - Egyéb alkalmazott (nem pedagógus)
|
||||
// Nincs beállítva pedagógus fokozata (ahol ’Na’ a beállított érték)
|
||||
// NINCS SZŰRÉS LYUKAS ÓRÁKRA
|
||||
// NINCS SZŰRÉS OSZTÁLYCSOPORTHOZ TARTOZÓ TTF SZŰRÉSRE
|
||||
// NINCS SZŰRÉS TANTÁRGYHOZ TARTOZÓ TTF SZŰRÉSRE
|
||||
private List<SelectListItem> GetFelugyeletTanarList(List<AlkalmazottItemCo> tanarCoList)
|
||||
{
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCoList
|
||||
.Where(tanar => !tanar.BesorolasiFokozatTipusId.IsEntityId() || tanar.BesorolasiFokozatTipusId.Value == (int)BesorolasiFokozatTipusEnum.na));
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: 10. - ÖSSZES PEDAGÓGUS
|
||||
// Van beállítva pedagógus fokozata (nem ’Na’)
|
||||
// NINCS SZŰRÉS LYUKAS ÓRÁKRA
|
||||
// NINCS SZŰRÉS OSZTÁLYCSOPORTHOZ TARTOZÓ TTF SZŰRÉSRE
|
||||
// NINCS SZŰRÉS TANTÁRGYHOZ TARTOZÓ TTF SZŰRÉSRE
|
||||
private List<SelectListItem> GetOsszesTanarList(List<AlkalmazottItemCo> tanarCoList)
|
||||
{
|
||||
var tanarDictionay = CreateAlkalmazottDictionary(tanarCoList
|
||||
.Where(tanar => tanar.BesorolasiFokozatTipusId.IsEntityId() && tanar.BesorolasiFokozatTipusId.Value != (int)BesorolasiFokozatTipusEnum.na));
|
||||
var result = tanarDictionay.ToSelectListItemList();
|
||||
return result;
|
||||
}
|
||||
|
||||
private IDictionary<string, string> CreateAlkalmazottDictionary(IEnumerable<AlkalmazottItemCo> tanarCoList)
|
||||
{
|
||||
return tanarCoList.ToDictionary(x => x.Id.ToString(), x => $"{x.FelhasznaloNyomtatasiNev}{(string.IsNullOrWhiteSpace(x.FelhasznaloOktatasiAzonosito) ? Core.Constants.General.HianyzoOktatasiAzonositoJeloles : $" ({x.FelhasznaloOktatasiAzonosito})")}");
|
||||
}
|
||||
|
||||
public ActionResult OpenOracserePopUp(int helyettesitesreKivalasztottTanarId)
|
||||
{
|
||||
var oracsereModel = new OracsereModel();
|
||||
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
oracsereModel.HelyettesitesreKivalasztottTanarNeve = helper.GetNyomtatasiNev(helyettesitesreKivalasztottTanarId);
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanev = tanevHelper.GetTanevInfo();
|
||||
oracsereModel.TanevElsoNapja = tanev.KezdoNap;
|
||||
oracsereModel.TanevUtolsoNapja = tanev.UtolsoNap;
|
||||
|
||||
var popUpModel = new PopUpModel(oracsereModel, "Oracsere_PopUp");
|
||||
popUpModel.AddCancelBtn(popUpModel, "HelyettesitesBevitelHelper.OracsereCancel");
|
||||
popUpModel.AddBtn(popUpModel, "OracsereSaveButton", CommonResource.Mentes, "HelyettesitesBevitelHelper.SaveOracsere");
|
||||
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class HelyettesitesekListajaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new HelyettesitesekListajaSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro };
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenHelyettesitesInfoPopUp(string id, bool naplozott)
|
||||
{
|
||||
try
|
||||
{
|
||||
HelyettesitesInfoModel helyettesitesInfoModel;
|
||||
if (!int.TryParse(id, out int searchId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
|
||||
if (naplozott)
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
TanoraCO tanoraCo = helper.GetTanorakAdatok(searchId);
|
||||
helyettesitesInfoModel = new HelyettesitesInfoModel
|
||||
{
|
||||
Datum = tanoraCo.Datum.ToShortDateString(),
|
||||
Oraszam = tanoraCo.Oraszam,
|
||||
HetNapja = tanoraCo.HetNapjaNev,
|
||||
Hetirend = tanoraCo.HetirendNev,
|
||||
Foglalkozas = tanoraCo.FoglalkozasNev,
|
||||
OsztalyCsoport = tanoraCo.OsztalyCsoportNev,
|
||||
Tantargy = tanoraCo.TantargyNev,
|
||||
Tanar = tanoraCo.TanarNev,
|
||||
Terem = tanoraCo.TeremNev,
|
||||
Megtartott = tanoraCo.Megtartott.HasValue && tanoraCo.Megtartott.Value ? CommonResource.Igen : CommonResource.Nem,
|
||||
Sorszamozando = tanoraCo.Sorszamozando.GetDisplayName(),
|
||||
OraKezdete = tanoraCo.OraKezd.ToString("HH:mm"),
|
||||
OraVege = tanoraCo.OraVeg.ToString("HH:mm"),
|
||||
Tema = tanoraCo.Tema,
|
||||
HaziFeladat = tanoraCo.HaziFeladat,
|
||||
HelyettesitesOka = tanoraCo.HelyettesitesOka,
|
||||
HelyettesitesTipusa = tanoraCo.HelyettesitesTipus.GetDisplayName<HelyettesitesTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
HelyettesitesElrendelesenekIdopontja = tanoraCo.HelyettesitesElrendelesenekIdopontja?.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
LegutobbiModositasIdopontja = tanoraCo.LegutobbiModositasIdopontja.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
NaplozasIdopontja = tanoraCo.BejegyIdo.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds)
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
TanoraCO tanoraCo = helper.GetHelyettesitesAdatok(searchId);
|
||||
helyettesitesInfoModel = new HelyettesitesInfoModel
|
||||
{
|
||||
Datum = tanoraCo.Datum.ToShortDateString(),
|
||||
Oraszam = tanoraCo.Oraszam,
|
||||
HetNapja = tanoraCo.HetNapjaNev,
|
||||
Hetirend = tanoraCo.HetirendNev,
|
||||
Foglalkozas = tanoraCo.FoglalkozasNev,
|
||||
OsztalyCsoport = tanoraCo.OsztalyCsoportNev,
|
||||
Tantargy = tanoraCo.TantargyNev,
|
||||
Tanar = tanoraCo.HelyettesitoTanarNev,
|
||||
Terem = tanoraCo.TeremNev,
|
||||
Megtartott = tanoraCo.Megtartott.HasValue && tanoraCo.Megtartott.Value ? CommonResource.Igen : CommonResource.Nem,
|
||||
Sorszamozando = tanoraCo.Sorszamozando.GetDisplayName(),
|
||||
OraKezdete = tanoraCo.OraKezd.ToString("HH:mm"),
|
||||
OraVege = tanoraCo.OraVeg.ToString("HH:mm"),
|
||||
Tema = tanoraCo.Tema,
|
||||
HelyettesitesOka = tanoraCo.Megjegyzes,
|
||||
HelyettesitesTipusa = tanoraCo.HelyettesitesTipus.GetDisplayName<HelyettesitesTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
HelyettesitesElrendelesenekIdopontja = tanoraCo.HelyettesitesElrendelesenekIdopontja?.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
};
|
||||
}
|
||||
|
||||
var popUpModel = new PopUpModel(helyettesitesInfoModel, "Info_PopUp");
|
||||
popUpModel.AddCancelBtn(popUpModel, "HelyettesitesekListajaHelper.helyettesitesInfoCancel");
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.ReCaptcha;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class JelszoValtoztatoController : Controller
|
||||
{
|
||||
public ActionResult Index(string guid)
|
||||
{
|
||||
var model = new JelszoValtoztatoModel { Guid = guid };
|
||||
|
||||
try
|
||||
{
|
||||
model.IsSzulDatumValidacio = new JelszoLinkHelper(ConnectionTypeExtensions.GetOrganizationConnectionType(), guid).IsSzulDatumValidacio();
|
||||
}
|
||||
catch (KretaJelszoModositasException e)
|
||||
{
|
||||
model.ErrorMessage = e.Message;
|
||||
}
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public JsonResult SaveJelszo(JelszoValtoztatoModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
Response.StatusCode = 400;
|
||||
Response.TrySkipIisCustomErrors = true;
|
||||
|
||||
var modelErrors = ModelState.AllErrors();
|
||||
return Json(modelErrors);
|
||||
}
|
||||
|
||||
var captcha = ReCaptchaValidator.Validate(model.ReCaptcha);
|
||||
|
||||
if (!captcha.Success)
|
||||
{
|
||||
return Json(new IsSuccessResponseCo(false, string.Join(",", captcha.ErrorCodes)));
|
||||
}
|
||||
|
||||
IsSuccessResponseCo response = new JelszoLinkHelper(ConnectionTypeExtensions.GetOrganizationConnectionType(), model.Guid).SaveJelszo(model.ConvertToCo());
|
||||
|
||||
return Json(response);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,234 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class KIRTanuloImportController : Controller
|
||||
{
|
||||
private IFeatureContext FeatureContext { get; }
|
||||
|
||||
private IUploadFileValidator UploadFileValidator { get; }
|
||||
|
||||
public KIRTanuloImportController(IFeatureContext featureContext, IUploadFileValidator uploadFileValidator)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
|
||||
}
|
||||
|
||||
// GET: Adminisztracio/KIRTanuloImport
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new TanuloKIRImportModel
|
||||
{
|
||||
KirLoginModel = new KIRLoginModel()
|
||||
{
|
||||
OmAzonosito = ClaimData.OrganizationCode,
|
||||
},
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
KIRImportEnabled = FeatureContext.IsEnabled(Core.Constants.FeatureName.KIRImport),
|
||||
MaxAllowedFileSizeInBytes = UploadFileValidator.Configuration.ImportMaxAllowedFileSizeInBytes,
|
||||
AllowedFileExtensions = UploadFileValidator.Configuration.ImportAllowedFileExtensions,
|
||||
IsSzakkepzoIntezmeny = ClaimData.IsSzakkepzoIntezmeny,
|
||||
};
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenKIRTanuloImportPopup(TanuloKIRImportModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KirLoginModel.OmAzonosito, model.KirLoginModel.FelhasznaloNev, jelszo: model.KirLoginModel.Jelszo);
|
||||
var tanarestanuloKirImportModel = new TanuloKIRImportModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
KIRImportModel = new KIRImportModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev,
|
||||
KirToken = kirHelper.KirToken,
|
||||
TelephelyList = kirHelper.GetTelephelyList().ToSelectListItemList()
|
||||
},
|
||||
KirLoginModel = new KIRLoginModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev
|
||||
},
|
||||
};
|
||||
|
||||
var pm = new PopUpModel(tanarestanuloKirImportModel, "KIRTanuloImportModal");
|
||||
pm.AddCancelBtn(pm, "KretaWindowHelper.destroyAllWindow");
|
||||
pm.AddBtn(pm, "BtnKIRImport", 3486 /*Importálás*/, "KIRTanuloImportHelper.KIRImport");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
StatusError error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult KIRImport(TanuloKIRImportModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KIRImportModel.OmAzonosito, model.KIRImportModel.FelhasznaloNev, kirToken: model.KIRImportModel.KirToken);
|
||||
|
||||
var tanuloList = kirHelper.GetTanuloList(model.KIRImportModel.TelephelyKod.Value);
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
|
||||
var anotherYearId = Kreta.Web.Classes.Utils.GetAnotherYearId();
|
||||
new EgysegesImportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).ExecuteKIRTanuloImport(tanuloList, anotherYearId, ClaimData.IsKovTanev);
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanuloImportPopUp(bool? isJuttatasUpdate)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var tanulokFelolteseModel = new TanulokFeltolteseModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
Errors = helper.TanuloKIRAdatok.Validate(),
|
||||
IsJuttatasUpdate = isJuttatasUpdate,
|
||||
IsSzakkepzoIntezmeny = ClaimData.IsSzakkepzoIntezmeny,
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanulokFelolteseModel, "TanulokFeltolteseModal");
|
||||
model.AddCancelBtn(model, "KretaWindowHelper.destroyAllWindow");
|
||||
|
||||
if (tanulokFelolteseModel.Errors.Count == 0)
|
||||
{
|
||||
model.AddOkBtn(model, "KIRTanuloFeltoltesHelper.Save");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult UploadKIRTanuloFile(HttpPostedFileBase importTanuloFile)
|
||||
{
|
||||
UploadFileValidator.ValidateImportFile(importTanuloFile);
|
||||
|
||||
try
|
||||
{
|
||||
TantervHelper helper = new TantervHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
DataSet tantervDataSet = helper.TantervKereses();
|
||||
if (!tantervDataSet.Tables[0].Rows.Count.IsNotNullAndPositive())
|
||||
{
|
||||
throw new BlException(ImportExportOrarendResource.TantervNotFound);
|
||||
}
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
|
||||
var anotherYearId = Kreta.Web.Classes.Utils.GetAnotherYearId();
|
||||
new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ExecuteKIRTanuloImportFile(importTanuloFile.ContentLength, importTanuloFile.InputStream, importTanuloFile.FileName, anotherYearId, ClaimData.IsKovTanev, ClaimData.IsSzakkepzoIntezmeny);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (InvalidDataException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (KretaInvalidFileFormatException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
return Content(string.Empty);
|
||||
}
|
||||
|
||||
public ActionResult SaveTanulok(bool? isJuttatasUpdate)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
helper.SaveImportaltTanulok(isJuttatasUpdate ?? false);
|
||||
|
||||
return Json(new { tovabbUrl = @"/Tanulo/Tanulo" });
|
||||
}
|
||||
catch (BlException)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
catch (SDA.DataProvider.UniqueKeyViolationException)
|
||||
{
|
||||
/*A fájlban szereplő oktatási azonosítóval már szerepel diák az adatbázisban*/
|
||||
StatusError error = new StatusError(HttpStatusCode.BadRequest, StringResourcesUtils.GetString(4852));
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult GetPreLoadedStudents(DataSourceRequest request)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
return Json(helper.GetImportaltTanulok().ToDataSourceResult(), JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
public ActionResult DownloadTemplate()
|
||||
{
|
||||
string filePath = Kreta.Web.Classes.Utils.GetExcelTemplateFilePath(Constants.ImportExport.TanuloImportSablonNev);
|
||||
|
||||
if (filePath == null)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlNemLetezik);
|
||||
}
|
||||
|
||||
return File(filePath, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.TanuloImportSablonNev);
|
||||
}
|
||||
|
||||
public ActionResult ExportAktualisAdatok()
|
||||
{
|
||||
var memoryStream = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ExportTanuloAktualisAdatok();
|
||||
return new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = $"{TanuloResource.TanulokExport}.{Constants.ImportExport.FileFormatXlsx}" };
|
||||
}
|
||||
}
|
||||
}
|
287
KretaWeb/Areas/Adminisztracio/Controllers/LoginController.cs
Normal file
287
KretaWeb/Areas/Adminisztracio/Controllers/LoginController.cs
Normal file
|
@ -0,0 +1,287 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Configuration;
|
||||
using Kreta.Web.Controllers.Logic;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.ReCaptcha;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
public class LoginController : Controller
|
||||
{
|
||||
private IIdpConfiguration IdpConfiguration { get; }
|
||||
private IFeatureContext FeatureContext { get; }
|
||||
|
||||
public LoginController(IIdpConfiguration idpConfiguration, IFeatureContext featureContext)
|
||||
{
|
||||
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
if (IdpConfiguration.LoginEnabled)
|
||||
{
|
||||
return RedirectToAction("Index", "Home", new { Area = string.Empty });
|
||||
}
|
||||
|
||||
var model = BuildModel();
|
||||
|
||||
var mainVersion = KretaVersion.Instance.MainVersion;
|
||||
var assemblyCreationDate = KretaVersion.Instance.AssemblyCreationDateTime.ToShortDateString();
|
||||
var commitNumber = KretaVersion.Instance.CommitNumber;
|
||||
var nextUpdateDateTimeText = new AdminHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).GetKovTelepitesDatum().ToString("yyyy.MM.dd. HH:mm");
|
||||
|
||||
ViewBag.Version = $"{CommonResource.Version}: {mainVersion} ({assemblyCreationDate}) <br/> {commitNumber}";
|
||||
ViewBag.NextUpdateDateTimeText = nextUpdateDateTimeText;
|
||||
LogOut();
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult LostPasswordPopUp()
|
||||
{
|
||||
var popUpModel = new PopUpModel(new LostPasswordModel(), "LostPasswordPopUp");
|
||||
popUpModel = popUpModel.AddCancelBtn(popUpModel, "KretaWindowHelper.destroyAllWindow");
|
||||
popUpModel = popUpModel.AddOkBtn(popUpModel, "LoginHelper.requestNewPassword");
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
public ActionResult PasswordReset(LostPasswordModel model)
|
||||
{
|
||||
var result = Content(ErrorResource.AzUjJelszotElkuldtukAMegadottEmailCimre);
|
||||
return result;
|
||||
}
|
||||
|
||||
private const string ErrorCodeAccountError = "AccountError";
|
||||
|
||||
public ActionResult LoginCheck(LoginModel model)
|
||||
{
|
||||
if (IdpConfiguration.LoginEnabled)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
|
||||
LogOut();
|
||||
|
||||
LoginInfo loginInfo = null;
|
||||
bool isAccountOk;
|
||||
|
||||
if (!new IntezmenyHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).IsSuccessAuthorizedDate())
|
||||
{
|
||||
return LoginResult(success: false, AdminisztracioResource.TelepitesMiattBelepesNemLehetseges, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.UserName))
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.AFelhasznalonevMegadasaKotelezo, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
|
||||
//recaptcha validation
|
||||
if (model.ReCaptchaIsEnabled)
|
||||
{
|
||||
var captcha = ReCaptchaValidator.Validate(model.ReCaptcha);
|
||||
if (!captcha.Success)
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.ABelepeshezACaptchaKozetelezo, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
//NOTE: Account lekérdezése
|
||||
try
|
||||
{
|
||||
using (var loginManager = new LoginManager())
|
||||
{
|
||||
loginInfo = loginManager.CheckLogin(model.UserName.Trim(), model.Password, GetClientIP());
|
||||
isAccountOk = loginInfo != null;
|
||||
if (isAccountOk && !loginInfo.IsDeniedArchivIntezmenyUser)
|
||||
{
|
||||
throw new ArchivBelepesException("-");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SecurityException)
|
||||
{
|
||||
isAccountOk = false;
|
||||
}
|
||||
catch (DataIntegrityException)
|
||||
{
|
||||
isAccountOk = false;
|
||||
}
|
||||
catch (NextTanevBelepesException)
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.KovTanevBelepesError, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
catch (ArchivBelepesException)
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.ArchivBelepesError, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
||||
return LoginResult(success: false, ErrorResource.IsmeretlenHibaTortent, ErrorCodeAccountError, string.Empty);
|
||||
}
|
||||
|
||||
//NOTE: Ha nem jók a bejelentkezési adatok
|
||||
if (!isAccountOk || loginInfo.PasswordState == PasswordState.INVALID)
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.HibasFelhasznalonevVagyJelszo, ErrorCodeAccountError, string.Empty, loginInfo?.MeghiusultBelepes);
|
||||
}
|
||||
|
||||
if (loginInfo.IsDeniedSzirIntezmenyUser)
|
||||
{
|
||||
return LoginResult(success: false, ErrorResource.HibasFelhasznalonevVagyJelszo, ErrorCodeAccountError, string.Empty, loginInfo.MeghiusultBelepes);
|
||||
}
|
||||
|
||||
//NOTE: Végleges login
|
||||
var isLoginSuccess = Login(loginInfo, out var loginMessageString);
|
||||
|
||||
if (HttpContext.Request.Headers.AllKeys.Contains(nameof(KliensTipusEnum.Mobile), StringComparer.Ordinal))
|
||||
{
|
||||
ClaimData.KliensTipusa = KliensTipusEnum.Mobile;
|
||||
}
|
||||
|
||||
// Dashboard popup üzenetekhez:
|
||||
var popupCookie = new HttpCookie("DisplayedPopups")
|
||||
{
|
||||
HttpOnly = true,
|
||||
SameSite = SameSiteMode.None,
|
||||
Secure = true
|
||||
};
|
||||
|
||||
HttpContext.Response.Cookies.Add(popupCookie);
|
||||
|
||||
return LoginResult(isLoginSuccess, isLoginSuccess ? ErrorResource.SikeresBejelentkezes : loginMessageString, isLoginSuccess ? "Ok" : ErrorCodeAccountError, string.Empty, loginInfo.MeghiusultBelepes);
|
||||
}
|
||||
|
||||
public void LogOut()
|
||||
{
|
||||
MasterLayoutLogic.LogOut();
|
||||
}
|
||||
|
||||
public ActionResult ChangeLanguage(int id)
|
||||
{
|
||||
ClaimData.LCID = id;
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
private LoginModel BuildModel()
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetOrganizationConnectionType();
|
||||
|
||||
var dsDashboard = CommonUtils.GetLoginDashboardUzenet(connectionType);
|
||||
|
||||
var csokkentettGondviseloEnable = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(Enums.RendszerBeallitasTipusEnum.Csokkentett_gondviselok_kezelese);
|
||||
|
||||
var ds = new IntezmenyHelper(connectionType).GetOrganizationNameAndCode();
|
||||
|
||||
var model = new LoginModel
|
||||
{
|
||||
IntezmenyNeve = ds.Tables[0].Rows[0][0].ToString(),
|
||||
IntezmenyOMkod = ds.Tables[0].Rows[0][1].ToString(),
|
||||
LejartLicence = string.Equals(ds.Tables[0].Rows[0][2].ToString(), "T", StringComparison.OrdinalIgnoreCase),
|
||||
NextUpdateHeader = dsDashboard.Tables[0].Rows[0]["C_CIM"].ToString(),
|
||||
NextUpdateMessage = dsDashboard.Tables[0].Rows[0]["C_TARTALOM"].ToString(),
|
||||
CsokkentettGondviseloEnable = csokkentettGondviseloEnable,
|
||||
IsSzirIntezmeny = ds.Tables[0].Rows[0].Field<bool>("IsSzirIntezmeny_BOOL"),
|
||||
IsArchivIntezmeny = ds.Tables[0].Rows[0].Field<bool>("IsArchivIntezmeny_BOOL"),
|
||||
IdpLogoutUrl = IdpConfiguration.LogoutUrl,
|
||||
ReCaptchaIsEnabled = false
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private JsonResult LoginResult(bool success, string errorMessage, string errorCode, string warningMessage, int? failedLoginCounter = 0)
|
||||
{
|
||||
var result = Json(new LoginResultModel { Success = success, ErrorMessage = errorMessage, ErrorCode = errorCode, WarningMessage = warningMessage, FailedLoginCounter = failedLoginCounter });
|
||||
return result;
|
||||
}
|
||||
|
||||
private bool Login(LoginInfo loginInfo, out string loginMessageString)
|
||||
{
|
||||
loginMessageString = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
using (var loginManager = new LoginManager())
|
||||
{
|
||||
loginInfo = loginManager.Login(loginInfo);
|
||||
}
|
||||
}
|
||||
catch (SecurityException)
|
||||
{
|
||||
if (ApplicationData.KretaDebug)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
loginMessageString = ErrorResource.HibasFelhasznalonevVagyJelszo;
|
||||
return false;
|
||||
}
|
||||
catch (DataIntegrityException)
|
||||
{
|
||||
if (ApplicationData.KretaDebug)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
loginMessageString = ErrorResource.NemLetezikAFelhasznalohozJelszo;
|
||||
return false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (ApplicationData.KretaDebug)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
||||
loginMessageString = ErrorResource.IsmeretlenHibaTortent;
|
||||
return false;
|
||||
}
|
||||
|
||||
//NOTE: Ha nem sikerült bejelentkeznie
|
||||
if (loginInfo == null)
|
||||
{
|
||||
loginMessageString = ErrorResource.HibasFelhasznalonevVagyJelszo;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private string GetClientIP()
|
||||
{
|
||||
var clientIp = HttpContext.Request.UserHostAddress.Trim();
|
||||
try
|
||||
{
|
||||
var xForwardedFor = HttpContext.Request.Headers["X-Forwarded-For"];
|
||||
if (!string.IsNullOrWhiteSpace(xForwardedFor))
|
||||
{
|
||||
clientIp = xForwardedFor;
|
||||
}
|
||||
return clientIp;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return clientIp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class NevOktLeNemKotottMunkaidoListajaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View(new NevOktLeNemKotottMunkaidoSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro });
|
||||
}
|
||||
|
||||
public ActionResult OpenInfoPopup(int nevOktLeNemKotottMunkaidoId)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new NemKotottMunkaidoHelper(connectionType);
|
||||
var felhasznaloHelper = new FelhasznaloHelper(connectionType);
|
||||
var nemKotottMunkaidoCO = helper.GetNemKotottMunkaidoById(nevOktLeNemKotottMunkaidoId);
|
||||
var infoModel = new NevOktLeNemKotottMunkaidoInfoModel
|
||||
{
|
||||
Hetirend = nemKotottMunkaidoCO.HetirendId.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Kategoria = nemKotottMunkaidoCO.TorvenyKategoriaId.GetDisplayName<TevekenysegTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Kezdete = nemKotottMunkaidoCO.Kezdete.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
Megjegyzes = nemKotottMunkaidoCO.Megjegyzes,
|
||||
Megtartott = nemKotottMunkaidoCO.Megtartott.GetDisplayName(),
|
||||
NaplozottMegjegyzes = nemKotottMunkaidoCO.NaplozottMegjegyzes,
|
||||
TanarNeve = felhasznaloHelper.GetNyomtatasiNev(nemKotottMunkaidoCO.TanarId),
|
||||
TulajdonosNeve = felhasznaloHelper.GetNyomtatasiNev(nemKotottMunkaidoCO.TulajId),
|
||||
Vege = nemKotottMunkaidoCO.Vege.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
};
|
||||
|
||||
var model = new PopUpModel(infoModel, "Info_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "NevOktLeNemKotottMunkaidoHelper.infoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
}
|
||||
}
|
228
KretaWeb/Areas/Adminisztracio/Controllers/ProfilController.cs
Normal file
228
KretaWeb/Areas/Adminisztracio/Controllers/ProfilController.cs
Normal file
|
@ -0,0 +1,228 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Adminisztracio.Helpers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Modal;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class ProfilController : Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// Default view visszaadás
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var model = new ProfilModel
|
||||
{
|
||||
IsElerhetosegAdatokSzerkeszthetoek = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.tanulok_es_gondviselok_szerkesztheti_sajat_elerhetosegi_adataikat)
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult GenerateNewEgyhaztartasbanElokRow(EgyhaztartasbanElokRowModel model)
|
||||
{
|
||||
return View("EgyHaztartasbanLevokRow", model);
|
||||
}
|
||||
|
||||
private readonly IFeatureContext FeatureContext;
|
||||
|
||||
public ProfilController(IFeatureContext featureContext)
|
||||
{
|
||||
FeatureContext = featureContext;
|
||||
}
|
||||
|
||||
public SajatAdatlapInfoModel GetDataForInfo(int id)
|
||||
{
|
||||
if (ClaimManager.HasPackage(KretaClaimPackages.Naplo.ClaimValue) || ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue))
|
||||
{
|
||||
return new ProfilHelper().GetTanarSajatAdatlapDataForInfo(id);
|
||||
}
|
||||
if (ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue))
|
||||
{
|
||||
if (ClaimData.GondviseloId.HasValue)
|
||||
{
|
||||
return new ProfilHelper().GetGondviseloSajatAdatlapDataForInfo(ClaimData.GondviseloId.Value, Request.Url.Host);
|
||||
}
|
||||
return new ProfilHelper().GetTanuloSajatAdatlapDataForInfo(id, Request.Url.Host);
|
||||
}
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public ActionResult SajatAdatlapPopUp()
|
||||
{
|
||||
SajatAdatlapInfoModel alkalmazottModel = GetDataForInfo(ClaimData.FelhasznaloId);
|
||||
alkalmazottModel.HideControlsForAlkalmazott = true;
|
||||
|
||||
var model = new PopUpModel(alkalmazottModel, "Info_SajatAdatlap");
|
||||
|
||||
model.Buttons.Add(new ModalButtonModel() { Name = "BtnSajatAdatlapBezaras", Text = Resources.CommonResource.Bezaras, EventName = "SajatAdatlapHelper.closeSajatAdatlapPopUp" });
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult LoadJelszoModositas()
|
||||
{
|
||||
var model = new ProfilModel
|
||||
{
|
||||
JelszoValtoztatasNemLehetseges = ClaimManager.GetClaimIdentity().HasClaim(KretaClaimTypes.Resource, KretaClaimPackages.Ellenorzo.Resources.A_felhasznalok_nem_valtoztathatjak_meg_a_jelszavukat_az_elektronikus_ellenorzoben)
|
||||
};
|
||||
return PartialView("JelszoModositas_Bevitel", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadProfilkepFeltoltes()
|
||||
{
|
||||
var model = new ProfilModel();
|
||||
return PartialView("ProfilkepFeltoltes_Bevitel", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadTippekBeallitasa()
|
||||
{
|
||||
var model = new TippModel();
|
||||
model.TippekElrejtese = ProfileUtils.HideTips;
|
||||
model.EmailHelyettesites = ProfileUtils.EmailHelyettesites;
|
||||
model.HianyzokAutoKitoltes = ProfileUtils.IsHianyzokAutoKitoltesEnabled;
|
||||
model.FogadooraEmail = ProfileUtils.FogadooraEmail;
|
||||
model.FogadooraEmailUj = ProfileUtils.FogadooraEmailUj;
|
||||
model.FogadooraEmailJelentkezes = ProfileUtils.FogadooraEmailJelentkezes;
|
||||
model.FogadooraEmailJelentkezesLemondas = ProfileUtils.FogadooraEmailJelentkezesLemondas;
|
||||
model.FogadooraEmlekeztetoEmailJelentkezes = ProfileUtils.FogadooraEmlekeztetoEmailJelentkezes;
|
||||
model.FogadooraEmailTorles = ProfileUtils.FogadooraEmailTorles;
|
||||
model.FogadooraEmail3Nappal = ProfileUtils.FogadooraEmail3Nappal;
|
||||
model.FogadooraEmail1Nappal = ProfileUtils.FogadooraEmail1Nappal;
|
||||
model.NemNaplozottTanorakEmail = ProfileUtils.NemNaplozottTanorakEmail;
|
||||
model.AtlagMegjelenitesTipusa = (int)ProfileUtils.AtlagMegjelenitesTipusa;
|
||||
model.AtlagbaBeleszamitoOsztalyTipusa = (int)ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa;
|
||||
model.AtlagMegjelenitesTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetAtlagMegjelenitesTipusList();
|
||||
model.AtlagbaBeleszamitoOsztalyTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetAtlagbaBeleszamitoOsztalyTipusList();
|
||||
model.HaladasiNaploFulTipusa = (int)ProfileUtils.HaladasiNaploFulTipusa;
|
||||
model.HaladasiNaploFulTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetHaladasiNaploFulTipusList();
|
||||
model.HaladasiNaploNezetTipusa = (int)ProfileUtils.HaladasiNaploNezetTipusa;
|
||||
model.HaladasiNaploNezetTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetHaladasiNaploNezetTipusList();
|
||||
model.HetirendMegjeleniteseBelepeskor = ProfileUtils.HetirendMegjeleniteseBelepeskor;
|
||||
|
||||
return PartialView("Tippek_Beallitas", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadElerhetosegekSzerk()
|
||||
{
|
||||
var elerhetosegek = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetElerhetosegek(ClaimData.FelhasznaloId);
|
||||
var model = ConvertElerhetosegekModCoToModel(elerhetosegek);
|
||||
return PartialView("ElerhetosegekModositas_Bevitel", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadElerhetosegek()
|
||||
{
|
||||
var elerhetosegek = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetElerhetosegek(ClaimData.FelhasznaloId);
|
||||
var model = ConvertElerhetosegekModCoToModel(elerhetosegek);
|
||||
return PartialView("ElerhetosegekMegjelenitese", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadGondviseloAdatokSzerk()
|
||||
{
|
||||
var model = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviseloElerhetosegAdatok(ClaimData.GondviseloId.Value);
|
||||
|
||||
return PartialView("GondviseloAdatokSzerkesztese", ConvertGondviseloAdatokModCOToModel(model));
|
||||
}
|
||||
|
||||
public ActionResult LoadGondviseloAdatok()
|
||||
{
|
||||
var model = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviseloElerhetosegAdatok(ClaimData.GondviseloId.Value);
|
||||
|
||||
return PartialView("GondviseloAdatokMegjelenitese", ConvertGondviseloAdatokModCOToModel(model));
|
||||
}
|
||||
|
||||
public ActionResult LoadGondviselo4TSzerkesztese()
|
||||
{
|
||||
if (!ClaimData.FeltarGondviseloEnabled)
|
||||
{
|
||||
return PartialView("Empty");
|
||||
}
|
||||
|
||||
var co = new GondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviselo4TAdatok(ClaimData.GondviseloId.Value);
|
||||
return PartialView("Gondviselo4TAdatokSzerkesztese", new Gondviselo4TAdatokModel(co));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
public ActionResult TippBeallitasokMentese(TippModel model)
|
||||
{
|
||||
ProfileUtils.HideTips = model.TippekElrejtese;
|
||||
ProfileUtils.EmailHelyettesites = model.EmailHelyettesites;
|
||||
ProfileUtils.IsHianyzokAutoKitoltesEnabled = model.HianyzokAutoKitoltes;
|
||||
ProfileUtils.FogadooraEmail = model.FogadooraEmail;
|
||||
ProfileUtils.FogadooraEmailUj = model.FogadooraEmailUj;
|
||||
ProfileUtils.FogadooraEmailJelentkezes = model.FogadooraEmailJelentkezes;
|
||||
ProfileUtils.FogadooraEmailJelentkezesLemondas = model.FogadooraEmailJelentkezesLemondas;
|
||||
ProfileUtils.FogadooraEmlekeztetoEmailJelentkezes = model.FogadooraEmlekeztetoEmailJelentkezes;
|
||||
ProfileUtils.FogadooraEmailTorles = model.FogadooraEmailTorles;
|
||||
ProfileUtils.FogadooraEmail3Nappal = model.FogadooraEmail3Nappal;
|
||||
ProfileUtils.FogadooraEmail1Nappal = model.FogadooraEmail1Nappal;
|
||||
ProfileUtils.NemNaplozottTanorakEmail = model.NemNaplozottTanorakEmail;
|
||||
ProfileUtils.AtlagMegjelenitesTipusa = (AtlagMegjelenitesTipus)model.AtlagMegjelenitesTipusa;
|
||||
ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa = (AtlagbaBeleszamitoOsztalyTipus)model.AtlagbaBeleszamitoOsztalyTipusa;
|
||||
ProfileUtils.HaladasiNaploFulTipusa = (HaladasiNaploFulTipus)model.HaladasiNaploFulTipusa;
|
||||
ProfileUtils.HaladasiNaploNezetTipusa = (HaladasiNaploNezetTipus)model.HaladasiNaploNezetTipusa;
|
||||
ProfileUtils.HetirendMegjeleniteseBelepeskor = model.HetirendMegjeleniteseBelepeskor;
|
||||
|
||||
ProfileUtils.SaveUserProfileDocument();
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private GondviseloAdatokModModel ConvertGondviseloAdatokModCOToModel(GondviseloAdatokModCO co)
|
||||
{
|
||||
return new GondviseloAdatokModModel
|
||||
{
|
||||
AktEmail = co.AktEmail,
|
||||
AktTelefon = co.AktTelefon
|
||||
};
|
||||
}
|
||||
|
||||
private ElerhetosegekModel ConvertElerhetosegekModCoToModel(ElerhetosegekModCO co)
|
||||
{
|
||||
return new ElerhetosegekModel
|
||||
{
|
||||
Email = co.Email.Select(e => new EmailElerhetosegModel
|
||||
{
|
||||
Alapertelmezett = e.Alapertelmezett,
|
||||
EmailCim_Input = e.EmailCim,
|
||||
Tipus = e.Tipus,
|
||||
Id = e.Id,
|
||||
Status = e.Status
|
||||
}).ToList(),
|
||||
Telefon = co.Telefon.Select(t => new TelefonElerhetosegModel
|
||||
{
|
||||
Alapertelmezett = t.Alapertelmezett,
|
||||
Telefonszam = t.Telefonszam,
|
||||
Tipus = t.Tipus,
|
||||
Id = t.Id,
|
||||
Status = t.Status
|
||||
}).ToList()
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,231 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class SystemSettingsController : Controller
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public static string TanuloErtekelesMondatbankPopupName => "TanuloErtekelesMondatbank_Popup";
|
||||
public static string TanuloErtekelesMondatbankGridName => "TanuloErtekelesMondatbankGrid";
|
||||
|
||||
public static string TanuloErtekelesMondatbankItemEditPopupName => "TanuloErtekelesMondatbankItem_Edit_Popup";
|
||||
public static string TanuloErtekelesMondatbankItemEditFormName => "TanuloErtekelesMondatbankItemEditForm";
|
||||
public static string TanuloErtekelesMondatbankItemTobbesEditPopupName => "TanuloErtekelesMondatbankItem_TobbesEdit_Popup";
|
||||
|
||||
private static string AMIGroupName = StringResourcesUtil.GetString(2087);
|
||||
private static string HRModul = "HRModul";
|
||||
private static string TavolletGroupName = StringResourcesUtil.GetString(8867);
|
||||
|
||||
#endregion Properties
|
||||
// GET: Adminisztracio/SystemSettings
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new SystemSettingsModel
|
||||
{
|
||||
ChildModels = new List<PanelBarChildModel>(),
|
||||
PanelName = "SystemSettingsPanel",
|
||||
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
|
||||
Animation = true
|
||||
};
|
||||
|
||||
model.IsIntezmenySzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
|
||||
|
||||
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
var hrIsEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
using (var api = new SystemSettingsApiController())
|
||||
{
|
||||
var groupSettings = api.GetSystemSettings();
|
||||
|
||||
foreach (var group in groupSettings.Values)
|
||||
{
|
||||
if (!ClaimData.HasAmi && group.Title == AMIGroupName)
|
||||
continue;
|
||||
|
||||
if (!hrIsEnabled && group.Title == TavolletGroupName)
|
||||
continue;
|
||||
|
||||
List<object> childSettings = new List<object>();
|
||||
foreach (var setting in group.Childs.Values)
|
||||
{
|
||||
childSettings.Add(setting);
|
||||
}
|
||||
|
||||
model.ChildModels.Add(new PanelBarChildModel { PartialViewName = "SystemSettingsPanelBar", PartialViewTitle = group.Title, Data = childSettings, Enabled = group.Enabled });
|
||||
}
|
||||
}
|
||||
|
||||
var specialisBeallitasokModel = new SpecialisBeallitasokModel
|
||||
{
|
||||
ChildModels = new List<PanelBarChildModel>(),
|
||||
PanelName = "SpecialisBeallitasokPanel",
|
||||
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
|
||||
Animation = true
|
||||
};
|
||||
specialisBeallitasokModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "SpecialisBeallitasokPanelBar", PartialViewTitle = SystemSettingsResource.SpecialisBeallitasok });
|
||||
|
||||
model.SpecialisBeallitasokModel = specialisBeallitasokModel;
|
||||
|
||||
var rendszerszintuTorlesiLehetosegekModel = new RendszerszintuTorlesiLehetosegekModel
|
||||
{
|
||||
ChildModels = new List<PanelBarChildModel>(),
|
||||
PanelName = "RendszerszintuTorlesPanel",
|
||||
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
|
||||
Animation = true
|
||||
};
|
||||
rendszerszintuTorlesiLehetosegekModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "RendszerszintuTorlesPanelBar", PartialViewTitle = SystemSettingsResource.RendszerszintuTorlesiLehetosegek });
|
||||
|
||||
model.RendszerszintuTorlesiLehetosegekModel = rendszerszintuTorlesiLehetosegekModel;
|
||||
|
||||
if (model.IsIntezmenySzakkepzoJuttatas)
|
||||
{
|
||||
var juttatasBeallitasokModel = new JuttatasBeallitasokModel
|
||||
{
|
||||
ChildModels = new List<PanelBarChildModel>(),
|
||||
PanelName = "JuttatasBeallitasokPanel",
|
||||
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
|
||||
Animation = true,
|
||||
};
|
||||
juttatasBeallitasokModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "JuttatasBeallitasokPanelBar", PartialViewTitle = SystemSettingsResource.JuttatasBeallitasok });
|
||||
|
||||
model.JuttatasBeallitasokModel = juttatasBeallitasokModel;
|
||||
}
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
public ActionResult OpenCsoportTipusListWindow()
|
||||
{
|
||||
PopUpModel pm = new PopUpModel(null, "CsoportTipusList_Edit_Popup");
|
||||
pm = pm.AddCancelBtn(pm, "SettingsHelper.csoportTipusListWindowClose");
|
||||
pm = pm.AddBtn(pm, "saveCsoportTipusList", CommonResource.Mentes, "SettingsHelper.saveCsoportTipusList");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public ActionResult OpenGradeWeightWindow()
|
||||
{
|
||||
SystemSettingsApiController api = new SystemSettingsApiController();
|
||||
var model = api.GetGradeWeights();
|
||||
|
||||
PopUpModel pm = new PopUpModel(model, "SetGradeWeights_Bevitel");
|
||||
pm = pm.AddCancelBtn(pm, "SettingsHelper.gradeWeightsWindowClose");
|
||||
pm = pm.AddBtn(pm, "saveGradeWeights", CommonResource.Mentes, "SettingsHelper.saveGradeWeights");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult FejlecSzerkesztoPopUp()
|
||||
{
|
||||
PopUpModel pm;
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var model = new FejlecLablecSzerkesztoModel(helper.GetIntezmenyFejlec()) { IsFejlec = true };
|
||||
pm = CreateFejlecLablecModel(model);
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult LablecSzerkesztoPopUp()
|
||||
{
|
||||
PopUpModel pm;
|
||||
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var model = new FejlecLablecSzerkesztoModel(helper.GetIntezmenyLablec());
|
||||
pm = CreateFejlecLablecModel(model);
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
private PopUpModel CreateFejlecLablecModel(FejlecLablecSzerkesztoModel model)
|
||||
{
|
||||
var pm = new PopUpModel(model, "FejlecLablecSzerkeszto");
|
||||
pm = pm.AddCancelBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Cancel();}");
|
||||
pm = pm.AddDeleteBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Torles();}");
|
||||
pm = pm.AddOkBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Mentes();}");
|
||||
pm = pm.AddBtn(pm, "generate", CommonResource.Elonezet, "function(){FejlecLablecSzerkesztoHelper.Generalas();}");
|
||||
return pm;
|
||||
}
|
||||
|
||||
#region Tanuló Értékelés Mondatbank
|
||||
|
||||
[HttpGet]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
public ActionResult OpenTanuloErtekelesMondatbankPopup()
|
||||
{
|
||||
PopUpModel popUpModel = new PopUpModel(new TanuloErtekelesMondatbankSearchModel(), TanuloErtekelesMondatbankPopupName);
|
||||
popUpModel = popUpModel.AddBtn(popUpModel, "TanuloErtekelesMondatbankCancelButton", CommonResource.Megse, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankPopupCancel", "BtnCancel");
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
public ActionResult OpenTanuloErtekelesMondatbankItemEditPopup(int? id)
|
||||
{
|
||||
bool isModify = id.IsEntityId();
|
||||
TanuloErtekelesMondatbankItemModel model;
|
||||
if (isModify)
|
||||
{
|
||||
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model = new TanuloErtekelesMondatbankItemModel(helper.GetTanuloErtekelesMondatbankItemById(id.Value));
|
||||
}
|
||||
else
|
||||
{
|
||||
model = new TanuloErtekelesMondatbankItemModel();
|
||||
}
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
|
||||
var popupModel = new PopUpModel(model, TanuloErtekelesMondatbankItemEditPopupName);
|
||||
popupModel = popupModel.AddCancelBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupCancel");
|
||||
popupModel = popupModel.AddOkBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupSave");
|
||||
if (isModify)
|
||||
{
|
||||
popupModel.AddDeleteBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupDelete");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, popupModel);
|
||||
}
|
||||
|
||||
public ActionResult OpenTobbesModTanuloErtekelesMondatbankPopUp(List<int> idList)
|
||||
{
|
||||
var model = new TanuloErtekelesMondatbankTobbesItemModel
|
||||
{
|
||||
SelectedIdList = idList,
|
||||
};
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
||||
|
||||
var popupModel = new PopUpModel(model, TanuloErtekelesMondatbankItemTobbesEditPopupName);
|
||||
popupModel = popupModel.AddCancelBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupCancel");
|
||||
popupModel = popupModel.AddOkBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemTobbesEditPopupSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, popupModel);
|
||||
}
|
||||
|
||||
#endregion Tanuló Értékelés Mondatbank
|
||||
}
|
||||
}
|
|
@ -0,0 +1,209 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Configuration;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
public class SzerepkorValasztoController : Controller
|
||||
{
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> EUgyinteztesPermissions = new List<SzerepkorTipusEnum>
|
||||
{
|
||||
SzerepkorTipusEnum.eUgyintezo,
|
||||
SzerepkorTipusEnum.Alairo,
|
||||
SzerepkorTipusEnum.Penztaros,
|
||||
SzerepkorTipusEnum.PenzugyiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiEllenorzo,
|
||||
SzerepkorTipusEnum.TeremberletJelenletEllenorzo,
|
||||
SzerepkorTipusEnum.BelepokartyaAdmin
|
||||
};
|
||||
|
||||
private static readonly IEnumerable<SzerepkorTipusEnum> Permissions = new List<SzerepkorTipusEnum>
|
||||
{
|
||||
SzerepkorTipusEnum.eUgyintezo,
|
||||
SzerepkorTipusEnum.Alairo,
|
||||
SzerepkorTipusEnum.Penztaros,
|
||||
SzerepkorTipusEnum.PenzugyiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiAdmin,
|
||||
SzerepkorTipusEnum.EtkezesiEllenorzo,
|
||||
SzerepkorTipusEnum.TeremberletJelenletEllenorzo,
|
||||
SzerepkorTipusEnum.FokuszMonitoring,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiKoordinator,
|
||||
SzerepkorTipusEnum.Vedono,
|
||||
SzerepkorTipusEnum.Iskolaorvos,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiAsszisztens,
|
||||
SzerepkorTipusEnum.IskolaEgeszsegugyiLekerdezo,
|
||||
SzerepkorTipusEnum.BelepokartyaAdmin,
|
||||
SzerepkorTipusEnum.LeltarConcerned,
|
||||
SzerepkorTipusEnum.Konyvtaros,
|
||||
SzerepkorTipusEnum.FELTAR_EsetKezelo,
|
||||
SzerepkorTipusEnum.FELTAR_EszkozMenedzser,
|
||||
SzerepkorTipusEnum.KerdoivKitolto_KerdoivKezelo,
|
||||
SzerepkorTipusEnum.Dualis_Admin,
|
||||
SzerepkorTipusEnum.FELTAR_EsetJovahagyo,
|
||||
SzerepkorTipusEnum.FELTAR_EsetKozremukodo,
|
||||
SzerepkorTipusEnum.FELTAR_Munkavegzo,
|
||||
SzerepkorTipusEnum.FELTAR_SzerzodesMenedzser
|
||||
};
|
||||
|
||||
private IIdpConfiguration IdpConfiguration { get; }
|
||||
|
||||
public SzerepkorValasztoController(IIdpConfiguration idpConfiguration)
|
||||
{
|
||||
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var felhasznaloSzerepkorok = ClaimData.FelhasznaloSzerepkorok;
|
||||
// NOTE: Ha a felhasználó szerepkörök között szerepel kréta adminisztrátor és amellett szervezethez köthető szerepkör(pl.: duális adminisztrátor),
|
||||
// akkor azokat nem kell megjeleníteni, mert azok részei az intézményi kréta admin felületének/menüjének, ezért az ilyen szerepköröket kivesszük a listából.
|
||||
if (felhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator) && felhasznaloSzerepkorok.Any(x => FelhasznaloHelper.SzervezetiPermissions.Contains(x.Key)))
|
||||
{
|
||||
foreach (var szerepkorTipusEnum in FelhasznaloHelper.SzervezetiPermissions)
|
||||
{
|
||||
felhasznaloSzerepkorok.Remove(szerepkorTipusEnum);
|
||||
}
|
||||
}
|
||||
|
||||
var allowedRoles = GetAllowedRoles(felhasznaloSzerepkorok);
|
||||
|
||||
if (ClaimData.JustLEPOrganization && !ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Adminisztrator))
|
||||
{
|
||||
var lepEloadasJegyzekHelper = new LepEloadasJegyzekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hasLepAccess = lepEloadasJegyzekHelper.HasLEPAccess(ClaimData.FelhasznaloId);
|
||||
|
||||
if (!hasLepAccess)
|
||||
{
|
||||
return Redirect(Url.Content(@"~/HibaOldal/IndexLEPNincsJog"));
|
||||
}
|
||||
|
||||
var role = allowedRoles[0];
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role.Key }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
return Redirect(Url.Content(@"~/LEPModul/EloadasokKezelese"));
|
||||
}
|
||||
|
||||
// NOTE: Ha a belépett felhasználó szervezethez köthető alkalmazott(pl.: duális oktató), akkor semmi más ne jelenjen meg csak a szervezethez köthető elemek.
|
||||
var isAlkalmazottSzervezeti = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsAlkalmazottSzervezeti(ClaimData.FelhasznaloId);
|
||||
if (isAlkalmazottSzervezeti)
|
||||
{
|
||||
if (allowedRoles.Count == 1)
|
||||
{
|
||||
var role = allowedRoles[0];
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role.Key }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles));
|
||||
}
|
||||
|
||||
if (allowedRoles.Any())
|
||||
{
|
||||
if (allowedRoles.Count == 1)
|
||||
{
|
||||
var role = allowedRoles[0];
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role.Key }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.Count >= 2 && felhasznaloSzerepkorok.Keys.Any(x => Permissions.Contains(x)))
|
||||
{
|
||||
var role = allowedRoles[0];
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role.Key }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.IsEnabled))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => EUgyinteztesPermissions.Contains(x)))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => x == SzerepkorTipusEnum.FokuszMonitoring))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
if (felhasznaloSzerepkorok.Keys.All(x => x == SzerepkorTipusEnum.LeltarConcerned))
|
||||
{
|
||||
return Redirect(Classes.Utils.GetAuthenticationTokenRedirectUrl(intezmenyConfigHelper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
|
||||
}
|
||||
|
||||
return View("Index", ModelBuilder(allowedRoles));
|
||||
}
|
||||
|
||||
public ActionResult ChangeRole(SzerepkorTipusEnum role)
|
||||
{
|
||||
var felhasznaloSzerepkorok = ClaimData.FelhasznaloSzerepkorok;
|
||||
|
||||
if (felhasznaloSzerepkorok.ContainsKey(role))
|
||||
{
|
||||
ClaimManager.SetFelhasznaloSzerepkorClaim(new List<SzerepkorTipusEnum> { role }, GetEugyintezesESLPermissions(felhasznaloSzerepkorok));
|
||||
|
||||
var isPedagogiaiSzakszolgalat = role == SzerepkorTipusEnum.Adminisztrator && new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMukodesiHelyekForFelhelyValaszto().Any(x => x.FelhelyId.IsEntityId());
|
||||
return Json(new { Url = Url.Content(isPedagogiaiSzakszolgalat ? Constants.General.FelHelyValasztoPage : CommonExtensions.GetDefaultPage()), Success = true });
|
||||
}
|
||||
|
||||
return Json(new { Success = false });
|
||||
}
|
||||
|
||||
private SzerepkorValasztoModel ModelBuilder(List<KeyValuePair<SzerepkorTipusEnum, string>> allowedRoles)
|
||||
{
|
||||
var model = new SzerepkorValasztoModel();
|
||||
var shortname = ClaimData.OrganizationShortName;
|
||||
model.OrganizationName = ClaimData.OrganizationCode + " - " + (string.IsNullOrWhiteSpace(shortname) ? ClaimData.OrganizationName : shortname);
|
||||
model.UserName = $"{ClaimData.FelhasznaloNev} {(!string.IsNullOrWhiteSpace(ClaimData.GondviseloNeve) ? "(" + ClaimData.GondviseloNeve + ")" : "")}";
|
||||
model.ProfilImgSrc = ProfileUtils.UserProfileImage;
|
||||
|
||||
var currentRole = ClaimData.FelhasznaloSzerepkor;
|
||||
foreach (var item in allowedRoles)
|
||||
{
|
||||
model.Roles.Add(new UserRoles { Name = item.Value, Szerepkor = item.Key, IsActive = item.Key.Equals(currentRole) });
|
||||
}
|
||||
|
||||
if (currentRole.Equals(SzerepkorTipusEnum.Nincs_beallitva))
|
||||
{
|
||||
model.CancelLinkText = StringResourcesUtil.GetString(2582); /* Kijelentkezés */
|
||||
model.CancelLinkAction = "RoleChange.logout()";
|
||||
}
|
||||
else
|
||||
{
|
||||
model.CancelLinkText = StringResourcesUtil.GetString(3059); /* Mégse */
|
||||
model.CancelLinkAction = "RoleChange.back()";
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private List<KeyValuePair<SzerepkorTipusEnum, string>> GetAllowedRoles(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
=> felhasznaloSzerepkorok.Where(x => !Constants.General.NotVisiblePermissions.Contains(x.Key)).ToList();
|
||||
|
||||
private List<SzerepkorTipusEnum> GetEugyintezesESLPermissions(Dictionary<SzerepkorTipusEnum, string> felhasznaloSzerepkorok)
|
||||
=> Permissions.Where(x => felhasznaloSzerepkorok.Keys.Any(y => y == x)).ToList();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Classes;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanarImportController : Controller
|
||||
{
|
||||
private IFeatureContext FeatureContext { get; }
|
||||
|
||||
private IUploadFileValidator UploadFileValidator { get; }
|
||||
|
||||
public TanarImportController(IFeatureContext featureContext, IUploadFileValidator uploadFileValidator)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
UploadFileValidator = uploadFileValidator ?? throw new ArgumentNullException(nameof(uploadFileValidator));
|
||||
}
|
||||
|
||||
// GET: Adminisztracio/TanarImport
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new TanarKIRImportModel
|
||||
{
|
||||
KirLoginModel = new KIRLoginModel()
|
||||
{
|
||||
OmAzonosito = ClaimData.OrganizationCode,
|
||||
},
|
||||
KIRImportEnabled = FeatureContext.IsEnabled(Core.Constants.FeatureName.KIRImport),
|
||||
MaxAllowedFileSizeInBytes = UploadFileValidator.Configuration.ImportMaxAllowedFileSizeInBytes,
|
||||
AllowedFileExtensions = UploadFileValidator.Configuration.ImportAllowedFileExtensions
|
||||
};
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenKIRTanarImportPopup(TanarKIRImportModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KirLoginModel.OmAzonosito, model.KirLoginModel.FelhasznaloNev, jelszo: model.KirLoginModel.Jelszo);
|
||||
|
||||
var tanaresTanuloKIRImportModel = new TanarKIRImportModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
FeladatellatasiHelyId = model.FeladatellatasiHelyId,
|
||||
KIRImportModel = new KIRImportModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
KirToken = kirHelper.KirToken,
|
||||
TelephelyList = kirHelper.GetTelephelyList().ToSelectListItemList(),
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev
|
||||
},
|
||||
KirLoginModel = new KIRLoginModel
|
||||
{
|
||||
OmAzonosito = model.KirLoginModel.OmAzonosito,
|
||||
FelhasznaloNev = model.KirLoginModel.FelhasznaloNev
|
||||
},
|
||||
};
|
||||
var pm = new PopUpModel(tanaresTanuloKIRImportModel, "KIRTanarImportModal");
|
||||
pm.AddCancelBtn(pm, "KretaWindowHelper.destroyAllWindow");
|
||||
pm.AddBtn(pm, "BtnKIRImport", 3486 /*Importálás*/, "KIRTanarImportHelper.KIRImport");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult KIRImport(TanarKIRImportModel model, int feladatellatasiHelyId)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var kirHelper = new KirHelper(ConnectionTypeExtensions.GetSessionConnectionType(), model.KIRImportModel.OmAzonosito, model.KIRImportModel.FelhasznaloNev, kirToken: model.KIRImportModel.KirToken);
|
||||
|
||||
var tanarList = kirHelper.GetPedagogusList(model.KIRImportModel.TelephelyKod.Value);
|
||||
|
||||
var egysegesImportHelper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
egysegesImportHelper.ExecuteKIRTanarImport(tanarList);
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanarImportPopUp(int feladatellatasiHelyId)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var tanarokFeltolteseModel = new TanarokFeltolteseModel
|
||||
{
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
FeladatellatasiHelyId = feladatellatasiHelyId,
|
||||
Errors = helper.TanarKIRAdatok.Validate()
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanarokFeltolteseModel, "TanarokFeltolteseModal");
|
||||
model.AddCancelBtn(model, "KretaWindowHelper.destroyAllWindow");
|
||||
|
||||
if (tanarokFeltolteseModel.Errors.Count == 0)
|
||||
{
|
||||
model.AddOkBtn(model, "KIRTanarFeltoltesHelper.Save");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult UploadKIRTanarFile(HttpPostedFileBase importTanarFile)
|
||||
{
|
||||
UploadFileValidator.ValidateImportFile(importTanarFile);
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.ExecuteKIRTanarImportFile(importTanarFile.InputStream, importTanarFile.FileName, ClaimData.IsSzakkepzoIntezmeny);
|
||||
}
|
||||
catch (KretaInvalidFileFormatException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
return Content(string.Empty);
|
||||
}
|
||||
|
||||
public ActionResult SaveTanarok(int feladatellatasiHelyId)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
helper.SaveImportaltTanarok(feladatellatasiHelyId);
|
||||
|
||||
return Json(new { tovabbUrl = @"/Alkalmazott/Alkalmazott" });
|
||||
}
|
||||
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
public ActionResult GetPreLoadedTeachers(DataSourceRequest request)
|
||||
{
|
||||
var helper = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
return Json(helper.GetImportaltTanarok().ToDataSourceResult(), JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
public ActionResult DownloadTemplate()
|
||||
{
|
||||
string filePath = Kreta.Web.Classes.Utils.GetExcelTemplateFilePath(Constants.ImportExport.AlkalmazottImportSablonNev);
|
||||
|
||||
if (filePath == null)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlNemLetezik);
|
||||
}
|
||||
|
||||
return File(filePath, Core.Constants.ContentTypes.Xlsx, Constants.ImportExport.AlkalmazottImportSablonNev);
|
||||
}
|
||||
|
||||
public ActionResult ExportAktualisAdatok()
|
||||
{
|
||||
var memoryStream = new EgysegesImportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ExportTanarAktualisAdatok();
|
||||
return new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = $"{AlkalmazottResource.Alkalmazottak_Export}.{Constants.ImportExport.FileFormatXlsx}" };
|
||||
}
|
||||
}
|
||||
}
|
37
KretaWeb/Areas/Adminisztracio/Helpers/ProfilHelper.cs
Normal file
37
KretaWeb/Areas/Adminisztracio/Helpers/ProfilHelper.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Web.Areas.Adminisztracio.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Helpers
|
||||
{
|
||||
public class ProfilHelper
|
||||
{
|
||||
public SajatAdatlapInfoModel GetTanarSajatAdatlapDataForInfo(int id)
|
||||
{
|
||||
var tanarAdatCo = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarAdatok(id);
|
||||
var egyhaztartasbanElokCo = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyhaztartasbanElokData(ClaimData.FelhasznaloId);
|
||||
return SajatAdatlapInfoModel.ConvertTanarAdatCoToModel(tanarAdatCo, egyhaztartasbanElokCo);
|
||||
}
|
||||
|
||||
public SajatAdatlapInfoModel GetTanuloSajatAdatlapDataForInfo(int id, string urlHost)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var tanuloAdatCo = new TanuloHelper(connectionType).GetTanuloiAdatok(id, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
||||
var bankszamlaIgenylesCo = new TanuloHelper(connectionType).GetBankszamlaIgenylesData(ClaimData.FelhasznaloId, urlHost);
|
||||
var egyhaztartasbanElokCo = new FelhasznaloHelper(connectionType).GetEgyhaztartasbanElokData(ClaimData.FelhasznaloId);
|
||||
var model = SajatAdatlapInfoModel.ConvertTanuloAdatCoToModel(tanuloAdatCo, bankszamlaIgenylesCo, egyhaztartasbanElokCo);
|
||||
model.TanuloBankszamla.IsSzakkepzo = new IntezmenyHelper(connectionType).GetIntezmenyiAdatok().IsSzakkepzo;
|
||||
return model;
|
||||
}
|
||||
|
||||
public SajatAdatlapInfoModel GetGondviseloSajatAdatlapDataForInfo(int id, string urlHost)
|
||||
{
|
||||
var felhasznalo4TAdatokCo = new GondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviselo4TAdatok(ClaimData.GondviseloId.Value);
|
||||
var gondviseloAdatCo = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloGondviseloById(id);
|
||||
var bankszamlaIgenylesCo = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBankszamlaIgenylesData(ClaimData.FelhasznaloId, urlHost);
|
||||
var egyhaztartasbanElokCo = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEgyhaztartasbanElokData(ClaimData.FelhasznaloId);
|
||||
return SajatAdatlapInfoModel.ConvertGondviseloAdatCoToModel(gondviseloAdatCo, felhasznalo4TAdatokCo, bankszamlaIgenylesCo, egyhaztartasbanElokCo);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Helpers
|
||||
{
|
||||
public static class TanuloErtekelesMondatbankWebHelper
|
||||
{
|
||||
|
||||
public static List<SelectListItem> GetTipusList()
|
||||
{
|
||||
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErtekelesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)ErtekelesTipusEnum.na).ToString() });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetEvfolyamTipusList()
|
||||
{
|
||||
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EvfolyamTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)EvfolyamTipusEnum.na).ToString() });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetTantargyList()
|
||||
{
|
||||
var list = new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem
|
||||
{
|
||||
Value = TanuloErtekelesMondatbankHelper.MagatartasTantargyId.ToString(),
|
||||
Text = TanuloErtekelesResource.Magatartas
|
||||
},
|
||||
new SelectListItem
|
||||
{
|
||||
Value = TanuloErtekelesMondatbankHelper.SzorgalomTantargyId.ToString(),
|
||||
Text = TanuloErtekelesResource.Szorgalom
|
||||
}
|
||||
};
|
||||
List<SelectListItem> result = list.Union(new TantargyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTantargyakForDDL().ToSelectListItemList()).ToList();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
226
KretaWeb/Areas/Adminisztracio/Models/AdatszotarGridModel.cs
Normal file
226
KretaWeb/Areas/Adminisztracio/Models/AdatszotarGridModel.cs
Normal file
|
@ -0,0 +1,226 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdatszotarGridModel : IKretaIdentity
|
||||
{
|
||||
public const string AdatszotarExportAttributeId = nameof(AdatszotarExportAttributeId);
|
||||
public const string AdatszotarNapTipusExportAttributeId = nameof(AdatszotarNapTipusExportAttributeId);
|
||||
|
||||
public AdatszotarGridModel()
|
||||
{
|
||||
this.IsLathato = true;
|
||||
AdatszotarTipusList = new List<SelectListItem>();
|
||||
ZaradekSzovegList = new List<ZaradekSzovegModel>();
|
||||
}
|
||||
|
||||
public AdatszotarGridModel(AdatszotarItemCo itemCo) : this()
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
AdatszotarTipusId = itemCo.AdatszotarTipusId;
|
||||
AdatszotarTipusNev = itemCo.AdatszotarTipusNev;
|
||||
Megnevezes = itemCo.Megnevezes;
|
||||
Sorszam = itemCo.Sorszam;
|
||||
Megnevezes1 = itemCo.Megnevezes1;
|
||||
Megnevezes2 = itemCo.Megnevezes2;
|
||||
Megnevezes3 = itemCo.Megnevezes3;
|
||||
Megnevezes4 = itemCo.Megnevezes4;
|
||||
IsLathato = itemCo.IsLathato;
|
||||
IsLathatoText = itemCo.IsLathatoText;
|
||||
IsProtected = itemCo.IsProtected;
|
||||
IsProtectedText = itemCo.IsProtectedText;
|
||||
IsSorszamozando = itemCo.IsSorszamozando;
|
||||
IsSorszamozandoText = itemCo.IsSorszamozandoText;
|
||||
IsTanorai = itemCo.IsTanorai;
|
||||
IsTanoraiText = itemCo.IsTanoraiText;
|
||||
IsTanorankivuli = itemCo.IsTanorankivuli;
|
||||
IsTanorankivuliText = itemCo.IsTanorankivuliText;
|
||||
IsLeNemKotottMunkaido = itemCo.IsLeNemKotottMunkaido;
|
||||
IsLeNemKotottMunkaidoText = itemCo.IsLeNemKotottMunkaidoText;
|
||||
}
|
||||
|
||||
public AdatszotarGridModel(AdatszotarCO co) : this()
|
||||
{
|
||||
ID = string.Empty;
|
||||
AdatszotarID = co.ID;
|
||||
AdatszotarTipusNev = co.AdatszotarTipus;
|
||||
AdatszotarTipusId = co.AdatszotarTipusId;
|
||||
IsLathato = co.Lathato ?? false;
|
||||
Megnevezes = co.Megnevezes;
|
||||
Sorszam = co.Sorszam;
|
||||
Megnevezes1 = co.Megnevezes1;
|
||||
Megnevezes2 = co.Megnevezes2;
|
||||
Megnevezes3 = co.Megnevezes3;
|
||||
Megnevezes4 = co.Megnevezes4;
|
||||
Color = "#" + co.Color != null ? co.Color : "000000";
|
||||
IsBold = co.IsBold;
|
||||
Suly = co.Suly;
|
||||
IsProtected = co.Protected;
|
||||
IsSorszamozando = co.IsSorszamozando;
|
||||
IsTanorai = co.IsTanorai;
|
||||
IsTanorankivuli = co.IsTanorankivuli;
|
||||
IsLeNemKotottMunkaido = co.IsLeNemKotottMunkaido;
|
||||
IsBizonyitvanybanMegjelenik = co.IsBizonyitvanybanMegjelenik;
|
||||
IsNaplobanMegjelenik = co.IsNaplobanMegjelenik;
|
||||
IsTorzslaponMegjelenik = co.IsTorzslaponMegjelenik;
|
||||
|
||||
ZaradekSzovegList = (co.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus) ?
|
||||
ZaradekSzovegModel.AdatszotarNyelvCoToZaradekSzovegModel(co.ZaradekSzovegCoList) :
|
||||
new List<ZaradekSzovegModel>();
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
public int? AdatszotarID { get; set; }
|
||||
|
||||
public int AdatszotarTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Adatszotar), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string AdatszotarTipusNev { get; set; }
|
||||
|
||||
public List<SelectListItem> AdatszotarTipusList { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 01, nameof(AdminisztracioResource.Megnevezes), typeof(AdminisztracioResource))]
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 01, nameof(AdminisztracioResource.Megnevezes), typeof(AdminisztracioResource))]
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.MegnevezesMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[StringLength(250, ErrorMessageResourceName = nameof(ErrorResource.AMegnevezesMax250KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megnevezes), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megnevezes { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 00, nameof(AdminisztracioResource.Sorszam), typeof(AdminisztracioResource))]
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 00, nameof(AdminisztracioResource.Sorszam), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Sorszam), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? Sorszam { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 02, nameof(AdminisztracioResource.Megnevezes1), typeof(AdminisztracioResource))]
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 02, nameof(AdminisztracioResource.Megnevezes1), typeof(AdminisztracioResource))]
|
||||
[StringLength(250, ErrorMessageResourceName = nameof(ErrorResource.AMegnevezes1Max250KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megnevezes1), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megnevezes1 { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 03, nameof(AdminisztracioResource.Megnevezes2), typeof(AdminisztracioResource))]
|
||||
[StringLength(250, ErrorMessageResourceName = nameof(ErrorResource.AMegnevezes2Max250KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megnevezes2), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megnevezes2 { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 04, nameof(AdminisztracioResource.Megnevezes3), typeof(AdminisztracioResource))]
|
||||
[StringLength(250, ErrorMessageResourceName = nameof(ErrorResource.AMegnevezes3Max250KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megnevezes3), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megnevezes3 { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 05, nameof(AdminisztracioResource.Megnevezes4), typeof(AdminisztracioResource))]
|
||||
[StringLength(250, ErrorMessageResourceName = nameof(ErrorResource.AMegnevezes4Max250KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megnevezes4), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megnevezes4 { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 04, nameof(AdminisztracioResource.Lathato), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Lathato), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsLathato { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.VedettElem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsProtected { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 07, nameof(AdminisztracioResource.Lathato), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Lathato), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsLathatoText { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarExportAttributeId, 06, nameof(AdminisztracioResource.VedettElem), typeof(AdminisztracioResource))]
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 03, nameof(AdminisztracioResource.VedettElem), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.VedettElem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsProtectedText { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Szin), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Color { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Felkover), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsBold { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Suly), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int Suly { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsSorszamozando), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsSorszamozando { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsTanorai), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsTanorai { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 06, nameof(AdminisztracioResource.IsTanoraiGridHeader), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.IsTanoraiGridHeader), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsTanoraiText { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsTanorankivuli), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsTanorankivuli { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsLeNemKotottMunkaido), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsLeNemKotottMunkaido { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 08, nameof(AdminisztracioResource.IsLeNemKotottMunkaidoGridHeader), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.IsLeNemKotottMunkaidoGridHeader), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsLeNemKotottMunkaidoText { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 05, nameof(AdminisztracioResource.Sorszamozando), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.IsSorszamozandoGridHeader), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsSorszamozandoText { get; set; }
|
||||
|
||||
[SimpleExportColumn(AdatszotarNapTipusExportAttributeId, 07, nameof(AdminisztracioResource.IsTanorankivuliGridHeader), typeof(AdminisztracioResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.IsTanorankivuliGridHeader), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsTanorankivuliText { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsNaplobanMegjelenik), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsNaplobanMegjelenik { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsTorzslaponMegjelenik), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsTorzslaponMegjelenik { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.IsBizonyitvanybanMegjelenik), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool IsBizonyitvanybanMegjelenik { get; set; }
|
||||
|
||||
public List<ZaradekSzovegModel> ZaradekSzovegList { get; set; }
|
||||
|
||||
public AdatszotarCO ToCo()
|
||||
{
|
||||
AdatszotarCO co = new AdatszotarCO
|
||||
{
|
||||
ID = this.AdatszotarID,
|
||||
AdatszotarTipus = this.AdatszotarTipusNev,
|
||||
AdatszotarTipusId = this.AdatszotarTipusId,
|
||||
Lathato = this.IsLathato,
|
||||
Megnevezes = this.Megnevezes,
|
||||
Sorszam = this.Sorszam,
|
||||
Megnevezes1 = this.Megnevezes1,
|
||||
Megnevezes2 = this.Megnevezes2,
|
||||
Megnevezes3 = this.Megnevezes3,
|
||||
Megnevezes4 = this.Megnevezes4,
|
||||
Color = this.Color != null ? this.Color.Replace("#", "") : "",
|
||||
IsBold = this.IsBold,
|
||||
Suly = this.Suly,
|
||||
Protected = this.IsProtected,
|
||||
IsSorszamozando = this.IsSorszamozando,
|
||||
IsTanorai = this.IsTanorai,
|
||||
IsTanorankivuli = this.IsTanorankivuli,
|
||||
IsLeNemKotottMunkaido = this.IsLeNemKotottMunkaido,
|
||||
IsBizonyitvanybanMegjelenik = this.IsBizonyitvanybanMegjelenik,
|
||||
IsNaplobanMegjelenik = this.IsNaplobanMegjelenik,
|
||||
IsTorzslaponMegjelenik = this.IsTorzslaponMegjelenik
|
||||
};
|
||||
|
||||
co.ZaradekSzovegCoList = (this.AdatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus) ?
|
||||
this.ZaradekSzovegList.ConvertAll(x => new AdatszotarZaradekNyelvCo
|
||||
{
|
||||
NyelvId = x.NyelvId,
|
||||
Name = x.Szoveg
|
||||
}) :
|
||||
new List<AdatszotarZaradekNyelvCo>();
|
||||
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdatszotarSearchModel
|
||||
{
|
||||
[Display(Name = nameof(AdminisztracioResource.AdatszotarTipus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? AdatszotarTipusTypeId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardAbstarctModel
|
||||
{
|
||||
public string IntezmenyNev { get; set; }
|
||||
|
||||
public string IntezmenyAzonosito { get; set; }
|
||||
|
||||
public string IntezmenyAlternativAzonosito { get; set; }
|
||||
|
||||
public string TanevNev { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public static class AdminDashboardAdattisztitasAlkalmazottModel
|
||||
{
|
||||
public static DateTime AdattisztitasUtolsoFrissites { get; set; }
|
||||
public static int AlkalmazottakSzama { get; set; }
|
||||
public static int AlkalmazottakOsszesHibai { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardAdminisztracioModel : AdminDashboardAbstarctModel
|
||||
{
|
||||
public bool isKlebelsberg { get; set; }
|
||||
|
||||
public int NincsAktivCsengetesiRend { get; set; }
|
||||
|
||||
public int NincsAllampolgarsagaTanulo { get; set; }
|
||||
|
||||
public int NincsAnyanyelvTanulo { get; set; }
|
||||
|
||||
public int NincsBesorolasiFokozatAlkalmazott { get; set; }
|
||||
|
||||
public int NincsEvfolyamCsoport { get; set; }
|
||||
|
||||
public int NincsEvfolyamOsztaly { get; set; }
|
||||
|
||||
public int NincsFeladatellatasiHelyMukodesiHely { get; set; }
|
||||
|
||||
public int NincsFeladatellatasiHelyTipus { get; set; }
|
||||
|
||||
public int NincsKategoriaTantargy { get; set; }
|
||||
|
||||
public int NincsMunkakorAlkalmazott { get; set; }
|
||||
|
||||
public int NincsMunkaviszonyTipusAlkalmazott { get; set; }
|
||||
|
||||
public int NincsNemAlkalmazott { get; set; }
|
||||
|
||||
public int NincsNemTanulo { get; set; }
|
||||
|
||||
public int NincsOsztalybaSorolvaTanulo { get; set; }
|
||||
|
||||
public int NincsOsztalyOsztalyfonok { get; set; }
|
||||
|
||||
public int NincsSzakmacsoportTanulo { get; set; }
|
||||
|
||||
public int NincsTipusCsoport { get; set; }
|
||||
|
||||
public int UresCsoport { get; set; }
|
||||
|
||||
public int UresOsztaly { get; set; }
|
||||
|
||||
public int NSzFHRosszMunkakor { get; set; }
|
||||
|
||||
public DateTime? LicenceDatum { get; set; }
|
||||
|
||||
public int NincsEmailAlkalmazott { get; set; }
|
||||
|
||||
public int NincsAlkalmazottSZTSZ { get; set; }
|
||||
|
||||
public int HibasanRogzitettOktatasiAzonositok { get; set; }
|
||||
|
||||
public int HibasanRogzitettTajSzamok { get; set; }
|
||||
|
||||
public int HibasanRogzitettAdoazonositoJelek { get; set; }
|
||||
|
||||
public bool IsLEPModulEngedelyezett { get; set; }
|
||||
|
||||
public bool VanHibasEmailCim { get; set; }
|
||||
|
||||
public int VanKettosOsztalybesorolas { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Covid fertőzöttek
|
||||
/// </summary>
|
||||
public bool VanCovidFertozott { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő által bejelentettek
|
||||
/// </summary>
|
||||
public bool VanCovidBejelentett { get; set; }
|
||||
}
|
||||
}
|
76
KretaWeb/Areas/Adminisztracio/Models/AdminDashboardModel.cs
Normal file
76
KretaWeb/Areas/Adminisztracio/Models/AdminDashboardModel.cs
Normal file
|
@ -0,0 +1,76 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardModel
|
||||
{
|
||||
public AdminDashboardAdminisztracioModel AdminisztracioModel { get; set; }
|
||||
|
||||
public AdminDashboardNaploModel NaploModel { get; set; }
|
||||
|
||||
public AdminDashboardStatisztikaModel StatisztikaModel { get; set; }
|
||||
|
||||
public IList<AdminDashboardItemModel> DashboardUzenetek { get; set; }
|
||||
|
||||
public IList<string> EgyediAzonositokByIntezmeny { get; set; }
|
||||
|
||||
public AdminDashboardSzakkepzesiJuttatasokModel SzakkepzesiJuttatasokModel { get; set; }
|
||||
|
||||
public AdminDashboardTableModel Ugyek { get; set; }
|
||||
}
|
||||
|
||||
public class AdminDashboardItemModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Content { get; set; }
|
||||
|
||||
public AdminDashboardTipusEnum Type { get; set; }
|
||||
|
||||
public int Sorrend { get; set; }
|
||||
|
||||
public string EgyediAzonosito { get; set; }
|
||||
}
|
||||
|
||||
public class AdminDashboardPopupItemModel : AdminDashboardItemModel
|
||||
{
|
||||
public int DashboardUzenetFelhasznaloId { get; set; }
|
||||
|
||||
public int MegjelenitesekSzama { get; set; }
|
||||
|
||||
public DateTime? UtolsoMegtekintesIdeje { get; set; }
|
||||
|
||||
public string EgyediMuvelet { get; set; }
|
||||
}
|
||||
|
||||
public class AdminDashboardTableModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Url { get; set; }
|
||||
|
||||
public bool OpenInNewWindow { get; set; }
|
||||
|
||||
public bool IsEnabled { get; set; }
|
||||
|
||||
public List<string> Headers { get; set; }
|
||||
|
||||
public List<AdminDashboardTableRowModel> Rows { get; set; }
|
||||
}
|
||||
|
||||
public class AdminDashboardTableRowModel
|
||||
{
|
||||
public List<string> Columns { get; set; }
|
||||
}
|
||||
|
||||
public class Ugy
|
||||
{
|
||||
public int Azonosito { get; set; }
|
||||
public DateTime BekuldesIdopontja { get; set; }
|
||||
public string TanuloNev { get; set; }
|
||||
public string TanuloOsztaly { get; set; }
|
||||
public string UgyTipusKod { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardNaploModel : AdminDashboardAbstarctModel
|
||||
{
|
||||
public int NemLepettBeHonapAlkalmazott { get; set; }
|
||||
|
||||
public int NemLepettBeKetHetAlkalmazott { get; set; }
|
||||
|
||||
public int NincsBelepesAlkalmazott { get; set; }
|
||||
|
||||
public int NincsBelepesGondviselo { get; set; }
|
||||
|
||||
public int NincsBelepesTanulo { get; set; }
|
||||
|
||||
public int ZarasiGond { get; set; }
|
||||
|
||||
public string NaploZarasanakBeallitasa { get; set; }
|
||||
|
||||
public string NaploFixDatumuZarasanakIdopontja { get; set; }
|
||||
|
||||
public NaplozarasTipusaEnum NaploZarasTipusa { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardStatisztikaModel : AdminDashboardAbstarctModel
|
||||
{
|
||||
public string AktivTanevNeve { get; set; }
|
||||
|
||||
public int AktivTanulokSzama { get; set; }
|
||||
|
||||
public int AlkalmazottakSzama { get; set; }
|
||||
|
||||
public int CsoportokSzama { get; set; }
|
||||
|
||||
public int EszkozokSzama { get; set; }
|
||||
|
||||
public int OsztalyokSzama { get; set; }
|
||||
|
||||
public int TanulokSzama { get; set; }
|
||||
|
||||
public int TermekSzama { get; set; }
|
||||
|
||||
public double TtfOrakSzama { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AdminDashboardSzakkepzesiJuttatasokModel
|
||||
{
|
||||
public bool IsSzakkepzoJuttatas { get; set; }
|
||||
public int NemRendelkezikOsztondijAlapAdattal { get; set; }
|
||||
public int NemRendelkezikOsztondijUtalasAdattal { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Helpers;
|
||||
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public abstract class BaseTanuloErtekelesMondatbankItemModel
|
||||
{
|
||||
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public abstract int? TanuloErtekelesTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.EvfolyamTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public abstract int? EvfolyamTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public abstract int? TantargyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Szoveg), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public abstract string Szoveg { get; set; }
|
||||
|
||||
[MaxLength(3, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.RovidNev), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string RovidNev { get; set; }
|
||||
|
||||
public List<SelectListItem> TipusList { get; set; }
|
||||
|
||||
public List<SelectListItem> EvfolyamTipusList { get; set; }
|
||||
|
||||
public List<SelectListItem> TantargyList { get; set; }
|
||||
|
||||
protected BaseTanuloErtekelesMondatbankItemModel(bool mustSetSelectListItemLists = true)
|
||||
{
|
||||
if (mustSetSelectListItemLists)
|
||||
{
|
||||
SetSelectListItemLists(this);
|
||||
}
|
||||
|
||||
TanuloErtekelesTipusId = null;
|
||||
EvfolyamTipusId = null;
|
||||
TantargyId = null;
|
||||
}
|
||||
|
||||
protected void SetSelectListItemLists(BaseTanuloErtekelesMondatbankItemModel model)
|
||||
{
|
||||
var defaultList = new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem
|
||||
{
|
||||
Value = "0",
|
||||
Text = CommonResource.Mind
|
||||
}
|
||||
};
|
||||
model.TipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTipusList()).ToList();
|
||||
model.EvfolyamTipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetEvfolyamTipusList()).ToList();
|
||||
model.TantargyList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTantargyList()).ToList();
|
||||
}
|
||||
|
||||
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
|
||||
|
||||
public bool IsNyelviesitesActive => NemzetiDokumentumNyelvek.Any();
|
||||
|
||||
public bool IsNemetNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet);
|
||||
|
||||
public bool IsHorvatNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat);
|
||||
|
||||
public bool IsRomanNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.roman);
|
||||
|
||||
public bool IsSzerbNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb);
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegNemet), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string SzovegNemet { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegHorvat), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string SzovegHorvat { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegRoman), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string SzovegRoman { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegSzerb), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string SzovegSzerb { get; set; }
|
||||
|
||||
public abstract ModelStateDictionary Validate();
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/Adminisztracio/Models/BelepesKezeloModel.cs
Normal file
44
KretaWeb/Areas/Adminisztracio/Models/BelepesKezeloModel.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class BelepesKezeloModel
|
||||
{
|
||||
public BelepesKezeloModel()
|
||||
{
|
||||
Lehetosegek = new List<BelepesiLehetoseg>();
|
||||
}
|
||||
|
||||
public string OrganizationName { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
|
||||
public string ProfilImgSrc { get; set; }
|
||||
|
||||
public List<BelepesiLehetoseg> Lehetosegek { get; set; }
|
||||
|
||||
public string CancelLinkText { get; set; }
|
||||
|
||||
public string CancelLinkAction { get; set; }
|
||||
|
||||
public class BelepesiLehetoseg
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public SzerepkorTipusEnum Szerepkor { get; set; }
|
||||
public LehetosegTipus Tipus { get; set; }
|
||||
}
|
||||
|
||||
public enum LehetosegTipus
|
||||
{
|
||||
Kreta = 1,
|
||||
DKT = 2,
|
||||
Eugy = 3,
|
||||
ESL = 4,
|
||||
Fokusz = 5,
|
||||
EJelentkezes = 6,
|
||||
Leltar = 7,
|
||||
Konyvtar = 8
|
||||
}
|
||||
}
|
||||
}
|
30
KretaWeb/Areas/Adminisztracio/Models/CsoportTipusModel.cs
Normal file
30
KretaWeb/Areas/Adminisztracio/Models/CsoportTipusModel.cs
Normal file
|
@ -0,0 +1,30 @@
|
|||
using Kreta.BusinessLogic.Interfaces;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class CsoportTipusModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
public string Nev { get; set; }
|
||||
|
||||
public bool IsTanoraiCelu { get; set; }
|
||||
|
||||
public bool IsProtected { get; set; }
|
||||
|
||||
public int? OraPerc { get; set; }
|
||||
}
|
||||
|
||||
public class CsoportTipusGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public string Nev { get; set; }
|
||||
|
||||
public bool IsTanoraiCelu { get; set; }
|
||||
|
||||
public bool IsProtected { get; set; }
|
||||
|
||||
public int? OraPerc { get; set; }
|
||||
}
|
||||
}
|
14
KretaWeb/Areas/Adminisztracio/Models/DataForMdszModel.cs
Normal file
14
KretaWeb/Areas/Adminisztracio/Models/DataForMdszModel.cs
Normal file
|
@ -0,0 +1,14 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class DataForMdszModel
|
||||
{
|
||||
public List<int> Tanulok { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.FeladhelySorszamMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public int? FeladhelySorszam { get; set; }
|
||||
}
|
||||
}
|
27
KretaWeb/Areas/Adminisztracio/Models/DiakolimpiaGridModel.cs
Normal file
27
KretaWeb/Areas/Adminisztracio/Models/DiakolimpiaGridModel.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class DiakolimpiaGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Nev), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Nev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.SzuletesiDatum), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime SzuletesiDatum { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.AnyjaNeve), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Osztaly), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Osztalya { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.OktatasiAzonosito), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class DiakolimpiaSearchModel
|
||||
{
|
||||
[Display(Name = nameof(AdminisztracioResource.Nev), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string SearchNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.SzuletesiDatum), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime? SearchSzuletesiDatumtol { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.SzuletesiDatum), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime? SearchSzuletesiDatumig { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.AnyjaNeve), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string SearchAnyjaNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Osztaly), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? SearchOsztalya { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.OktatasiAzonosito), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string SearchOktatasiAzonosito { get; set; }
|
||||
}
|
||||
}
|
29
KretaWeb/Areas/Adminisztracio/Models/ElerhetosegekModel.cs
Normal file
29
KretaWeb/Areas/Adminisztracio/Models/ElerhetosegekModel.cs
Normal file
|
@ -0,0 +1,29 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class ElerhetosegekModel
|
||||
{
|
||||
public List<EmailElerhetosegModel> Email { get; set; }
|
||||
|
||||
public List<TelefonElerhetosegModel> Telefon { get; set; }
|
||||
|
||||
public ElerhetosegekModCO ConvertToCo()
|
||||
{
|
||||
return new ElerhetosegekModCO
|
||||
{
|
||||
Email = Email.Select(e => e.ConvertToCo()).ToList(),
|
||||
Telefon = Telefon.Select(t => t.ConvertToCo()).ToList()
|
||||
};
|
||||
}
|
||||
|
||||
public void CleanFromEmptyRows()
|
||||
{
|
||||
// Azok a sorok nem kellenek amelyeket törölni kell, de még nem szerepel az adatbázisba.
|
||||
Email = Email.Where(e => e.Id.HasValue || e.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).ToList();
|
||||
Telefon = Telefon.Where(t => t.Id.HasValue || t.Status != Enums.ManualEnums.ElerhetosegStatusEnum.Deleted).ToList();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class ElfelejtettJelszoModel
|
||||
{
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.FelhasznalonevMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Felhasznalonev), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string BejelentkezesiNev { get; set; }
|
||||
|
||||
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.EmailCimMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.EmailCim), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string EmailCim { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.CaptchaMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string ReCaptcha { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class EmailElerhetosegModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
|
||||
public string TextBoxId { get; set; }
|
||||
|
||||
public string ComboBoxId { get; set; }
|
||||
|
||||
public int? Tipus { get; set; }
|
||||
|
||||
public string EmailCim_Input { get; set; }
|
||||
|
||||
public string EmailCim => EmailCim_Input?.Trim();
|
||||
|
||||
public bool Alapertelmezett { get; set; }
|
||||
|
||||
public ElerhetosegStatusEnum Status { get; set; }
|
||||
|
||||
public bool IsPublic
|
||||
{
|
||||
get
|
||||
{
|
||||
return Tipus == (int)EmailTipusEnum.PublikusEmailcim;
|
||||
}
|
||||
}
|
||||
|
||||
public string Label
|
||||
{
|
||||
get
|
||||
{
|
||||
var label = string.Empty;
|
||||
if (Tipus.HasValue)
|
||||
{
|
||||
var tipusString = ((EmailTipusEnum)Tipus).GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
label = $"{tipusString} {AdminisztracioResource.EmailCim.ToLower()}";
|
||||
}
|
||||
return label;
|
||||
}
|
||||
}
|
||||
|
||||
public EmailElerhetosegCo ConvertToCo()
|
||||
{
|
||||
return new EmailElerhetosegCo
|
||||
{
|
||||
Id = Id,
|
||||
TextBoxId = TextBoxId,
|
||||
Tipus = Tipus.Value,
|
||||
EmailCim = EmailCim,
|
||||
Alapertelmezett = Alapertelmezett,
|
||||
IsPublic = IsPublic,
|
||||
Status = Status
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class ErtekelesModSulyListModel
|
||||
{
|
||||
public List<ErtekelesModSulyModel> ErtekelesModSulyList { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class ErtekelesModSulyModel
|
||||
{
|
||||
public string ErtekelesModNev { get; set; }
|
||||
|
||||
public int ErtekelesModId { get; set; }
|
||||
|
||||
[KretaRange(1, 1000, ErrorMessageResourceName = nameof(TanuloErtekelesResource.SzazalekosErtekNincsAMegengedettTartomanyban), ErrorMessageResourceType = typeof(TanuloErtekelesResource))]
|
||||
public int Suly { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using Kreta.BusinessLogic.HelperClasses;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class FejlecLablecSzerkesztoModel
|
||||
{
|
||||
public FejlecLablecSzerkesztoModel()
|
||||
{
|
||||
}
|
||||
|
||||
public FejlecLablecSzerkesztoModel(IntezmenyFejlecLablecCo co)
|
||||
{
|
||||
IsFejlecOrLablecMegjelenit = co.IsFejlecOrLablecMegjelenit;
|
||||
Htmlcontent = co.HtmlContent;
|
||||
Base64Image = co.Base64Img;
|
||||
}
|
||||
|
||||
public bool IsFejlec { get; set; }
|
||||
public bool IsFejlecOrLablecMegjelenit { get; set; }
|
||||
public string Htmlcontent { get; set; }
|
||||
public string Base64Image { get; set; }
|
||||
|
||||
public IntezmenyFejlecLablecCo ToCo()
|
||||
{
|
||||
return new IntezmenyFejlecLablecCo
|
||||
{
|
||||
IsFejlecOrLablecMegjelenit = this.IsFejlecOrLablecMegjelenit,
|
||||
HtmlContent = this.Htmlcontent,
|
||||
Base64Img = this.Base64Image
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
15
KretaWeb/Areas/Adminisztracio/Models/FelHelyValasztoModel.cs
Normal file
15
KretaWeb/Areas/Adminisztracio/Models/FelHelyValasztoModel.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class FelHelyValasztoModel
|
||||
{
|
||||
[Display(Name = nameof(LoginResource.KivalaszthatoFelhelyek), ResourceType = typeof(LoginResource))]
|
||||
public List<SelectListItem> FelhelyList { get; set; } = new List<SelectListItem>();
|
||||
|
||||
public FelHelyValasztoModel() { }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Alkalmazott.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class FeltarAlkalmazottModel
|
||||
{
|
||||
[Display(Name = nameof(AdminisztracioResource.AltalanosSzerzodesiFeltetelekLetoltese), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string AltalanosSzerzodesiFeltetelekLetoltese { get; set; }
|
||||
|
||||
[Required]
|
||||
[Display(Name = nameof(AdminisztracioResource.AzAdatvedelmiTajekoztatoTartalmatMegismertemEsAzAbbanFoglaltakatTudomasulVettem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool AdatvedelmiTajekoztatoElfogadasa { get; set; }
|
||||
|
||||
[Required]
|
||||
[Display(Name = nameof(AdminisztracioResource.AzAltalanosSzerzodesiFeltetelekTartalmatMegismertemEsAzAbbanFoglaltakatTudomasulVettem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool AltalanosSzerzodesiFeltetelekElfogadasa { get; set; }
|
||||
|
||||
public bool IsAlkalmazottMunkakorTipusJogosult { get; set; }
|
||||
|
||||
public bool IsRendelkezikOktatasiAzonosotioval { get; set; }
|
||||
|
||||
public AlkalmazottInfoModel.AlapadatModel AlapadatModel { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class FeltarGondviseloModel : Gondviselo4TAdatokModel
|
||||
{
|
||||
public FeltarGondviseloModel(Felhasznalo4TAdatokCo co) : base(co)
|
||||
{
|
||||
}
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.AltalanosSzerzodesiFeltetelekLetoltese), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string AltalanosSzerzodesiFeltetelekLetoltese { get; set; }
|
||||
|
||||
[Required]
|
||||
[Display(Name = nameof(AdminisztracioResource.AzAdatvedelmiTajekoztatoTartalmatMegismertemEsAzAbbanFoglaltakatTudomasulVettem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool AdatvedelmiTajekoztatoElfogadasa { get; set; }
|
||||
|
||||
[Required]
|
||||
[Display(Name = nameof(AdminisztracioResource.AzAltalanosSzerzodesiFeltetelekTartalmatMegismertemEsAzAbbanFoglaltakatTudomasulVettem), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool AltalanosSzerzodesiFeltetelekElfogadasa { get; set; }
|
||||
|
||||
public bool IsTorvenyesKepviselo { get; set; }
|
||||
|
||||
public bool IsNappaliRendszeruIskolaiOktatas { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class GondviseloAdatokModModel
|
||||
{
|
||||
[Display(Name = nameof(AdminisztracioResource.JelenlegiEmailCim), ResourceType = typeof(AdminisztracioResource))]
|
||||
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string AktEmail { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.UjEmailCim), ResourceType = typeof(AdminisztracioResource))]
|
||||
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjEmail_Input { get; set; }
|
||||
|
||||
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjEmail => UjEmail_Input?.Trim();
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.UjEmailCimMegerositese), ResourceType = typeof(AdminisztracioResource))]
|
||||
[Compare("UjEmail_Input", ErrorMessageResourceName = nameof(ErrorResource.AKetEmailCimNemEgyezikMeg), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjEmailEllenorzes { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.JelenlegiTelefonszam), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string AktTelefon { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.UjTelefonszam), ResourceType = typeof(AdminisztracioResource))]
|
||||
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.ATelefonszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjTelefon { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class GondviseloJelszoIgenyloModel : CimElerhetosegModel
|
||||
{
|
||||
public bool AdatvedelmiTajekozatatoCheck { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.CaptchaMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string ReCaptcha { get; set; }
|
||||
|
||||
public GondviseloJelszoIgenyloCo ConvertToCo()
|
||||
{
|
||||
var co = new GondviseloJelszoIgenyloCo();
|
||||
|
||||
co.Ajto = Ajto;
|
||||
co.Emelet = Emelet;
|
||||
co.GondviseloEmail = Emailcim;
|
||||
co.EmailTipusId = EmailTipus;
|
||||
co.GondviseloNev = GondviseloNev_JelszoIgenylo;
|
||||
co.Hazszam = Hazszam;
|
||||
co.HelysegNev = HelysegNev_Str;
|
||||
co.Iranyitoszam = Iranyitoszam_Str;
|
||||
co.KozteruletNev = KozteruletNev;
|
||||
co.KozteruletTipusNev = KozteruletTipus_Str;
|
||||
co.OktatasiAzonosito = OktatasiAzonosito_JelszoIgenylo;
|
||||
co.Orszag = Orszag;
|
||||
co.RokonsagiFok = RokonsagiFok_JelszoIgenylo;
|
||||
co.CimTipus = CimTipus;
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class HelyettesitesBevitelModel : IValidatableObject
|
||||
{
|
||||
public int HelyettesitesBevitelCalendarEventId { get; set; }
|
||||
|
||||
public int? HelyettesitesBevitelHelyettesitesId { get; set; }
|
||||
|
||||
public int? HelyettesitesBevitelGroupId { get; set; }
|
||||
|
||||
public CalendarOraTypeEnum HelyettesitesBevitelCalendarOraType { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(CommonResource.Tanar), ResourceType = typeof(CommonResource))]
|
||||
public int? HelyettesitesBevitelTanarId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.JelenlegiHelyettesito), ResourceType = typeof(OrarendResource))]
|
||||
public string HelyettesitesBevitelTanarNev { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(OrarendResource.HelyettesitesTipusa), ResourceType = typeof(OrarendResource))]
|
||||
public int HelyettesitesBevitelHelyettesitesTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraKezdete), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime HelyettesitesBevitelOraKezdeteDate { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraKezdete), ResourceType = typeof(OrarendResource))]
|
||||
public string HelyettesitesBevitelOraKezdeteDateText => HelyettesitesBevitelOraKezdeteDate.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds);
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraVege), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime HelyettesitesBevitelOraVegeDate { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraVege), ResourceType = typeof(OrarendResource))]
|
||||
public string HelyettesitesBevitelOraVegeDateText => HelyettesitesBevitelOraVegeDate.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds);
|
||||
|
||||
[MaxLength(500, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(OrarendResource.HelyettesitesOka), ResourceType = typeof(OrarendResource))]
|
||||
public string HelyettesitesBevitelHelyettesitesOka { get; set; }
|
||||
|
||||
public int HelyettesitesBevitelHelyettesitesGyakorisagTipus { get; set; }
|
||||
|
||||
public string HelyettesitesTitle { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TartosHelyettesitesVege), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? HelyettesitesBevitelTartosHelyettesitesVegeDate { get; set; }
|
||||
|
||||
public List<SelectListItem> HelyettesitesTipusList => FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)HelyettesitesTipusEnum.szakszeru_helyettesites);
|
||||
|
||||
public List<SelectListItem> HelyettesitesGyakorisagTipusList => EnumExtensions.EnumToDictionary<HelyettesitesGyakorisagTipusEnum>(ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)HelyettesitesGyakorisagTipusEnum.Egyedi);
|
||||
|
||||
public List<SelectListItem> HelyettesitesOsztalybanSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> HelyettesitesNemOsztalybanSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> HelyettesitesOsztalybanNemSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> HelyettesitesNemOsztalybanNemSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> OsszevonasOsztalybanSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> OsszevonasNemOsztalybanSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> OsszevonasOsztalybanNemSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> OsszevonasNemOsztalybanNemSzakosTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> FelugyeletTanarList { get; set; }
|
||||
|
||||
public List<SelectListItem> OsszesTanarList { get; set; }
|
||||
|
||||
public bool IsTulora { get; set; }
|
||||
public bool IsTuloraMentes { get; set; }
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (HelyettesitesBevitelHelyettesitesGyakorisagTipus == (int)HelyettesitesGyakorisagTipusEnum.Tartos)
|
||||
{
|
||||
DateTime minimumDate;
|
||||
DateTime maximumDate;
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
minimumDate = helper.GetElsoTanitasiNapDate();
|
||||
if (HelyettesitesBevitelOraKezdeteDate.Date > minimumDate)
|
||||
{
|
||||
minimumDate = HelyettesitesBevitelOraKezdeteDate.Date;
|
||||
}
|
||||
|
||||
maximumDate = helper.GetUtolsoTanitasiNapDate();
|
||||
|
||||
if (HelyettesitesBevitelTartosHelyettesitesVegeDate.HasValue)
|
||||
{
|
||||
var minOk = HelyettesitesBevitelTartosHelyettesitesVegeDate >= minimumDate;
|
||||
var maxOk = HelyettesitesBevitelTartosHelyettesitesVegeDate <= maximumDate;
|
||||
if (!minOk || !maxOk)
|
||||
{
|
||||
yield return new ValidationResult(string.Format(OrarendResource.ATartosHelyettesitesVegdatumaCsakKozeEshet, minimumDate.ToString(Core.Constants.ToStringPattern.HungarianDate), maximumDate.ToString(Core.Constants.ToStringPattern.HungarianDate)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return new ValidationResult(string.Format(CommonResource.Required, OrarendResource.TartosHelyettesitesVege));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class NemMegtartottHelyettesitesBevitelModel
|
||||
{
|
||||
public int? HelyettesitesBevitelCalendarEventId { get; set; }
|
||||
|
||||
public DateTime? HelyettesitesBevitelOraKezdeteDate { get; set; }
|
||||
|
||||
public DateTime? HelyettesitesBevitelOraVegeDate { get; set; }
|
||||
|
||||
public string HelyettesitesBevitelHelyettesitesOka { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class HelyettesitesInfoModel
|
||||
{
|
||||
[Display(Name = nameof(OrarendResource.Datum), ResourceType = typeof(OrarendResource))]
|
||||
public string Datum { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraszamIdopont), ResourceType = typeof(OrarendResource))]
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
public string HetNapja { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Hetirend), ResourceType = typeof(OrarendResource))]
|
||||
public string Hetirend { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Foglalkozas), ResourceType = typeof(OrarendResource))]
|
||||
public string Foglalkozas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitoPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Helyiseg), ResourceType = typeof(OrarendResource))]
|
||||
public string Terem { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Megtartott), ResourceType = typeof(OrarendResource))]
|
||||
public string Megtartott { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Sorszamozott), ResourceType = typeof(OrarendResource))]
|
||||
public string Sorszamozando { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanitasiOraKezdete), ResourceType = typeof(OrarendResource))]
|
||||
public string OraKezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanitasiOraVege), ResourceType = typeof(OrarendResource))]
|
||||
public string OraVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanitasiOraTemaja), ResourceType = typeof(OrarendResource))]
|
||||
public string Tema { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesOka), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitesOka { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HaziFeladat), ResourceType = typeof(OrarendResource))]
|
||||
public string HaziFeladat { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesTipusa), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitesTipusa { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesElrendelesenekIdopontja), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitesElrendelesenekIdopontja { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.NaplozasIdopontja), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string NaplozasIdopontja { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.LegutobbiModositasIdopontja), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string LegutobbiModositasIdopontja { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class HelyettesitesekKezeleseModel
|
||||
{
|
||||
public HelyettesitesekKezeleseModel()
|
||||
{
|
||||
TanarList = new List<SelectListItem>();
|
||||
TabList = new List<TabStripItemModel>();
|
||||
}
|
||||
|
||||
[Display(Name = nameof(CommonResource.Tanar), ResourceType = typeof(CommonResource))]
|
||||
public int? Tanar { get; set; }
|
||||
|
||||
public List<SelectListItem> TanarList { get; set; }
|
||||
|
||||
public string HetirendJson { get; set; }
|
||||
public string NaptariHetekHetirendJson { get; set; }
|
||||
public int TanarId { get; set; }
|
||||
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
public TimeSpan CalendarMinTime { get; set; }
|
||||
public TimeSpan CalendarMaxTime { get; set; }
|
||||
|
||||
public TimeSpan CsengetesiRendMinTime { get; set; }
|
||||
public TimeSpan CsengetesiRendMaxTime { get; set; }
|
||||
}
|
||||
|
||||
public class HelyettesitesekKezeleseOrarendModel
|
||||
{
|
||||
public int Index { get; set; }
|
||||
|
||||
public string FullCalendarId => "FullCalendar-" + Index;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class HelyettesitesekListajaGridModel : IKretaIdentity
|
||||
{
|
||||
public const string HelyettesitesekListajaExportAttributeId = nameof(HelyettesitesekListajaExportAttributeId);
|
||||
|
||||
public HelyettesitesekListajaGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public HelyettesitesekListajaGridModel(HelyettesitesItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
HelyettesitesDatum = itemCo.HelyettesitesDatum.Value;
|
||||
Ora = itemCo.Ora.ToString();
|
||||
Helyettesitett = itemCo.Helyettesitett;
|
||||
HelyettesitettElotagNelkul = itemCo.HelyettesitettElotagNelkul ?? itemCo.Helyettesitett;
|
||||
HelyettesitesOka = itemCo.HelyettesitesOka;
|
||||
Helyettesito = itemCo.Helyettesito;
|
||||
Megjegyzes = itemCo.Megjegyzes;
|
||||
HelyettesitoElotagNelkul = itemCo.HelyettesitoElotagNelkul ?? itemCo.Helyettesito;
|
||||
OsztalyCsoport = itemCo.OsztalyCsoport;
|
||||
Tantargy = itemCo.Tantargy;
|
||||
HelyettesitesTipusNev = itemCo.HelyettesitesTipusNev;
|
||||
IsNaplozottText = itemCo.IsNaplozottText;
|
||||
IsNaplozott = itemCo.IsNaplozott;
|
||||
IsOnlineOraText = itemCo.IsOnlineOraText;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 00, nameof(HelyettesitesekListajaResource.HelyettesitesDatuma), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesDatuma), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime HelyettesitesDatum { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 01, nameof(HelyettesitesekListajaResource.Ora), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Ora), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Ora { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 02, nameof(HelyettesitesekListajaResource.HelyettesitettPedagogus), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitettPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Helyettesitett { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitettPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitettElotagNelkul { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 03, nameof(HelyettesitesekListajaResource.HelyettesitesOka), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesOka), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitesOka { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 06, nameof(HelyettesitesekListajaResource.HelyettesitoPedagogus), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitoPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Helyettesito { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 04, nameof(HelyettesitesekListajaResource.Megjegyzes), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Megjegyzes), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitoPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitoElotagNelkul { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 07, nameof(HelyettesitesekListajaResource.OsztályCsoport), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.OsztalyCsoport), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 08, nameof(HelyettesitesekListajaResource.Tantargy), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 05, nameof(HelyettesitesekListajaResource.HelyettesitesTipusa), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesTipusa), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string HelyettesitesTipusNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 09, nameof(HelyettesitesekListajaResource.Naplozott), typeof(HelyettesitesekListajaResource))]
|
||||
[Display(Name = nameof(AdminisztracioResource.Naplozott), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string IsNaplozottText { get; set; }
|
||||
|
||||
public bool IsNaplozott { get; set; }
|
||||
|
||||
[SimpleExportColumn(HelyettesitesekListajaExportAttributeId, 10, nameof(OrarendResource.OnlineOra), typeof(OrarendResource))]
|
||||
public string IsOnlineOraText { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class HelyettesitesekListajaSearchModel
|
||||
{
|
||||
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? FeladatKategoriaId { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
|
||||
public int? FeladatEllatasiHelyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesDatuma), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime? HelyettesitesDatumaTolSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesDatuma), ResourceType = typeof(AdminisztracioResource))]
|
||||
public DateTime? HelyettesitesDatumaIgSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitettPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? HelyettesitettTanarSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitoPedagogus), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? HelyettesitoTanarSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.OsztalyCsoport), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? OsztalyCsoportSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
|
||||
public bool KellKapcsolodoCsoportokSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? TantargySearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.HelyettesitesTipusa), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? HelyettesitesTipusaSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Naplozott), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? NaplozottSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
|
||||
public int? IsOnlineOra { get; set; }
|
||||
|
||||
public HelyettesitesekListajaSearchCO ConvertToCO()
|
||||
{
|
||||
return new HelyettesitesekListajaSearchCO
|
||||
{
|
||||
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
|
||||
FeladatKategoriaId = FeladatKategoriaId,
|
||||
HelyettesitesDatumaTolSearch = HelyettesitesDatumaTolSearch,
|
||||
HelyettesitesDatumaIgSearch = HelyettesitesDatumaIgSearch,
|
||||
HelyettesitettTanarSearch = HelyettesitettTanarSearch,
|
||||
HelyettesitesTipusaSearch = HelyettesitesTipusaSearch,
|
||||
HelyettesitoTanarSearch = HelyettesitoTanarSearch,
|
||||
NaplozottSearch = NaplozottSearch,
|
||||
OsztalyCsoportSearch = OsztalyCsoportSearch,
|
||||
TantargySearch = TantargySearch,
|
||||
IsKellKapcsolodoCsoportokSearch = KellKapcsolodoCsoportokSearch,
|
||||
IsOnlineOra = IsOnlineOra
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class JelszoValtoztatoModel
|
||||
{
|
||||
public bool IsSzulDatumValidacio { get; set; }
|
||||
|
||||
[KretaRequiredIf("IsSzulDatumValidacio", true, ErrorMessageResourceName = nameof(ErrorResource.TanuloSzuletesiDatumMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(LoginResource.TanuloSzuletesiDatum), ResourceType = typeof(LoginResource))]
|
||||
public DateTime? TanuloSzuletesiDatum { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.JelszoMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(LoginResource.UjJelszo), ResourceType = typeof(LoginResource))]
|
||||
[DataType(DataType.Password)]
|
||||
[StringLength(General.JelszoMaximumKarakterekSzama, MinimumLength = General.JelszoMinimumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.AJelszonakMin0Max0KarakterbolKellAllnia), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjJelszo { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.AzIsmeteltJelszoNemEgyezikMegAJelszoval), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Display(Name = nameof(LoginResource.UjJelszoMegerositese), ResourceType = typeof(LoginResource))]
|
||||
[DataType(DataType.Password)]
|
||||
[StringLength(General.JelszoMaximumKarakterekSzama, MinimumLength = General.JelszoMinimumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.AJelszonakMin0Max0KarakterbolKellAllnia), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Compare("UjJelszo", ErrorMessageResourceName = nameof(ErrorResource.JelszoNemEgyezikMeg), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjJelszoMegerositese { get; set; }
|
||||
|
||||
public string ErrorMessage { get; set; }
|
||||
|
||||
public string Guid { get; set; }
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.CaptchaMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string ReCaptcha { get; set; }
|
||||
|
||||
public JelszoValtoztatoCo ConvertToCo()
|
||||
{
|
||||
var co = new JelszoValtoztatoCo();
|
||||
|
||||
co.TanuloSzuletesiDatum = TanuloSzuletesiDatum;
|
||||
co.UjJelszo = UjJelszo;
|
||||
co.Guid = Guid;
|
||||
co.IsSzulDatumValidacio = IsSzulDatumValidacio;
|
||||
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
26
KretaWeb/Areas/Adminisztracio/Models/KIRImportModel.cs
Normal file
26
KretaWeb/Areas/Adminisztracio/Models/KIRImportModel.cs
Normal file
|
@ -0,0 +1,26 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class KIRImportModel
|
||||
{
|
||||
public string OmAzonosito { get; set; }
|
||||
|
||||
public string FelhasznaloNev { get; set; }
|
||||
|
||||
public string KirToken { get; set; }
|
||||
|
||||
[KretaDisplayName(4598)] //Telephely
|
||||
[KretaRequired(StringResourcesId = 4599)] //Telephely megadása kötelező
|
||||
public int? TelephelyKod { get; set; }
|
||||
|
||||
public List<SelectListItem> TelephelyList { get; set; }
|
||||
|
||||
public int? TanevId { get; set; }
|
||||
public int? FeladatellatasiHelyId { get; set; }
|
||||
|
||||
}
|
||||
}
|
20
KretaWeb/Areas/Adminisztracio/Models/KIRLoginModel.cs
Normal file
20
KretaWeb/Areas/Adminisztracio/Models/KIRLoginModel.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class KIRLoginModel
|
||||
{
|
||||
[KretaRequired(StringResourcesId = 2332)] /*OM azonosító megadása kötelező*/
|
||||
[KretaDisplayName(474)] /*OM azonosító*/
|
||||
public string OmAzonosito { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 3864)] /*A felhasználónév megadása kötelező*/
|
||||
[KretaDisplayName(4787)] /*KIR Felhasználónév*/
|
||||
public string FelhasznaloNev { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 4555)] /*Jelszó megadása kötelező*/
|
||||
[KretaDisplayName(4788)] /*KIR Jelszó*/
|
||||
public string Jelszo { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class KIRTanarImportGridModel : IKretaIdentity
|
||||
{
|
||||
[KretaDisplayName(1359)]/*Sor*/
|
||||
public string ID { get; set; }
|
||||
|
||||
[KretaDisplayName(32)]/*Oktatási azonosító*/
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[KretaDisplayName(108)]/*Név*/
|
||||
public string OktatoNeve { get; set; }
|
||||
|
||||
[KretaDisplayName(239)]/*Anyja neve*/
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
[KretaDisplayName(41)]/*Születési hely*/
|
||||
public string SzuletesiHely { get; set; }
|
||||
|
||||
[KretaDisplayName(42)]/*Születési idő*/
|
||||
public string SzuletesiIdo { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class KIRTanuloImportGridModel : IKretaIdentity
|
||||
{
|
||||
[KretaDisplayName(1359)]/*Sor*/
|
||||
public string ID { get; set; }
|
||||
|
||||
[KretaDisplayName(32)]/*Oktatási azonosító*/
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[KretaDisplayName(108)]/*Név*/
|
||||
public string TanuloNeve { get; set; }
|
||||
|
||||
[KretaDisplayName(239)]/*Anyja neve*/
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
[KretaDisplayName(41)]/*Születési hely*/
|
||||
public string SzuletesiHely { get; set; }
|
||||
|
||||
[KretaDisplayName(42)]/*Születési idő*/
|
||||
public string SzuletesiIdo { get; set; }
|
||||
|
||||
[KretaDisplayName(334)]/*Tankötelezett*/
|
||||
public bool Tankotelezett { get; set; }
|
||||
|
||||
[KretaDisplayName(379)]/*Osztály*/
|
||||
public string Osztaly { get; set; }
|
||||
}
|
||||
}
|
78
KretaWeb/Areas/Adminisztracio/Models/KirStatTableList.cs
Normal file
78
KretaWeb/Areas/Adminisztracio/Models/KirStatTableList.cs
Normal file
|
@ -0,0 +1,78 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class KirStatTable
|
||||
{
|
||||
public string TablazatAzonosito { get; set; }
|
||||
public List<string> KirStatTaroltEljarasList { get; set; }
|
||||
public string ContentUrl { get; set; }
|
||||
}
|
||||
|
||||
public class KirStatTableList
|
||||
{
|
||||
//Ehhez a dictionaryhoz kell hozzáadni a tblázat nevét amihez elkészültek a tárolt eljárások
|
||||
// A value az url-t tartalmazza default be van állítva: "/Kreta.Web/Riportok/KirStat/Load_Partial"
|
||||
//csak speciális esetben szükséges módosítani
|
||||
public Dictionary<string, string> tablazatLista = new Dictionary<string, string>()
|
||||
{
|
||||
{"a01t01","" },
|
||||
{"a01t03","" },
|
||||
{"a01t07","" },
|
||||
//{"a01t08","" },
|
||||
{"a01t60","" },
|
||||
{"a01t88","" },
|
||||
{"a02t09","" },
|
||||
{"a02t10","" },
|
||||
{"a02t14","" },
|
||||
{"a02t15","" },
|
||||
{"a02t48","" },
|
||||
//{"a02t57","" },
|
||||
//{"a02t59","" },
|
||||
{"a02t61","" },
|
||||
//{"a02t62","" },
|
||||
{"a04t16","" },
|
||||
{"a04t20","" },
|
||||
{"a04t21","" },
|
||||
{"a04t63","" },
|
||||
//{"a04t64","" },
|
||||
{"a04t70","" },
|
||||
//{"a04t92","" },
|
||||
//{"a04t93","" },
|
||||
//{"a04t101","" },
|
||||
//{"a04t102","" }
|
||||
};
|
||||
|
||||
public List<KirStatTable> kirStatTableList { get; set; }
|
||||
public List<string> ContentUrlList { get; set; }
|
||||
public KirStatTableList(string loadPartialUrl)
|
||||
{
|
||||
ContentUrlList = new List<string>();
|
||||
kirStatTableList = new List<KirStatTable>();
|
||||
|
||||
foreach (var item in tablazatLista)
|
||||
{
|
||||
kirStatTableList.Add(
|
||||
new KirStatTable()
|
||||
{
|
||||
TablazatAzonosito = item.Key,
|
||||
ContentUrl = loadPartialUrl + item.Value
|
||||
});
|
||||
}
|
||||
|
||||
foreach (var item in kirStatTableList)
|
||||
{
|
||||
if (!item.ContentUrl.Contains("/?id="))
|
||||
{
|
||||
ContentUrlList.Add(item.ContentUrl + "/?id=" + item.TablazatAzonosito);
|
||||
}
|
||||
else
|
||||
{
|
||||
ContentUrlList.Add(item.ContentUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
36
KretaWeb/Areas/Adminisztracio/Models/LoginModel.cs
Normal file
36
KretaWeb/Areas/Adminisztracio/Models/LoginModel.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class LoginModel
|
||||
{
|
||||
[KretaDisplayName(3)] /*Felhasználónév*/
|
||||
public string UserName { get; set; }
|
||||
|
||||
[KretaDisplayName(2)] /*Jelszó*/
|
||||
public string Password { get; set; }
|
||||
|
||||
public string IntezmenyNeve { get; set; }
|
||||
public string IntezmenyOMkod { get; set; }
|
||||
|
||||
public bool LejartLicence { get; set; }
|
||||
|
||||
public bool CsokkentettGondviseloEnable { get; set; }
|
||||
|
||||
public string IdpLogoutUrl { get; set; }
|
||||
|
||||
public string NextUpdateHeader { get; set; }
|
||||
public string NextUpdateMessage { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(ErrorResource.ABelepeshezACaptchaKozetelezo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string ReCaptcha { get; set; }
|
||||
|
||||
public bool ReCaptchaIsEnabled { get; set; }
|
||||
|
||||
public bool IsSzirIntezmeny { get; set; }
|
||||
|
||||
public bool IsArchivIntezmeny { get; set; }
|
||||
}
|
||||
}
|
20
KretaWeb/Areas/Adminisztracio/Models/LoginResultModel.cs
Normal file
20
KretaWeb/Areas/Adminisztracio/Models/LoginResultModel.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using Kreta.BusinessLogic.Classes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class LoginResultModel
|
||||
{
|
||||
public string ErrorCode { get; set; }
|
||||
|
||||
public string ErrorMessage { get; set; }
|
||||
|
||||
public bool Success { get; set; }
|
||||
|
||||
public string WarningMessage { get; internal set; }
|
||||
|
||||
public bool ReCaptchaIsEnabled => FailedLoginCounter >= ApplicationData.ReCaptchaIsEnabledCounter;
|
||||
|
||||
public int? FailedLoginCounter { get; set; }
|
||||
|
||||
}
|
||||
}
|
17
KretaWeb/Areas/Adminisztracio/Models/LostPasswordModel.cs
Normal file
17
KretaWeb/Areas/Adminisztracio/Models/LostPasswordModel.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class LostPasswordModel
|
||||
{
|
||||
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[KretaDisplayName(1829)]//Adja meg a regisztrációnál használt e-mail címét!
|
||||
public string Email { get; set; }
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class NevOktLeNemKotottMunkaidoGridModel : IKretaIdentity
|
||||
{
|
||||
public const string NevOktLeNemKotottMunkaidoExportAttributeId = nameof(NevOktLeNemKotottMunkaidoExportAttributeId);
|
||||
|
||||
public NevOktLeNemKotottMunkaidoGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public NevOktLeNemKotottMunkaidoGridModel(NevOktLeNemKotottMunkaidoItemCO co)
|
||||
{
|
||||
ID = co.ID.ToString();
|
||||
Datum = co.Datum.Value;
|
||||
Kezdete = co.Kezdete.Value;
|
||||
Vege = co.Vege.Value;
|
||||
TanarId = co.TanarId;
|
||||
TanarNeve = co.TanarNeve;
|
||||
KategoriaId = co.KategoriaId;
|
||||
KategoriaNeve = co.KategoriaNeve;
|
||||
RogzitesDatuma = co.RogzitesDatuma.Value;
|
||||
Megtartott = co.Megtartott;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Datum), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 00, nameof(NevOktLeNemKotottMunkaidoResource.Datum), typeof(NevOktLeNemKotottMunkaidoResource), DateTimeToStringPattern = Core.Constants.ToStringPattern.HungarianDate)]
|
||||
public DateTime Datum { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kezdete), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 01, nameof(NevOktLeNemKotottMunkaidoResource.Kezdete), typeof(NevOktLeNemKotottMunkaidoResource), DateTimeToStringPattern = Core.Constants.ToStringPattern.HungarianTime)]
|
||||
public DateTime Kezdete { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Vege), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 02, nameof(NevOktLeNemKotottMunkaidoResource.Vege), typeof(NevOktLeNemKotottMunkaidoResource), DateTimeToStringPattern = Core.Constants.ToStringPattern.HungarianTime)]
|
||||
public DateTime Vege { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Tanar), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public int TanarId { get; set; }
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 03, nameof(NevOktLeNemKotottMunkaidoResource.Tanar), typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string TanarNeve { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kategoria), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public int KategoriaId { get; set; }
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 04, nameof(NevOktLeNemKotottMunkaidoResource.Kategoria), typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string KategoriaNeve { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.RogzitesDatuma), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
[SimpleExportColumn(NevOktLeNemKotottMunkaidoExportAttributeId, 05, nameof(NevOktLeNemKotottMunkaidoResource.RogzitesDatuma), typeof(NevOktLeNemKotottMunkaidoResource), DateTimeToStringPattern = Core.Constants.ToStringPattern.HungarianDate)]
|
||||
public DateTime RogzitesDatuma { get; set; }
|
||||
public bool Megtartott { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class NevOktLeNemKotottMunkaidoInfoModel
|
||||
{
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kezdete), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Kezdete { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Vege), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Vege { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Megjegyzes), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Megtartott), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Megtartott { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kategoria), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Kategoria { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Hetirend), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string Hetirend { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.NaplozottMegjegyzes), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string NaplozottMegjegyzes { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Tanar), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string TanarNeve { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Tulajdonos), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public string TulajdonosNeve { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class NevOktLeNemKotottMunkaidoSearchModel
|
||||
{
|
||||
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? FeladatKategoriaId { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
|
||||
public int? FeladatEllatasiHelyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Datum), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public DateTime? DatumTol { get; set; }
|
||||
public DateTime? DatumIg { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kezdete), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public DateTime? KezdeteTol { get; set; }
|
||||
public DateTime? KezdeteIg { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Vege), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public DateTime? VegeTol { get; set; }
|
||||
public DateTime? VegeIg { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Tanar), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public int? TanarId { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.Kategoria), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public int? Kategoria { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.RogzitesDatuma), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public DateTime? RogzitesDatumaTol { get; set; }
|
||||
[Display(Name = nameof(NevOktLeNemKotottMunkaidoResource.ToroltTevekenysegek), ResourceType = typeof(NevOktLeNemKotottMunkaidoResource))]
|
||||
public int? IsToroltTevekenysegek { get; set; }
|
||||
public DateTime? RogzitesDatumaIg { get; set; }
|
||||
|
||||
public NevOktLeNemKotottMunkaidoSearchCO ConvertToCo()
|
||||
{
|
||||
return new NevOktLeNemKotottMunkaidoSearchCO
|
||||
{
|
||||
FeladatKategoriaId = this.FeladatKategoriaId,
|
||||
FeladatEllatasiHelyId = this.FeladatEllatasiHelyId,
|
||||
DatumTol = this.DatumTol,
|
||||
DatumIg = this.DatumIg,
|
||||
KezdeteTol = this.KezdeteTol,
|
||||
KezdeteIg = this.KezdeteIg,
|
||||
VegeTol = this.VegeTol,
|
||||
VegeIg = this.VegeIg,
|
||||
TanarId = this.TanarId,
|
||||
Kategoria = this.Kategoria,
|
||||
RogzitesDatumaTol = this.RogzitesDatumaTol,
|
||||
RogzitesDatumaIg = this.RogzitesDatumaIg,
|
||||
IsToroltTevekenysegek = this.IsToroltTevekenysegek
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
11
KretaWeb/Areas/Adminisztracio/Models/NexiusListItemModel.cs
Normal file
11
KretaWeb/Areas/Adminisztracio/Models/NexiusListItemModel.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using Nexius.IdentityProvider.Model.External.V1;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class NexiusListItemModel
|
||||
{
|
||||
public Course Course { get; set; }
|
||||
|
||||
public CourseResult CourseResult { get; set; }
|
||||
}
|
||||
}
|
34
KretaWeb/Areas/Adminisztracio/Models/OracsereModel.cs
Normal file
34
KretaWeb/Areas/Adminisztracio/Models/OracsereModel.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class OracsereModel
|
||||
{
|
||||
public OracsereModel()
|
||||
{
|
||||
|
||||
}
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendResource.TanarOracserereValaszthatoOraiKotelezo), ErrorMessageResourceType = typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.TanarOracserereValaszthatoOrai), ResourceType = typeof(OrarendResource))]
|
||||
public int? OracsereOrarendiOraId { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendResource.OracsereDatumaKotelezo), ErrorMessageResourceType = typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.OracsereOrarendiOraDatum), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? OracsereOrarendiOraDatum { get; set; }
|
||||
|
||||
public int CalendarOrarendiOraId { get; set; }
|
||||
|
||||
public DateTime? CalendarOrarendiOraDatum { get; set; }
|
||||
|
||||
public string HelyettesitesreKivalasztottTanarNeve { get; set; }
|
||||
|
||||
public bool IsPrevalidation { get; set; }
|
||||
|
||||
public bool IsTeremcsere { get; set; }
|
||||
|
||||
public DateTime TanevElsoNapja { get; set; }
|
||||
public DateTime TanevUtolsoNapja { get; set; }
|
||||
}
|
||||
}
|
33
KretaWeb/Areas/Adminisztracio/Models/ProfilModel.cs
Normal file
33
KretaWeb/Areas/Adminisztracio/Models/ProfilModel.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class ProfilModel
|
||||
{
|
||||
public bool JelszoValtoztatasNemLehetseges { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2575 /*Jelenlegi jelszó megadása kötelező!*/)]
|
||||
[KretaDisplayName(1826)] /*Jelenlegi jelszó*/
|
||||
[DataType(DataType.Password)]
|
||||
public string JelenlegiJelszo { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2576 /*Új jelszó megadása kötelező!*/)]
|
||||
[KretaDisplayName(1827)] /*Új jelszó*/
|
||||
[DataType(DataType.Password)]
|
||||
[StringLength(General.JelszoMaximumKarakterekSzama, MinimumLength = General.JelszoMinimumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.AJelszonakMin0Max0KarakterbolKellAllnia), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjJelszo { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2577 /*Új jelszó megerősítésének megadása kötelező!*/)]
|
||||
[KretaDisplayName(1828)] /*Új jelszó megerősítése*/
|
||||
[DataType(DataType.Password)]
|
||||
[StringLength(General.JelszoMaximumKarakterekSzama, MinimumLength = General.JelszoMinimumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.AJelszonakMin0Max0KarakterbolKellAllnia), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
[Compare("UjJelszo", ErrorMessageResourceName = nameof(ErrorResource.JelszoNemEgyezikMeg), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public string UjJelszoMegerositese { get; set; }
|
||||
|
||||
public bool IsElerhetosegAdatokSzerkeszthetoek { get; set; }
|
||||
}
|
||||
}
|
498
KretaWeb/Areas/Adminisztracio/Models/SajatAdatlapInfoModel.cs
Normal file
498
KretaWeb/Areas/Adminisztracio/Models/SajatAdatlapInfoModel.cs
Normal file
|
@ -0,0 +1,498 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.IO;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.Configuratiaton.Interface;
|
||||
using Kreta.Core.Logic;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class SajatAdatlapInfoModel : PanelBarChildModel
|
||||
{
|
||||
public SajatAdatlapInfoModel()
|
||||
{
|
||||
AlapAdat = new AlapAdatModel();
|
||||
Gondviselo = new GondviseloModel();
|
||||
TanuloIgazolvany = new TanuloIgazolvanyModel();
|
||||
Felhasznalo4TAdatokModel = new Felhasznalo4TAdatokModel();
|
||||
ApaczaiMentorNyugdijModel = new MentoriNyugdijModel();
|
||||
}
|
||||
|
||||
public AlapAdatModel AlapAdat { get; set; }
|
||||
|
||||
public GondviseloModel Gondviselo { get; set; }
|
||||
|
||||
public TanuloIgazolvanyModel TanuloIgazolvany { get; set; }
|
||||
|
||||
public TanuloBankszamlaModel TanuloBankszamla { get; set; }
|
||||
|
||||
public AlkalmazottBankszamlaModel AlkalmazottBankszamla { get; set; }
|
||||
|
||||
public BankszamlaIgenylesModel MkbBankszamlaIgenylesModel { get; set; }
|
||||
|
||||
public BankszamlaIgenylesModel OtpBankszamlaIgenylesModel { get; set; }
|
||||
|
||||
public EgyhaztartasbanElokModel EgyhaztartasbanElokModel { get; set; }
|
||||
|
||||
public Felhasznalo4TAdatokModel Felhasznalo4TAdatokModel { get; set; }
|
||||
|
||||
public MentoriNyugdijModel ApaczaiMentorNyugdijModel { get; set; }
|
||||
|
||||
public bool HideControlsForApaczaiOD { get; set; }
|
||||
public bool HideControlsForAlkalmazott { get; set; }
|
||||
|
||||
#region AlapAdat
|
||||
|
||||
public class AlapAdatModel
|
||||
{
|
||||
[Display(Name = nameof(AlkalmazottResource.OktatasiAzonosito), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.Elotag), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string EloTag { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.CsaladiNev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string CsaladiNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.Utonev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string Utonev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.SzuletesiElotag), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string SzuletesiElotag { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.SzuletesiCsaladiNev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string SzuletesiCsaladNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.SzuletesiUtonev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string SzuletesiUtonev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AnyjaElotag), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string AnyjaElotag { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AnyjaCsaladiNeve), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string AnyjaCsaladiNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AnyjaUtoneve), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string AnyjaUtonev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Anyanyelv), ResourceType = typeof(TanuloResource))]
|
||||
public string Anyanyelv { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.SzuletesiOrszag), ResourceType = typeof(TanuloResource))]
|
||||
public string SzuletesiOrszag { 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 SzuletesiIdo { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.SzuletesiIdo), ResourceType = typeof(TanuloResource))]
|
||||
public string SzuletesiIdo_SDATE => SzuletesiIdo.ToString(Core.Constants.ToStringPattern.HungarianDateWithSpaces);
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Allampolgarsag), ResourceType = typeof(TanuloResource))]
|
||||
public string Allampolgarsag { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Allampolgarsag2), ResourceType = typeof(TanuloResource))]
|
||||
public string Allampolgarsag2 { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.IgazolvanyTipus), ResourceType = typeof(TanuloResource))]
|
||||
public string IgazolvanyTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.IgazolvanySzam), ResourceType = typeof(TanuloResource))]
|
||||
public string IgazolvanySzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.Felhasznalonev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string BelepesiNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Osztaly), ResourceType = typeof(TanuloResource))]
|
||||
public string OsztalyNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztalyfonok), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string OsztalyfonokNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string TeremNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Evfolyam), ResourceType = typeof(TanuloResource))]
|
||||
public string EvfolyamNev { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public class TanuloAdatModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Tanulo), ResourceType = typeof(TanuloResource))]
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.OktatasiAzonosito), ResourceType = typeof(TanuloResource))]
|
||||
public string OktAzon { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Osztaly), ResourceType = typeof(TanuloResource))]
|
||||
public string OsztalyNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztalyfonok), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string OsztalyfonokNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string TeremNev { get; set; }
|
||||
}
|
||||
|
||||
#region Elerhetőségek
|
||||
|
||||
public class ElerhetosegCimModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Tipus), ResourceType = typeof(TanuloResource))]
|
||||
public string CimTipus_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Iranyitoszam), ResourceType = typeof(TanuloResource))]
|
||||
public string Irsz { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Helyseg), ResourceType = typeof(TanuloResource))]
|
||||
public string Varos { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Cim), ResourceType = typeof(TanuloResource))]
|
||||
public string Cim { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Kozterulet), ResourceType = typeof(TanuloResource))]
|
||||
public string Kozterulet { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.KozteruletJellege), ResourceType = typeof(TanuloResource))]
|
||||
public string KozteruletJellegeNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Hazszam), ResourceType = typeof(TanuloResource))]
|
||||
public string HazSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Emelet), ResourceType = typeof(TanuloResource))]
|
||||
public string Emelet { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Ajto), ResourceType = typeof(TanuloResource))]
|
||||
public string Ajto { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Alapertelmezett), ResourceType = typeof(TanuloResource))]
|
||||
public bool Alapertelmezett_BOOL { get; set; }
|
||||
}
|
||||
|
||||
public class ElerhetosegTelModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Tipus), ResourceType = typeof(TanuloResource))]
|
||||
public string Tipus_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Telefonszam), ResourceType = typeof(TanuloResource))]
|
||||
public string TelefonSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Alapertelmezett), ResourceType = typeof(TanuloResource))]
|
||||
public bool Alapertelmezett_BOOL { get; set; }
|
||||
}
|
||||
|
||||
public class ElerhetosegEmailModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Tipus), ResourceType = typeof(TanuloResource))]
|
||||
public string Tipus_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.EmailCim), ResourceType = typeof(TanuloResource))]
|
||||
public string EmailCim { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.Alapertelmezett), ResourceType = typeof(TanuloResource))]
|
||||
public bool Alapertelmezett_BOOL { get; set; }
|
||||
}
|
||||
|
||||
public class TargyiEszkozModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanarResource.Megnevezes), ResourceType = typeof(TanarResource))]
|
||||
public string Megnevezes { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanarResource.GyariSzam), ResourceType = typeof(TanarResource))]
|
||||
public string GyariSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanarResource.LeltariSzam), ResourceType = typeof(TanarResource))]
|
||||
public string LeltariSzam { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public class GondviseloModel
|
||||
{
|
||||
[Display(Name = nameof(TanuloResource.TeljesNev), ResourceType = typeof(TanuloResource))]
|
||||
public string GondviseloNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.RokonsagiFok), ResourceType = typeof(TanuloResource))]
|
||||
public string RokonsagiFok { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.TorvenyesKepviselo), ResourceType = typeof(TanuloResource))]
|
||||
public string IsTorvenyesKepviselo { get; set; }
|
||||
}
|
||||
|
||||
public class TanuloIgazolvanyModel
|
||||
{
|
||||
[Display(Name = nameof(TanuloResource.IgazolvanySzama), ResourceType = typeof(TanuloResource))]
|
||||
public string Igazolvanyszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.IgazolvanyTipus), ResourceType = typeof(TanuloResource))]
|
||||
public string IgazolvanyTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.DiakigazolvanySzam), ResourceType = typeof(TanuloResource))]
|
||||
public string DiakigazolvanySzam { get; set; }
|
||||
|
||||
public DateTime? DiakigazolvanyKelte { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.DiakigazolvanyKelte), ResourceType = typeof(TanuloResource))]
|
||||
public string DiakigazolvanyKelte_SDATE => DiakigazolvanyKelte.ToShortDateString();
|
||||
|
||||
[Display(Name = nameof(TanuloResource.TajSzam), ResourceType = typeof(TanuloResource))]
|
||||
public string TajSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.AdoazonositoJel), ResourceType = typeof(TanuloResource))]
|
||||
public string AdoazonositoJel { get; set; }
|
||||
}
|
||||
|
||||
public static SajatAdatlapInfoModel ConvertTanarAdatCoToModel(TanarAdatCO co, EgyhaztartasbanElokCo egyhaztartasbanElokCo)
|
||||
{
|
||||
var model = new SajatAdatlapInfoModel
|
||||
{
|
||||
AlapAdat = new AlapAdatModel
|
||||
{
|
||||
OktatasiAzonosito = co.OktatasiAzonosito,
|
||||
EloTag = co.Elotag,
|
||||
CsaladiNev = co.MunkavallaloCsaladiNev,
|
||||
Utonev = co.MunkavallaloUtonev,
|
||||
AnyjaCsaladiNeve = co.AnyjaCsaladiNeve,
|
||||
AnyjaUtonev = co.AnyjaUtoneve,
|
||||
AnyjaElotag = co.AnyjaNeveElotag,
|
||||
SzuletesiCsaladNev = co.SzuletesiCsaladiNev,
|
||||
SzuletesiUtonev = co.SzuletesiUtonev,
|
||||
SzuletesiElotag = co.SzuletesiNevElotag,
|
||||
SzuletesiHely = co.SzuletesiHely,
|
||||
SzuletesiIdo = co.SzuletesiIdo,
|
||||
IgazolvanyTipus = co.IgazolvanyTipus.GetDisplayName<IgazolvanyTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
IgazolvanySzam = co.IgazolvanySzam,
|
||||
BelepesiNev = co.BelepesiNev
|
||||
},
|
||||
AlkalmazottBankszamla = new AlkalmazottBankszamlaModel("SajatAdatlapHelper.alkalmazottBankszamlaMentesClick")
|
||||
{
|
||||
BankszamlaSzam = co.BankszamlaSzam,
|
||||
BankszamlaTulajdonos = co.BankszamlaTulajdonos,
|
||||
BankszamlaTulajdonosNeve = co.BankszamlaTulajdonosNeve,
|
||||
SzamlavezetoBank = co.SzamlavezetoBank,
|
||||
IsApaczaiMentor = co.IsApaczaiMentor,
|
||||
},
|
||||
EgyhaztartasbanElokModel = GetEgyhaztartasbanElokModel(egyhaztartasbanElokCo),
|
||||
ApaczaiMentorNyugdijModel = new MentoriNyugdijModel
|
||||
{
|
||||
IsApaczaiMentor = co.IsApaczaiMentor,
|
||||
IsNyugdijas = co.IsNyugdijas,
|
||||
NyugdijKezdet = co.NyugdijKezdet,
|
||||
NyugdijTipusId = co.NyugdijTipusId,
|
||||
MunkaugyiAdatId = co.MunkaugyiAdatId
|
||||
}
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static SajatAdatlapInfoModel ConvertTanuloAdatCoToModel(TanuloAdatCO co, BankszamlaIgenylesCo bankszamlaIgenylesCo, EgyhaztartasbanElokCo egyhaztartasbanElokCo)
|
||||
{
|
||||
var model = new SajatAdatlapInfoModel
|
||||
{
|
||||
AlapAdat = new AlapAdatModel
|
||||
{
|
||||
OktatasiAzonosito = co.OktatasiAzonosito,
|
||||
EloTag = co.Elotag,
|
||||
CsaladiNev = co.CsaladiNev,
|
||||
Utonev = co.UtoNev,
|
||||
AnyjaCsaladiNeve = co.AnyjaCsaladiNev,
|
||||
AnyjaUtonev = co.AnyjaUtoNev,
|
||||
AnyjaElotag = co.AnyjaNeveElotag,
|
||||
SzuletesiCsaladNev = co.SzuletesiCsaladiNev,
|
||||
SzuletesiUtonev = co.SzuletesiUtoNev,
|
||||
SzuletesiElotag = co.SzuletesiNevElotag,
|
||||
SzuletesiOrszag = co.SzuletesiOrszag.GetDisplayName<OrszagTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
SzuletesiHely = co.SzuletesiHely,
|
||||
SzuletesiIdo = co.SzuletesiIdo,
|
||||
Anyanyelv = co.Anyanyelv.GetDisplayName<AnyanyelvEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Allampolgarsag = co.Allampolgarsag.GetDisplayName<AllampolgarsagEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Allampolgarsag2 = co.Allampolgarsag2.GetDisplayName<AllampolgarsagEnum>(ClaimData.SelectedTanevID.Value),
|
||||
BelepesiNev = co.BelepesiNev,
|
||||
OsztalyNev = co.OsztalyNev,
|
||||
EvfolyamNev = co.EvfolyamNev,
|
||||
OsztalyfonokNev = co.OsztalyfonokNev,
|
||||
TeremNev = co.TeremNev
|
||||
},
|
||||
TanuloIgazolvany = new TanuloIgazolvanyModel
|
||||
{
|
||||
AdoazonositoJel = co.AdoazonositoJel,
|
||||
DiakigazolvanyKelte = co.DiakigazolvanyKelte,
|
||||
DiakigazolvanySzam = co.DiakigazolvanySzam,
|
||||
Igazolvanyszam = co.Igazolvanyszam,
|
||||
IgazolvanyTipus = co.IgazolvanyTipus.GetDisplayName<IgazolvanyTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
TajSzam = co.TajSzam
|
||||
},
|
||||
TanuloBankszamla = new TanuloBankszamlaModel("SajatAdatlapHelper.tanuloBankszamlaMentesClick")
|
||||
{
|
||||
BankszamlaSzam = co.BankszamlaSzam,
|
||||
BankszamlaTulajdonos = co.BankszamlaTulajdonos,
|
||||
BankszamlaTulajdonosNeve = co.BankszamlaTulajdonosNeve,
|
||||
SzamlavezetoBank = co.SzamlavezetoBank,
|
||||
},
|
||||
MkbBankszamlaIgenylesModel = GetBankszamlaIgenylesModel<IMkbBankszamlaIgenylesConfiguration>(bankszamlaIgenylesCo),
|
||||
OtpBankszamlaIgenylesModel = GetBankszamlaIgenylesModel<IOtpBankszamlaIgenylesConfiguration>(bankszamlaIgenylesCo),
|
||||
EgyhaztartasbanElokModel = GetEgyhaztartasbanElokModel(egyhaztartasbanElokCo),
|
||||
Felhasznalo4TAdatokModel = new Felhasznalo4TAdatokModel()
|
||||
{
|
||||
AnyjaUtonev = co.AnyjaUtoNev,
|
||||
AnyjaVezeteknev = co.AnyjaCsaladiNev,
|
||||
Elotag = co.Elotag,
|
||||
SzuletesiDatum = co.SzuletesiIdo,
|
||||
SzuletesiHely = co.SzuletesiHely,
|
||||
SzuletesiUtonev = co.SzuletesiUtoNev,
|
||||
SzuletesiVezeteknev = co.SzuletesiCsaladiNev,
|
||||
Utonev = co.UtoNev,
|
||||
Vezeteknev = co.CsaladiNev,
|
||||
},
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static SajatAdatlapInfoModel ConvertGondviseloAdatCoToModel(TanuloGondviseloCO co, Felhasznalo4TAdatokCo felhasznalo4TAdatokCo, BankszamlaIgenylesCo bankszamlaIgenylesCo, EgyhaztartasbanElokCo egyhaztartasbanElokCo)
|
||||
{
|
||||
var model = new SajatAdatlapInfoModel
|
||||
{
|
||||
AlapAdat = new AlapAdatModel
|
||||
{
|
||||
BelepesiNev = co.GondviseloBelepesiNeve
|
||||
},
|
||||
Gondviselo = new GondviseloModel
|
||||
{
|
||||
RokonsagiFok = co.RokonsagiFok.GetDisplayName<RokonsagiFokEnum>(ClaimData.SelectedTanevID.Value),
|
||||
IsTorvenyesKepviselo = co.IsTorvenyesKepviselo.GetDisplayName(),
|
||||
GondviseloNeve = co.GondviseloNeve
|
||||
},
|
||||
TanuloBankszamla = new TanuloBankszamlaModel("SajatAdatlapHelper.tanuloBankszamlaMentesClick")
|
||||
{
|
||||
BankszamlaSzam = co.TanuloBankszamlaCo.BankszamlaSzam,
|
||||
BankszamlaTulajdonos = co.TanuloBankszamlaCo.BankszamlaTulajdonos,
|
||||
BankszamlaTulajdonosNeve = co.TanuloBankszamlaCo.BankszamlaTulajdonosNeve,
|
||||
SzamlavezetoBank = co.TanuloBankszamlaCo.SzamlavezetoBank,
|
||||
IsReadonly = !co.IsTorvenyesKepviselo
|
||||
},
|
||||
MkbBankszamlaIgenylesModel = GetBankszamlaIgenylesModel<MkbBankszamlaIgenylesConfiguration>(bankszamlaIgenylesCo, co),
|
||||
OtpBankszamlaIgenylesModel = GetBankszamlaIgenylesModel<OtpBankszamlaIgenylesConfiguration>(bankszamlaIgenylesCo, co),
|
||||
EgyhaztartasbanElokModel = GetEgyhaztartasbanElokModel(egyhaztartasbanElokCo),
|
||||
Felhasznalo4TAdatokModel = new Felhasznalo4TAdatokModel(felhasznalo4TAdatokCo) { IsEditable = false }
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private static BankszamlaIgenylesModel GetBankszamlaIgenylesModel<T>(BankszamlaIgenylesCo bankszamlaIgenylesCo, TanuloGondviseloCO gondviselo = null) where T : IBankszamlaIgenylesConfiguration
|
||||
{
|
||||
bool showIgenyles = false;
|
||||
string igenylesOldalUrl = string.Empty;
|
||||
|
||||
//NOTE: Ha az adatbátzisban az intézmény adatokban(T_INTEZMENYADATOK) be van állítva, hogy szakképző az intézmény(C_ISSZAKKEPZO = 'T'), akkor lehet csak megjeleníteni a funkciót.
|
||||
// Csak az NSZFH-s intézményeknél lehet true.
|
||||
if (ClaimData.IsSzakkepzoIntezmeny)
|
||||
{
|
||||
//NOTE: Csak abban az esetben lehet igényelni bankszámlát, ha
|
||||
// - még nincs bankszámlaszáma(azaz null vagy üres string a Bankszamlaszam) és
|
||||
// - a tanuló bármelyik osztálya megfelelő évfolyamú(Kreta.Core.Constants.BankszamlatIgenyelhetoTanuloOsztalyEvfolyamTipusIdList).
|
||||
if (string.IsNullOrWhiteSpace(bankszamlaIgenylesCo.Bankszamlaszam) && bankszamlaIgenylesCo.IsTanuloIgenyelhetBankszamlatByOsztalyEvfolyamTipus)
|
||||
{
|
||||
bool isGondviselo = gondviselo != null;
|
||||
//NOTE: Ha a felhasználó gondviselő, csak abban az esetben lehet igényelni bankszámlát, ha
|
||||
// - törvényes képviselő.
|
||||
if (isGondviselo)
|
||||
{
|
||||
if (gondviselo.IsTorvenyesKepviselo)
|
||||
{
|
||||
showIgenyles = true;
|
||||
}
|
||||
}
|
||||
//NOTE: Ha a felhasználó tanuló, minden esetben lehet igényelni bankszámlát.
|
||||
else
|
||||
{
|
||||
showIgenyles = true;
|
||||
}
|
||||
}
|
||||
|
||||
var bankszamlaIgenylesConfiguration = DependencyResolver.Current.GetService<T>();
|
||||
//NOTE: Beállítjuk a bankszámla igénylés oldal url-jét az MKB-nak megfelelő titkosítás szerint, ha
|
||||
// - meg kell jeleníteni a korábbi feltételek alapján és
|
||||
// - létezik a publikus kulcs és
|
||||
// - amit encrypt-álunk, az nem lesz null vagy üres string.
|
||||
if (showIgenyles && File.Exists(bankszamlaIgenylesConfiguration.PublicKeyFileName))
|
||||
{
|
||||
string token = UrlLogic.JweEncrypt(
|
||||
bankszamlaIgenylesConfiguration.PublicKeyFileName,
|
||||
bankszamlaIgenylesConfiguration.PublicKeyFilePassword,
|
||||
bankszamlaIgenylesCo.EgyediAzonosito);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(token))
|
||||
{
|
||||
igenylesOldalUrl = string.Format(bankszamlaIgenylesConfiguration.FormUrl, bankszamlaIgenylesCo.UrlHost, token);
|
||||
}
|
||||
}
|
||||
|
||||
//NOTE: Ha valami miatt mégsem sikerült beállítani a bankszámla igénylés oldal url-jét akkor nem jelenítjük meg az igénylés gombot.
|
||||
if (string.IsNullOrWhiteSpace(igenylesOldalUrl))
|
||||
{
|
||||
showIgenyles = false;
|
||||
}
|
||||
}
|
||||
|
||||
var model = new BankszamlaIgenylesModel
|
||||
{
|
||||
ShowIgenyles = showIgenyles,
|
||||
IgenylesOldalUrl = igenylesOldalUrl,
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private static EgyhaztartasbanElokModel GetEgyhaztartasbanElokModel(EgyhaztartasbanElokCo co)
|
||||
{
|
||||
var model = new EgyhaztartasbanElokModel() { };
|
||||
|
||||
if (co.Sorok.Count > 0)
|
||||
{
|
||||
foreach (var item in co.Sorok)
|
||||
{
|
||||
model.Sorok.Add(new EgyhaztartasbanElokRowModel()
|
||||
{
|
||||
ID = item.ID,
|
||||
Nev = item.Nev,
|
||||
AnyjaNev = item.AnyjaNev,
|
||||
SzuletesiIdo = item.SzuletesiIdo,
|
||||
SzuletesiHely = item.SzuletesiHely,
|
||||
Taj = item.Taj,
|
||||
RokonsagiFok = item.RokonsagiFok,
|
||||
Email = item.Email,
|
||||
Telefon = item.Telefon
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
31
KretaWeb/Areas/Adminisztracio/Models/SystemSettingsModel.cs
Normal file
31
KretaWeb/Areas/Adminisztracio/Models/SystemSettingsModel.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using Kreta.Web.Models.EditorTemplates;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class SystemSettingsModel : PanelBarBaseModel
|
||||
{
|
||||
public SpecialisBeallitasokModel SpecialisBeallitasokModel { get; set; }
|
||||
|
||||
public RendszerszintuTorlesiLehetosegekModel RendszerszintuTorlesiLehetosegekModel { get; set; }
|
||||
|
||||
public JuttatasBeallitasokModel JuttatasBeallitasokModel { get; set; }
|
||||
|
||||
public bool IsIntezmenySzakkepzoJuttatas { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class SpecialisBeallitasokModel : PanelBarBaseModel
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class RendszerszintuTorlesiLehetosegekModel : PanelBarBaseModel
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class JuttatasBeallitasokModel : PanelBarBaseModel
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class SzerepkorValasztoModel
|
||||
{
|
||||
public SzerepkorValasztoModel()
|
||||
{
|
||||
Roles = new List<UserRoles>();
|
||||
}
|
||||
|
||||
public string OrganizationName { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
|
||||
public string ProfilImgSrc { get; set; }
|
||||
|
||||
public List<UserRoles> Roles { get; set; }
|
||||
|
||||
public string CancelLinkText { get; set; }
|
||||
|
||||
public string CancelLinkAction { get; set; }
|
||||
}
|
||||
|
||||
public class UserRoles
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public SzerepkorTipusEnum Szerepkor { get; set; }
|
||||
|
||||
public string LastLoggedIn { get; set; }
|
||||
|
||||
public bool IsActive { get; set; }
|
||||
}
|
||||
}
|
27
KretaWeb/Areas/Adminisztracio/Models/TanarKIRImportModel.cs
Normal file
27
KretaWeb/Areas/Adminisztracio/Models/TanarKIRImportModel.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanarKIRImportModel : UploadFileModel
|
||||
{
|
||||
[KretaDisplayName(450)] /*Tanév*/
|
||||
//[KretaRequired(StringResourcesId = 3823)]
|
||||
public int? TanevId { get; set; }
|
||||
|
||||
[KretaDisplayName(90)] /*Feladatellátási hely*/
|
||||
//[KretaRequired(StringResourcesId = 4920)]
|
||||
public int? FeladatellatasiHelyId { get; set; }
|
||||
public List<SelectListItem> FeladatellatasiHelyList { get; set; }
|
||||
|
||||
public List<SelectListItem> TanevLista { get; set; }
|
||||
|
||||
public KIRLoginModel KirLoginModel { get; set; }
|
||||
|
||||
public KIRImportModel KIRImportModel { get; set; }
|
||||
|
||||
public bool KIRImportEnabled { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanarokFeltolteseModel
|
||||
{
|
||||
|
||||
public TanarokFeltolteseModel()
|
||||
{
|
||||
FeladatellatasiHelyList = new List<SelectListItem>();
|
||||
TanevList = new List<SelectListItem>();
|
||||
Errors = new List<string>();
|
||||
}
|
||||
|
||||
[KretaDisplayName(450)] /*Tanév*/
|
||||
[KretaRequired(StringResourcesId = 3823)]
|
||||
public int? TanevId { get; set; }
|
||||
|
||||
[KretaDisplayName(90)] /*Feladatellátási hely*/
|
||||
[KretaRequired(StringResourcesId = 1680)]
|
||||
public int? FeladatellatasiHelyId { get; set; }
|
||||
|
||||
public List<SelectListItem> TanevList { get; set; }
|
||||
|
||||
public List<SelectListItem> FeladatellatasiHelyList { get; set; }
|
||||
|
||||
public List<string> Errors { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanevValtasAlkalmazottTorlesGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public int? AlkalmazottId { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AlkalmazottNev), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string AlkalmazottNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.OktatasiAzonosito), ResourceType = typeof(AlkalmazottResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AlkalmazasKezdete), ResourceType = typeof(AlkalmazottResource))]
|
||||
public DateTime? AlkalmazasKezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.AlkalmazasVege), ResourceType = typeof(AlkalmazottResource))]
|
||||
public DateTime? AlkalmazasVege { get; set; }
|
||||
}
|
||||
}
|
36
KretaWeb/Areas/Adminisztracio/Models/TanevValtasaModel.cs
Normal file
36
KretaWeb/Areas/Adminisztracio/Models/TanevValtasaModel.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class AktivTanevValtasaModel
|
||||
{
|
||||
public int ID { get; set; }
|
||||
|
||||
public int? KiNemSoroltTanulokOsztaly { get; set; }
|
||||
|
||||
public int? KiNemSoroltTanulokCsoport { get; set; }
|
||||
|
||||
public int? BeNemSoroltNebulok { get; set; }
|
||||
|
||||
public bool LejartLicence { get; set; }
|
||||
|
||||
public int? VanTorlendoAlkalmazott { get; set; }
|
||||
|
||||
public int NemErtekeltOsszefuggoSzakmaiGyakorlatosTanulok { get; set; }
|
||||
|
||||
public List<string> AlkalmazottakAlapertekekkel { get; set; }
|
||||
}
|
||||
|
||||
public class AktivTanevValtasaItemModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Content { get; set; }
|
||||
|
||||
public AdminDashboardTipusEnum Type { get; set; }
|
||||
|
||||
public DateTime Date { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TantargyFelosztasGridModel : IKretaIdentity
|
||||
{
|
||||
[KretaDisplayName(379)]
|
||||
public string Osztaly { get; set; }
|
||||
|
||||
[KretaDisplayName(1619)]
|
||||
public string Csoport { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[KretaDisplayName(274)]
|
||||
public string Oraszam { get; set; }
|
||||
|
||||
[KretaDisplayName(30)]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[KretaDisplayName(3871)]
|
||||
public DateTime? TanarSzuletesiDatum { get; set; }
|
||||
|
||||
[KretaDisplayName(1359)]
|
||||
public string ID { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Microsoft.Ajax.Utilities;
|
||||
using Newtonsoft.Json;
|
||||
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloErtekelesMondatbankItemModel : BaseTanuloErtekelesMondatbankItemModel
|
||||
{
|
||||
[JsonConstructor]
|
||||
public TanuloErtekelesMondatbankItemModel(bool mustSetSelectListItemLists = true)
|
||||
: base(mustSetSelectListItemLists)
|
||||
{
|
||||
}
|
||||
|
||||
public TanuloErtekelesMondatbankItemModel(TanuloErtekelesMondatbankItemCo co)
|
||||
{
|
||||
RovidNev = co.RovidNev;
|
||||
Szoveg = co.Szoveg;
|
||||
SetSelectListItemLists(this);
|
||||
TanuloErtekelesTipusId = co.TanuloErtekelesTipusId.IsEntityId() ? co.TanuloErtekelesTipusId.Value : 0;
|
||||
EvfolyamTipusId = co.EvfolyamTipusId.IsEntityId() ? co.EvfolyamTipusId.Value : 0;
|
||||
SzovegNemet = co.SzovegNemet;
|
||||
SzovegHorvat = co.SzovegHorvat;
|
||||
SzovegRoman = co.SzovegRoman;
|
||||
SzovegSzerb = co.SzovegSzerb;
|
||||
|
||||
switch (co.TipusId)
|
||||
{
|
||||
case (int)ErtMondatbankTipusEnum.Magatartas:
|
||||
TantargyId = TanuloErtekelesMondatbankHelper.MagatartasTantargyId;
|
||||
break;
|
||||
case (int)ErtMondatbankTipusEnum.Szorgalom:
|
||||
TantargyId = TanuloErtekelesMondatbankHelper.SzorgalomTantargyId;
|
||||
break;
|
||||
default:
|
||||
TantargyId = co.TantargyId.IsEntityId() ? co.TantargyId.Value : 0;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int ID { get; set; }
|
||||
|
||||
[KretaRequired]
|
||||
public override string Szoveg { get; set; }
|
||||
|
||||
[KretaRequired]
|
||||
public override int? TanuloErtekelesTipusId { get; set; }
|
||||
|
||||
[KretaRequired]
|
||||
public override int? EvfolyamTipusId { get; set; }
|
||||
|
||||
[KretaRequired]
|
||||
public override int? TantargyId { get; set; }
|
||||
|
||||
public TanuloErtekelesMondatbankItemCo ToCo()
|
||||
{
|
||||
var result = new TanuloErtekelesMondatbankItemCo
|
||||
{
|
||||
Id = ID,
|
||||
|
||||
RovidNev = RovidNev,
|
||||
Szoveg = Szoveg,
|
||||
TanuloErtekelesTipusId = TanuloErtekelesTipusId.IsEntityId() ? TanuloErtekelesTipusId : (int?)null,
|
||||
EvfolyamTipusId = EvfolyamTipusId.IsEntityId() ? EvfolyamTipusId : (int?)null,
|
||||
TantargyId = TantargyId.IsEntityId() ? TantargyId : (int?)null,
|
||||
TipusId = TanuloErtekelesMondatbankHelper.GetTanuloErtekelesMondatbankTipusIdByTantargyId(TantargyId),
|
||||
SzovegNemet = SzovegNemet,
|
||||
SzovegHorvat = SzovegHorvat,
|
||||
SzovegRoman = SzovegRoman,
|
||||
SzovegSzerb = SzovegSzerb,
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
public override ModelStateDictionary Validate()
|
||||
{
|
||||
var modelStateDictionary = new ModelStateDictionary();
|
||||
|
||||
if (!RovidNev.IsNullOrWhiteSpace() && RovidNev.Length > 3)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(RovidNev), ErrorResource.ARovidNevNemLehetHosszabbMint3Karakter);
|
||||
}
|
||||
|
||||
// NOTE: kétszer kell minden szöveget dekódolni, mert először a control enkódolja, másodszor a http request
|
||||
if (Szoveg.IsNullOrWhiteSpace())
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(Szoveg), string.Format(CommonResource.Required, TanuloErtekelesResource.Szoveg));
|
||||
}
|
||||
else if (RichTextLogic.GetLegalHtmlString(System.Web.HttpUtility.HtmlDecode(System.Web.HttpUtility.HtmlDecode(Szoveg)), new List<string>()).Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(Szoveg), string.Format(ErrorResource.ASzovegNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegNemet.IsNullOrWhiteSpace() && RichTextLogic.GetLegalHtmlString(System.Web.HttpUtility.HtmlDecode(System.Web.HttpUtility.HtmlDecode(SzovegNemet)), new List<string>()).Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegNemet), string.Format(ErrorResource.ASzovegNemetNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegHorvat.IsNullOrWhiteSpace() && RichTextLogic.GetLegalHtmlString(System.Web.HttpUtility.HtmlDecode(System.Web.HttpUtility.HtmlDecode(SzovegHorvat)), new List<string>()).Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegHorvat), string.Format(ErrorResource.ASzovegHorvatNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegRoman.IsNullOrWhiteSpace() && RichTextLogic.GetLegalHtmlString(System.Web.HttpUtility.HtmlDecode(System.Web.HttpUtility.HtmlDecode(SzovegRoman)), new List<string>()).Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegRoman), string.Format(ErrorResource.ASzovegRomanNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegSzerb.IsNullOrWhiteSpace() && RichTextLogic.GetLegalHtmlString(System.Web.HttpUtility.HtmlDecode(System.Web.HttpUtility.HtmlDecode(SzovegSzerb)), new List<string>()).Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegSzerb), string.Format(ErrorResource.ASzovegSzerbNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
return modelStateDictionary;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloErtekelesMondatbankItemSelectModel
|
||||
{
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.TanuloErtekelesMondatbank), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public int? MondatbankSelectPopupId { get; set; }
|
||||
|
||||
public int MondatbankSelectPopupRowId { get; set; }
|
||||
|
||||
[MaxLength(3, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.RovidNev), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupRovidNev { get; set; }
|
||||
|
||||
[KretaRequired]
|
||||
[MaxLength(Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupSzoveg { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesNemet), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupSzovegNemet { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesHorvat), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupSzovegHorvat { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesRoman), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupSzovegRoman { get; set; }
|
||||
|
||||
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
|
||||
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesSzerb), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string MondatbankSelectPopupSzovegSzerb { get; set; }
|
||||
|
||||
public int MondatbankSelectPopupTanuloErtekelesTipusId { get; set; }
|
||||
|
||||
public int? MondatbankSelectPopupOsztalyCsoportId { get; set; }
|
||||
|
||||
public int? MondatbankSelectPopupTantargyId { get; set; }
|
||||
|
||||
public int MondatbankSelectPopupTipusId { get; set; }
|
||||
|
||||
public List<SelectListItem> MondatbankItemSelectList { get; set; }
|
||||
|
||||
public List<TanuloErtekelesMondatbankItemModel> MondatbankItemList { get; set; }
|
||||
|
||||
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
|
||||
|
||||
public bool IsNyelviesitesActive => NemzetiDokumentumNyelvek.Any();
|
||||
|
||||
public bool IsNemetNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet);
|
||||
|
||||
public bool IsHorvatNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat);
|
||||
|
||||
public bool IsRomanNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.roman);
|
||||
|
||||
public bool IsSzerbNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloErtekelesMondatbankGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.RovidNev), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string RovidNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Szoveg), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string Szoveg { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string TanuloErtekelesTipusId_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.EvfolyamTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string EvfolyamTipusId_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public string TantargyNev { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Adminisztracio.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloErtekelesMondatbankSearchModel
|
||||
{
|
||||
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public List<int> TanuloErtekelesTipusIdList { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.EvfolyamTipus), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public List<int> EvfolyamTipusIdList { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public List<int> TantargyIdList { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.RovidNev), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
[MaxLength(3)]
|
||||
public string RovidNevS { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.Szoveg), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
[MaxLength(4000)]
|
||||
public string SzovegS { get; set; }
|
||||
|
||||
public List<SelectListItem> TipusList { get; set; }
|
||||
|
||||
public List<SelectListItem> EvfolyamTipusList { get; set; }
|
||||
|
||||
public List<SelectListItem> TantargyList { get; set; }
|
||||
|
||||
public TanuloErtekelesMondatbankSearchModel()
|
||||
{
|
||||
SetSelectListItemLists();
|
||||
}
|
||||
|
||||
protected void SetSelectListItemLists()
|
||||
{
|
||||
var defaultList = new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem
|
||||
{
|
||||
Value = "0",
|
||||
Text = CommonResource.Mind
|
||||
}
|
||||
};
|
||||
TipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTipusList()).ToList();
|
||||
EvfolyamTipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetEvfolyamTipusList()).ToList();
|
||||
TantargyList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTantargyList()).ToList();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Resources;
|
||||
using Microsoft.Ajax.Utilities;
|
||||
using Newtonsoft.Json;
|
||||
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloErtekelesMondatbankTobbesItemModel : BaseTanuloErtekelesMondatbankItemModel
|
||||
{
|
||||
public override string Szoveg { get; set; }
|
||||
|
||||
public override int? TanuloErtekelesTipusId { get; set; }
|
||||
|
||||
public override int? EvfolyamTipusId { get; set; }
|
||||
|
||||
public override int? TantargyId { get; set; }
|
||||
|
||||
public List<int> SelectedIdList { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloErtekelesResource.RovidNevModositasa), ResourceType = typeof(TanuloErtekelesResource))]
|
||||
public bool RovidNevEnabled { get; set; }
|
||||
|
||||
public string SelectedIdListJson
|
||||
{
|
||||
get => SelectedIdList == null ? string.Empty : JsonConvert.SerializeObject(SelectedIdList);
|
||||
set => SelectedIdList = JsonConvert.DeserializeObject<List<int>>(value);
|
||||
}
|
||||
|
||||
[JsonConstructor]
|
||||
public TanuloErtekelesMondatbankTobbesItemModel(bool mustSetSelectListItemLists = true)
|
||||
: base(mustSetSelectListItemLists)
|
||||
{
|
||||
RovidNevEnabled = false;
|
||||
SelectedIdList = new List<int>();
|
||||
}
|
||||
|
||||
public TanuloErtekelesMondatbankTobbesItemCo ToCo()
|
||||
{
|
||||
var result = new TanuloErtekelesMondatbankTobbesItemCo
|
||||
{
|
||||
SelectedIdList = SelectedIdList,
|
||||
RovidNev = RovidNevEnabled ? string.IsNullOrWhiteSpace(RovidNev) ? "sz" : RovidNev : null,
|
||||
Szoveg = !string.IsNullOrWhiteSpace(Szoveg) ? Szoveg : null,
|
||||
TanuloErtekelesTipusId = TanuloErtekelesTipusId,
|
||||
EvfolyamTipusId = EvfolyamTipusId,
|
||||
TantargyId = TantargyId,
|
||||
TipusId = TanuloErtekelesMondatbankHelper.GetTanuloErtekelesMondatbankTipusIdByTantargyId(TantargyId),
|
||||
SzovegNemet = !string.IsNullOrWhiteSpace(SzovegNemet) ? SzovegNemet : null,
|
||||
SzovegHorvat = !string.IsNullOrWhiteSpace(SzovegHorvat) ? SzovegHorvat : null,
|
||||
SzovegRoman = !string.IsNullOrWhiteSpace(SzovegRoman) ? SzovegRoman : null,
|
||||
SzovegSzerb = !string.IsNullOrWhiteSpace(SzovegSzerb) ? SzovegSzerb : null,
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
public override ModelStateDictionary Validate()
|
||||
{
|
||||
var modelStateDictionary = new ModelStateDictionary();
|
||||
|
||||
if (TanuloErtekelesTipusId == null
|
||||
&& EvfolyamTipusId == null
|
||||
&& TantargyId == null
|
||||
&& string.IsNullOrWhiteSpace(Szoveg)
|
||||
&& (!RovidNevEnabled || string.IsNullOrWhiteSpace(RovidNev)))
|
||||
{
|
||||
modelStateDictionary.AddModelError(string.Empty, ErrorResource.NincsMegadvaModositandoAdat);
|
||||
}
|
||||
|
||||
if (!RovidNev.IsNullOrWhiteSpace() && RovidNev.Length > 3)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(RovidNev), ErrorResource.ARovidNevNemLehetHosszabbMint3Karakter);
|
||||
}
|
||||
|
||||
if (!Szoveg.IsNullOrWhiteSpace() && Szoveg.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(Szoveg), string.Format(ErrorResource.ASzovegNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegNemet.IsNullOrWhiteSpace() && SzovegNemet.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegNemet), string.Format(ErrorResource.ASzovegNemetNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegHorvat.IsNullOrWhiteSpace() && SzovegHorvat.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegHorvat), string.Format(ErrorResource.ASzovegHorvatNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegRoman.IsNullOrWhiteSpace() && SzovegRoman.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegRoman), string.Format(ErrorResource.ASzovegRomanNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
if (!SzovegSzerb.IsNullOrWhiteSpace() && SzovegSzerb.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
||||
{
|
||||
modelStateDictionary.AddModelError(nameof(SzovegSzerb), string.Format(ErrorResource.ASzovegSzerbNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
||||
}
|
||||
|
||||
return modelStateDictionary;
|
||||
}
|
||||
}
|
||||
}
|
34
KretaWeb/Areas/Adminisztracio/Models/TanuloKIRImportModel.cs
Normal file
34
KretaWeb/Areas/Adminisztracio/Models/TanuloKIRImportModel.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.Adminisztracio.Models
|
||||
{
|
||||
public class TanuloKIRImportModel : UploadFileModel
|
||||
{
|
||||
[KretaDisplayName(450)] /*Tanév*/
|
||||
//[KretaRequired(StringResourcesId = 3823)]
|
||||
public int? TanevId { get; set; }
|
||||
|
||||
[KretaDisplayName(90)] /*Feladatellátási hely*/
|
||||
//[KretaRequired(StringResourcesId = 1680)]
|
||||
public int? FeladatellatasiHelyId { get; set; }
|
||||
public List<SelectListItem> FeladatellatasiHelyList { get; set; }
|
||||
|
||||
public List<SelectListItem> TanevLista { get; set; }
|
||||
|
||||
public KIRLoginModel KirLoginModel { get; set; }
|
||||
|
||||
public KIRImportModel KIRImportModel { get; set; }
|
||||
|
||||
public bool KIRImportEnabled { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.ImportalasUtanMindenJuttatasAdatUjraszamitasa), ResourceType = typeof(AdminisztracioResource))]
|
||||
public bool? IsJuttatasUpdate { get; set; } = false;
|
||||
|
||||
public bool IsSzakkepzoIntezmeny { get; set; }
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue