This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,342 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
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.Exceptions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Logic;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Core.FileService;
using Kreta.Enums;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Intezmeny.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.Intezmeny.ApiControllers
{
public class BaseTeremApiController : ApiController
{
protected readonly IFileService FileService;
protected readonly IEugyintezesClientConfiguration EugyintezesClientConfiguration;
public BaseTeremApiController(IFileService fileService, IEugyintezesClientConfiguration eugyintezesClientConfiguration)
{
FileService = fileService;
EugyintezesClientConfiguration = eugyintezesClientConfiguration;
}
public DataSourceResult GetTeremGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList, _) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
try
{
var (gridParameter, modelList, exportAttributeName) = GetGridData(data, request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TeremGridModel>(exportAttributeName);
var memoryStream = SimpleExportLogic.GetExport(IntezmenyResource.ExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{IntezmenyResource.Termek_Export}_{DateTime.Now:yyyy_MM_dd}.xlsx");
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<TeremGridModel> modelList, string exportAttributeName) GetGridData(string data, DataSourceRequest request)
{
var connection = ConnectionTypeExtensions.GetSessionConnectionType();
var model = JsonConvert.DeserializeObject<TeremSearchModel>(data);
var gridParameter = Converter.GridParameter(request);
int? felhasznaloSzervezetId = null;
if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator)
{
felhasznaloSzervezetId = new SzervezetHelper(connection).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
model.SzervezetId = felhasznaloSzervezetId;
}
var coList = new TeremHelper(connection).GetTeremCoList(model.ConvertToCo(), ClaimData.IsAdministrator, felhasznaloSzervezetId);
var modelList = coList.Select(x => new TeremGridModel(x)).ToList();
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var exportAttributeName = model.IsFromSzervezet ? TeremGridModel.HelyszinExportAttributeId : TeremGridModel.TeremExportAttributeId;
return (gridParameter, modelList, exportAttributeName);
}
public TeremModel GetTeremBaseProperties(int teremID)
{
return TeremLogic.GetTeremBaseProperties(teremID);
}
public DataSourceResult GetTeremOrarendiOrai(string teremID, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
DataSet orak = orarendiOraHelper.GetOrarendiOrakForTerem(int.Parse(teremID));
return orak.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveModifiedOrNewTerem(TeremModel teremModel)
{
try
{
var teremHelper = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var kapcsolodoOraTipusok = teremHelper.GetTeremKapcsolodoOraTipusok(teremModel.TeremId);
TeremModel.ValidateModel(teremModel, kapcsolodoOraTipusok, ModelState);
if (ModelState.IsValid)
{
var terem = TeremLogic.GetTeremBaseProperties(teremModel.TeremId);
var teremBerbeadhatoAlapertek = terem.TeremBerbeadasModel.Berbeadhato;
var teremCO = TeremModel.ConvertModelToCO(teremModel);
var teremId = 0;
if (teremModel.TeremBerbeadasModel.Berbeadhato)
{
if (teremModel.TeremBerbeadasModel.PictureList.Count > 0)
{
var kepInfo = new FileInfo(teremModel.TeremBerbeadasModel.PictureList.Select(x => x.Name).First());
teremCO.KepUtvonal = teremHelper.SaveTeremFiles(FileService, teremModel.TeremBerbeadasModel.PictureList.Select(x => x.ContentAsBase64EncodedString)).First();
teremCO.KepNev = Path.GetFileNameWithoutExtension(kepInfo.Name);
teremCO.KepKiterjesztes = kepInfo.Extension.Replace(".", string.Empty);
}
if (teremModel.TeremBerbeadasModel.Document != null
&& teremModel.TeremBerbeadasModel.Document.Count > 0)
{
var dokumentumInfo = new FileInfo(teremModel.TeremBerbeadasModel.Document.Select(x => x.Name).First());
teremCO.DokumentumUtvonal = teremHelper.SaveTeremFiles(FileService, teremModel.TeremBerbeadasModel.Document.Select(x => x.ContentAsBase64EncodedString)).First();
teremCO.DokumentumNev = Path.GetFileNameWithoutExtension(dokumentumInfo.Name);
teremCO.DokumentumKiterjesztes = dokumentumInfo.Extension.Replace(".", string.Empty);
}
}
if (teremModel.TeremId > 0)
{
teremHelper.UpdateTerem(teremCO);
}
else
{
teremId = teremHelper.InsertTerem(teremCO);
}
if (teremModel.TeremBerbeadasModel.Berbeadhato && teremModel.TeremBerbeadasModel.TeremBerbeadasIdopontokListModel?.Count > 0)
{
//nyakatekert
teremCO.TeremBerbeadasIdopontokCOList.ForEach(item =>
{
if (item.TeremElerhetosegId.HasValue)
{
teremHelper.UpdateTeremElerhetoseg(item);
}
else
{
teremHelper.InsertTeremElerhetoseg(item, teremCO.TeremId ?? teremId);
}
});
}
// Ha bérbeadható, vagy most váltott nem bérbeadható státuszra
if (teremModel.TeremBerbeadasModel.Berbeadhato || teremBerbeadhatoAlapertek)
{
TeremLogic.EugyErtesitesTeremBerbeadhatoStatuszValtozasrol(EugyintezesClientConfiguration);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (SDA.DataProvider.UniqueKeyViolationException)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.MarLetezikTeremIlyenNevvel);
}
catch (EntityDeleteFailedException edfex)
{
throw new StatusError(HttpStatusCode.Forbidden, edfex.Message.Replace("'CONNECTIONS'", edfex.ConnectionErrorMessage));
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public IHttpActionResult ValidateSaveModifiedOrNewTerem(TeremModModel model)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var naplozasTeremBefogadokepessegSystemSetting = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Naplozas_terem_befogadokepesseg);
var kapacitastTullepettTermekFigyelmeztetoUzenet = string.Empty;
if (!string.IsNullOrWhiteSpace(model.TeremIDArray) && model.Kapacitas.HasValue && naplozasTeremBefogadokepessegSystemSetting)
{
var h = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
kapacitastTullepettTermekFigyelmeztetoUzenet = h.ValidateTeremBefogadokepesseg(tervezettKapacitas: model.Kapacitas, teremIdArrayString: model.TeremIDArray);
}
if (!string.IsNullOrWhiteSpace(kapacitastTullepettTermekFigyelmeztetoUzenet))
{
return Json(new { Valid = false, Text = kapacitastTullepettTermekFigyelmeztetoUzenet });
}
return Json(new { Valid = true, Text = "" });
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveModTerem(TeremModModel model)
{
if (ModelState.IsValid)
{
if (model.VizsgaKapacitas > model.Kapacitas)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AVizsgaBefogadokepessegNemLehetNagyobbMintABefogadokepesseg);
}
var co = TeremModModel.ConvertModelToCO(model);
var h = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
string[] teremIDArray;
var errorMsgs = new List<(string errorMsg, HttpStatusCode errorStatusCode)>();
if (string.IsNullOrWhiteSpace(model.TeremIDArray))
{
teremIDArray = new string[] { co.ID.ToString() };
}
else
{
teremIDArray = model.TeremIDArray.Split(',');
}
foreach (var item in teremIDArray)
{
try
{
co.ID = int.Parse(item);
h.TeremTobbesModify(co);
}
catch (BlException e)
{
errorMsgs.Add((e.Message, HttpStatusCode.BadRequest));
continue;
}
catch (EntityDeleteFailedException edfex)
{
errorMsgs.Add((edfex.Message.Replace("'CONNECTIONS'", edfex.ConnectionErrorMessage), HttpStatusCode.Forbidden));
continue;
}
}
if (errorMsgs.Count == 0)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
var usedErrorStatusCode = errorMsgs.GroupBy(x => x.errorStatusCode).Select(group => new { Key = group.Key, Count = group.Count() }).OrderBy(x => x.Count).First().Key;
throw new StatusError(usedErrorStatusCode, string.Join(Environment.NewLine, errorMsgs.Select(x => x.errorMsg)));
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
public TeremModModel GetTeremBasePropertiesMod(int teremID)
=> TeremModModel.ConvertCOToModel(new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremCo(teremID));
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteTerem([FromBody] int TeremId)
{
try
{
var h = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
h.DeleteTerem(TeremId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.Az0NemTorolhetoMertEgyVagyTobbKapcsolodasaVanKapcsolatok1, IntezmenyResource.Terem, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public IHttpActionResult DeleteSelectedTerem(List<int> idList)
{
var h = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
string errorMsg = string.Empty, entityName = string.Empty;
var counter = 0;
foreach (var id in idList)
{
try
{
h.DeleteTerem(id);
counter++;
}
catch (CannotBeDeletedException ex)
{
errorMsg += $"{ex.Message}{Environment.NewLine}";
continue;
}
catch (EntityDeleteFailedException ex)
{
var teremNev = h.GetTeremNev(id);
var errorMessage = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, teremNev, ex.ConnectionErrorMessage);
errorMsg += $"{errorMessage}{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);
}
}
}

View File

@@ -0,0 +1,351 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class CsengetesiRendApiController : ApiController
{
public DataSourceResult GetCsengetesiRendGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<CsengetesiRendGridModel>(CsengetesiRendGridModel.CsengetesiRendExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(CsengetesiRendResource.CsengetesiRendExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), CsengetesiRendResource.CsengetesiRendExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<CsengetesiRendGridModel> modelList) GetGridData(DataSourceRequest request)
{
var gridParameter = Converter.GridParameter(request);
var coList = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsengetesiRendCoList();
var modelList = new List<CsengetesiRendGridModel>();
foreach (var co in coList)
{
var gridModel = new CsengetesiRendGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
public DataSourceResult GetCsengetesiRendOrai(int csrendID, bool onlyReal, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetCsengetesiRendOraiForGrid(csrendID, onlyReal);
return ds.ToDataSourceResult();
}
public DataSourceResult GetCsengetesiRendTanevrendAdatai(string csrendID, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetTanevrendByCsengRend(SDAConvert.ToInt32(csrendID));
return ds.ToDataSourceResult();
}
public CsengetesiRendModel GetCsengetesiRendProperties(int csengRendID)
{
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetCsengetesiRendById(csengRendID);
var model = new CsengetesiRendModel();
model.ID = co.ID;
model.Nev = co.Nev;
model.Aktiv = co.Aktiv;
return model;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage MentesUjModositottCsengRend(SaveCsengetesiRendModel csrendOrak) //CsengetesiRendModel model,
{
try
{
CsengetesiRendModel model = new CsengetesiRendModel();
model.ID = csrendOrak.CsengRendID;
model.Nev = csrendOrak.CsengRendNev;
model.Aktiv = csrendOrak.CsengRendAktiv;
if (string.IsNullOrWhiteSpace(model.Nev.Trim()))
{
ModelState.AddModelError("NevHiba", StringResourcesUtil.GetString(4038)); //A csengetésirend név megadása kötelező.
}
var cshelper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!ClaimData.IsActivTanev && new CsengetesiRendHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).CheckCsengRendNevEgyezes(csrendOrak.CsengRendID, csrendOrak.CsengRendNev))
{
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3796)); //A megadott név már létezik!
}
if (model.ID.Value <= 0)
{
var insertOralista = ConvertModelListToCoList(-1, csrendOrak.Orak, ModelState);
var insertHibaLista = helper.ValidateCsengetesiRendOrak(insertOralista.Where(a => a.Aktiv).ToList());
foreach (var item in insertHibaLista)
{
ModelState.AddModelError("OraHiba", item.Value);
}
}
if (ModelState.IsValid)
{
var csengetesiRendID = cshelper.SaveOrUpdateCsengetesiRend(ConvertModelToCo(model));
var oralista = ConvertModelListToCoList(csengetesiRendID, csrendOrak.Orak, ModelState);
var hibaLista = helper.ValidateCsengetesiRendOrak(oralista.Where(a => a.Aktiv).ToList());
foreach (var item in hibaLista)
{
ModelState.AddModelError("OraHiba", item.Value);
}
if (ModelState.IsValid)
{
helper.SaveCsengetesiRendOraLista(oralista, csrendOrak.IsVisszamenoleges, ClaimData.KovTanevID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (FormatException)
{
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(2484));
}
catch (SDA.DataProvider.UniqueKeyViolationException)
{
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3796)); //A megadott név már létezik!
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SetCsengetesiRendAktiv(CsengetesiRendTorlesModel model)
{
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.SetCsengetesirend((int)model.ID, true);
int kovTanevId = ClaimData.KovTanevID ?? new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetKovetkezoTanev().Key;
if (kovTanevId != default(int) && kovTanevId != ClaimData.SelectedTanevID)
{
helper.FollowUpCsengetesiRend(kovTanevId, (int)model.ID);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage CsengRendTorles(CsengetesiRendTorlesModel model)
{
try
{
if (model.ID.IsEntityId())
{
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var csengetesiRend = helper.GetCsengetesiRendById(model.ID.Value);
if (csengetesiRend.Aktiv)
{
throw new StatusError(HttpStatusCode.BadRequest, Framework.StringResourcesUtil.GetString(3809)); //Aktív csengetési rend nem törölhető!
}
helper.DeleteCsengetesiRend(model.ID.Value);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, OrarendResource.CsengetesiRend, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpGet]
public bool CsengetesiRendValidacio(int valasztottCsengRendId, int torlendoCsengRendId)
{
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
CsengetesiRendOraCO valasztottCsengRendResult = helper.GetCsengetesiRendKapcsolodoOra(valasztottCsengRendId);
CsengetesiRendOraCO torlendoCsengRendResult = helper.GetCsengetesiRendKapcsolodoOra(torlendoCsengRendId);
bool isFullValid = false;
if (valasztottCsengRendResult.MinOraszam == torlendoCsengRendResult.MinOraszam && valasztottCsengRendResult.MaxOraszam == torlendoCsengRendResult.MaxOraszam)
{
var valasztottCsengRendOraKezdet = helper.GetCsengetesiRendKapcsolodoOraKezdeteVege(valasztottCsengRendId);
var torlendoCsengRendOraVeg = helper.GetCsengetesiRendKapcsolodoOraKezdeteVege(torlendoCsengRendId);
if (valasztottCsengRendOraKezdet.Count == torlendoCsengRendOraVeg.Count && !valasztottCsengRendOraKezdet.Except(torlendoCsengRendOraVeg).Any())
{
isFullValid = true;
}
}
else
{
throw new StatusError(HttpStatusCode.BadRequest, CsengetesiRendResource.OraszamNemEgyezik);
}
return isFullValid;
}
[HttpGet]
public void CsengetesiRendUpdateAndDel(int valasztottCsengRendId, int torlendoCsengRendId)
{
var helper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
CsengetesiRendOraCO torlendoCsengRendResult = helper.GetCsengetesiRendKapcsolodoOra(torlendoCsengRendId);
if (torlendoCsengRendResult.Aktiv == false)
{
var csRendHelper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (torlendoCsengRendResult.ID.HasValue)
{
helper.UpdateCsengetesiRend(valasztottCsengRendId, torlendoCsengRendId);
csRendHelper.DeleteCsengetesiRend(torlendoCsengRendId);
}
}
else
{
throw new StatusError(HttpStatusCode.BadRequest, CsengetesiRendResource.AktivCsengRendNemTorolheto);
}
}
[HttpGet]
public CsengetesiRendOraCO CsengetesiRendDetails(int csengRendID)
{
return new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsengetesiRendKapcsolodoOra(csengRendID);
}
#region Converters
private CsengetesiRendCO ConvertModelToCo(CsengetesiRendModel model)
{
var co = new CsengetesiRendCO();
co.ID = model.ID;
co.Nev = model.Nev.Trim();
co.Aktiv = model.Aktiv;
return co;
}
private List<CsengetesiRendOraCO> ConvertModelListToCoList(int csengetesiRendId, List<CsengetesiRendOraModel> modelList, ModelStateDictionary modelState)
{
var colist = new List<CsengetesiRendOraCO>();
Regex regex = new Regex(Core.Constants.RegularExpressions.TimePicker);
foreach (CsengetesiRendOraModel item in modelList)
{
var co = new CsengetesiRendOraCO();
co.ID = item.ID;
co.CsengetesiRendID = csengetesiRendId;
co.Oraszam = item.Oraszam;
co.Aktiv = item.Aktiv;
if (item.Aktiv)
{
if (string.IsNullOrWhiteSpace(item.Kezd))
{
modelState.AddModelError(nameof(item.Kezd), string.Format(CsengetesiRendResource.KezdeteKotelezo, item.Oraszam));
}
else
{
if (!regex.IsMatch(item.Kezd))
{
modelState.AddModelError(nameof(item.Kezd), string.Format(CsengetesiRendResource.KezdeteRosszFormatum, item.Oraszam));
}
else
{
var split = item.Kezd.Split(':');
co.Kezd = new DateTime(1900, 01, 01);
co.Kezd = co.Kezd.AddHours(SDAConvert.ToInt32(split[0])).AddMinutes(SDAConvert.ToInt32(split[1]));
}
}
if (string.IsNullOrWhiteSpace(item.Veg))
{
modelState.AddModelError(nameof(item.Veg), string.Format(CsengetesiRendResource.VegeKotelezo, item.Oraszam));
}
else
{
if (!regex.IsMatch(item.Veg))
{
modelState.AddModelError(nameof(item.Veg), string.Format(CsengetesiRendResource.VegeRosszFormatum, item.Oraszam));
}
else
{
var split = item.Veg.Split(':');
co.Veg = new DateTime(1900, 01, 01);
co.Veg = co.Veg.AddHours(SDAConvert.ToInt32(split[0])).AddMinutes(SDAConvert.ToInt32(split[1]));
}
}
}
colist.Add(co);
}
return colist;
}
#endregion
}
}

View File

@@ -0,0 +1,18 @@
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core.FileService;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeApiActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminTeremApiController : BaseTeremApiController
{
public DualisAdminTeremApiController(IFileService fileService, IEugyintezesClientConfiguration eugyintezesClientConfiguration)
: base(fileService, eugyintezesClientConfiguration)
{
}
}
}

View File

@@ -0,0 +1,442 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
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.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.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.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class EszkozokApiController : ApiController
{
public DataSourceResult GetEszkozokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
EszkozSearchModel model = JsonConvert.DeserializeObject<EszkozSearchModel>(data);
var ehelper = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
ehelper.GridParameters = Converter.GridParameter(request);
var eszkozok = ehelper.EszkozKereses(model.ConvertToCo(ClaimData.SelectedTanevID.Value));
return eszkozok.ToDataSourceResult();
}
public EszkozModel GetEszkozProperties(int eszkozId)
{
EszkozCO co;
EszkozHelper ehelper = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
co = ehelper.GetEszkozCo(eszkozId);
return ConvertCOtoModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveModifiedOrNewEszkoz(EszkozModel model)
{
if (!ClaimData.EszkozKezelesEnabled)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
}
if (ModelState.IsValid)
{
int ideiEv = System.DateTime.Now.Year;
if (model.GyartasiEv < ideiEv - 100 || model.GyartasiEv > ideiEv)
{
//A gyártási év nem lehet száz évnél régebbi, és újabb, mint az idei év
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3828));
}
if (Convert.ToDateTime(model.BeszerzesDatum).Date > System.DateTime.Now.Date)
{
//A beszerzési dátum nem lehet későbbi, mint a mai nap
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3831));
}
if (model.BeszerzesDatum?.Year < model.GyartasiEv)
{
throw new StatusError(HttpStatusCode.BadRequest, IntezmenyResource.BeszerzesDatumaNemLehetKorabbbanMintGyartasiEv);
}
EszkozHelper h = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (h.GetEszkozByName(model.Nev, model.ID, model.TeremID.Value, model.Jelleg ?? (int)Enums.EszkozJellegEnum.na))
{
throw new StatusError(HttpStatusCode.BadRequest, EszkozResource.MegadottNevvelMarSzerepelEszkoz);
}
EszkozCO co = Convert_Model_to_CO(model);
if (model.ID.HasValue && model.ID > 0)
{
h.UpdateEszkozCo(co);
}
else
{
h.InsertEszkozCo(co);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
public EszkozCsopModModel GetCsopEszkozProperties(int eszkozId)
{
if (!ClaimData.EszkozKezelesEnabled)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
}
EszkozCO co;
EszkozHelper ehelper = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
co = ehelper.GetEszkozCo(eszkozId);
EszkozCsopModModel model = new EszkozCsopModModel();
model.EszkozId = eszkozId;
model.EszkozNev = co.Nev;
model.TeremID = co.TeremID;
model.Tipus = co.Tipus;
model.Kategoria = co.Kategoria;
model.BeszerzesDatum = co.BeszerzesDatum;
model.Darabszam = co.Darabszam;
model.SzemelyiFelelos = co.SzemelyiFelelos;
model.GyartasiEv = co.GyartasiEv;
//Statisztikai jellemzők
model.PedagogusHozzaferhet = co.PedagogusHozzaferhet;
model.TanuloHozzaferhet = co.TanuloHozzaferhet;
model.Multimedias = co.Multimedias;
model.HalozatiKapcsolat = co.HalozatiKapcsolat;
model.Hordozhato = co.Hordozhato;
model.InternetKapcsolat = co.InternetKapcsolat;
model.Berelt = co.Berelt;
model.Tartozek = co.Tartozek;
model.TartozekHivatkozas = co.TartozekHivatkozas;
model.Celja = co.Celja;
model.NemMukodik = co.NemMukodik;
return model;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage TeremValidacio(EszkozModel model)
{
if (!ClaimData.EszkozKezelesEnabled)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
}
if (model.ID.IsEntityId() && new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozByIds(model.ID.ToString(), model.TeremID.Value))
{
ModelState.AddModelError(nameof(model.TeremID), EszkozResource.MegadottNevvelMarSzerepelTomegesEszkoz);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage TeremValidacioTobbes(EszkozCsopModModel model)
{
if (!ClaimData.EszkozKezelesEnabled)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
}
if (new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozByIds(model.EszkozIdArray.TrimEnd(' ').TrimEnd(','), model.TeremID.Value))
{
ModelState.AddModelError(nameof(model.TeremID), EszkozResource.MegadottNevvelMarSzerepelTomegesEszkoz);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveCsopModifiedEszkozok(EszkozCsopModModel model)
{
if (!ClaimData.EszkozKezelesEnabled)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAMuveletVegrehajtasahoz);
}
if (ModelState.IsValid)
{
int ideiEv = System.DateTime.Now.Year;
if (model.GyartasiEv < ideiEv - 100 || model.GyartasiEv > ideiEv)
{
//A gyártási év nem lehet száz évnél régebbi, és újabb, mint az idei év
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3828));
}
if (Convert.ToDateTime(model.BeszerzesDatum).Date > System.DateTime.Now.Date)
{
//A beszerzési dátum nem lehet későbbi, mint a mai nap
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(3831));
}
if (model.BeszerzesDatum?.Year < model.GyartasiEv)
{
throw new StatusError(HttpStatusCode.BadRequest, IntezmenyResource.BeszerzesDatumaNemLehetKorabbbanMintGyartasiEv);
}
string[] eszkozArray;
if (!string.IsNullOrWhiteSpace(model.EszkozIdArray))
{
eszkozArray = model.EszkozIdArray.Split(',');
}
else
{
eszkozArray = new string[] { model.EszkozId.ToString() };
}
foreach (var item in eszkozArray)
{
if (!string.IsNullOrWhiteSpace(item))
{
var co = new EszkozCO();
co.ID = int.Parse(item);
co.TeremID = model.TeremID;
co.Tipus = model.Tipus;
co.Kategoria = model.Kategoria;
co.BeszerzesDatum = model.BeszerzesDatum;
co.Darabszam = model.Darabszam;
co.SzemelyiFelelos = model.SzemelyiFelelos;
co.GyartasiEv = model.GyartasiEv;
if (model.TanuloHozzaferhet.HasValue)
{
co.TanuloHozzaferhet = model.TanuloHozzaferhet;
}
if (model.PedagogusHozzaferhet.HasValue)
{
co.PedagogusHozzaferhet = model.PedagogusHozzaferhet;
}
if (model.HalozatiKapcsolat.HasValue)
{
co.HalozatiKapcsolat = model.HalozatiKapcsolat;
}
if (model.InternetKapcsolat.HasValue)
{
co.InternetKapcsolat = model.InternetKapcsolat;
}
if (model.Multimedias.HasValue)
{
co.Multimedias = model.Multimedias;
}
if (model.Berelt.HasValue)
{
co.Berelt = model.Berelt;
}
co.Tartozek = model.Tartozek;
if (model.Hordozhato.HasValue)
{
co.Hordozhato = model.Hordozhato;
}
co.Celja = model.Celja;
co.TartozekHivatkozas = model.TartozekHivatkozas;
if (model.NemMukodik.HasValue)
{
co.NemMukodik = model.NemMukodik;
}
var helper = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.UpdateCsopEszkoz(co);
}
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public IHttpActionResult DeleteEszkoz([FromBody] int eszkozId)
{
var eszkozList = new List<int> { eszkozId };
return DeleteSelectedEszkoz(eszkozList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public IHttpActionResult DeleteSelectedEszkoz(List<int> eszkozList)
{
EszkozHelper h = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
string errorMsg = string.Empty, entityName = string.Empty;
var counter = 0;
foreach (var eszkozId in eszkozList)
{
try
{
h.DeleteEszkoz(eszkozId);
counter++;
}
catch (EntityDeleteFailedException ex)
{
var eszkoz = h.GetEszkozCo(eszkozId);
entityName = eszkoz.Nev;
errorMsg += string.Format(ErrorResource.EszkozNemTorolhetoKapcsolatMiatt1, entityName, ex.ConnectionErrorMessage) + 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);
}
private EszkozCO Convert_Model_to_CO(EszkozModel model)
{
EszkozCO eszkoz = new EszkozCO()
{
Berelt = model.Berelt.ToNullableInt(),
BeszerzesDatum = model.BeszerzesDatum,
BeszerzesiAr = model.BeszerzesiAr,
Celja = model.Celja,
Darabszam = model.Darabszam,
FelelosNev = model.FelelosNev,
FokonyviSzam = model.FokonyviSzam,
GyariSzam = model.GyariSzam,
GyartasiEv = model.GyartasiEv,
HalozatiKapcsolat = model.HalozatiKapcsolat.ToNullableInt(),
Hordozhato = model.Hordozhato.ToNullableInt(),
ID = model.ID,
InternetKapcsolat = model.InternetKapcsolat.ToNullableInt(),
Jelleg = model.Jelleg,
Kategoria = model.Kategoria,
LeltariSzam = model.LeltariSzam,
MennyisegiEgyseg = model.MennyisegiEgyseg,
Megjegyzes = model.Megjegyzes,
Multimedias = model.Multimedias.ToNullableInt(),
NemMukodik = model.NemMukodik.ToNullableInt(),
Nev = model.Nev,
PedagogusHozzaferhet = model.PedagogusHozzaferhet.ToNullableInt(),
Szallito = model.Szallito,
SzemelyiFelelos = model.SzemelyiFelelos,
TanuloHozzaferhet = model.TanuloHozzaferhet.ToNullableInt(),
Tartozek = model.Tartozek,
TartozekHivatkozas = model.TartozekHivatkozas,
TeremID = model.TeremID ?? -1,
TeremNev = model.TeremNev,
Tipus = model.Tipus,
Vonalkod = model.Vonalkod
};
return eszkoz;
}
private EszkozModel ConvertCOtoModel(EszkozCO co)
{
EszkozModel model = new EszkozModel()
{
Berelt = co.Berelt.ToBool(),
BeszerzesDatum = co.BeszerzesDatum,
BeszerzesiAr = co.BeszerzesiAr,
Celja = co.Celja,
Darabszam = co.Darabszam,
FelelosNev = co.FelelosNev,
FokonyviSzam = co.FokonyviSzam,
GyariSzam = co.GyariSzam,
GyartasiEv = co.GyartasiEv,
HalozatiKapcsolat = co.HalozatiKapcsolat.ToBool(),
Hordozhato = co.Hordozhato.ToBool(),
ID = co.ID,
InternetKapcsolat = co.InternetKapcsolat.ToBool(),
Jelleg = co.Jelleg,
Kategoria = co.Kategoria,
LeltariSzam = co.LeltariSzam,
Megjegyzes = co.Megjegyzes,
MennyisegiEgyseg = co.MennyisegiEgyseg,
NemMukodik = co.NemMukodik.ToBool(),
Multimedias = co.Multimedias.ToBool(),
Nev = co.Nev,
PedagogusHozzaferhet = co.PedagogusHozzaferhet.ToBool(),
Szallito = co.Szallito,
SzemelyiFelelos = co.SzemelyiFelelos,
TanuloHozzaferhet = co.TanuloHozzaferhet.ToBool(),
Tartozek = co.Tartozek,
TartozekHivatkozas = co.TartozekHivatkozas,
TeremID = co.TeremID,
TeremNev = co.TeremNev,
Tipus = co.Tipus,
Vonalkod = co.Vonalkod
};
return model;
}
public JsonResult<List<ComboBoxListItem>> GetKategoriaList([DataSourceRequest] DataSourceRequest request)
{
List<ComboBoxListItem> items = ((int)GeneratedAdatszotarTipusEnum.EszkozKategoria).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToComboBoxItemList();
return Json(items);
}
public JsonResult<List<ComboBoxListItem>> GetFelelosList([DataSourceRequest] DataSourceRequest request)
{
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var dictionary = helper.GetAlkalmazottak();
var dropdownListItems = new List<ComboBoxListItem>();
foreach (var item in dictionary)
{
var sli = new ComboBoxListItem() { Text = item.Value, Value = item.Key };
dropdownListItems.Add(sli);
}
return Json(dropdownListItems);
}
public JsonResult<List<ComboBoxListItem>> GetTipusList([DataSourceRequest] DataSourceRequest request)
{
var tipuslist = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozTipus, ClaimData.SelectedTanevID.Value);
var list = new List<ComboBoxListItem>();
foreach (var item in tipuslist)
{
var sli = new ComboBoxListItem() { Text = item.Value, Value = item.Key };
list.Add(sli);
}
return Json(list);
}
public JsonResult<List<ComboBoxListItem>> GetFelhasznalasList([DataSourceRequest] DataSourceRequest request)
{
var enumList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozCel, ClaimData.SelectedTanevID.Value);
var list = new List<ComboBoxListItem>();
foreach (var item in enumList)
{
var sli = new ComboBoxListItem() { Text = item.Value, Value = item.Key };
list.Add(sli);
}
return Json(list);
}
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Web.Http;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class FaliujsagApiController : ApiController
{
/// <summary>
/// Visszaadja a tanuló/szülő faliújság-bejegyéseit tartalmazó listát
/// </summary>
/// <returns></returns>
public FaliujsagModel GetFaliujsagBejegyzesek(DateTime? date = null, int? startindex = null, int? range = null)
{
var helper = new FeljegyzesekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var dataTable = helper.GetFaliujsagonMegjelenoBejegyzesek(date, null, startindex, range);
var converter = new FaliujsagLogic();
return converter.ConvertFaliujsagDataTableToList(dataTable);
}
}
}

View File

@@ -0,0 +1,589 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class IntezmenyApiController : ApiController
{
private readonly IJiraHelper JiraHelper;
public IntezmenyApiController(IJiraHelper jiraHelper)
{
JiraHelper = jiraHelper ?? throw new ArgumentNullException(nameof(jiraHelper));
}
[HttpGet]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
public IntezmenyModel GetIntezmeny(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
IntezmenyModel model = new IntezmenyModel();
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
IntezmenyCO co = helper.GetIntezmenyiAdatok();
if (co != null)
{
var posziHelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), iktatoRepositoryFactory, iktatoServiceConfiguration);
var dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(null, DokumentumTipusEnum.AlapitoOkirat);
co.AlapitoOkirat = dokumentumCO;
dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(null, DokumentumTipusEnum.SzervezetiEsMukodesiSzabalyzat);
co.SzervezetiEsMukodesiSzabalyzat = dokumentumCO;
dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(null, DokumentumTipusEnum.PedagogiaiProgram);
co.PedagogiaiProgram = dokumentumCO;
dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(null, DokumentumTipusEnum.Hazirend);
co.Hazirend = dokumentumCO;
dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(ClaimData.SelectedTanevID, DokumentumTipusEnum.Munkaterv);
co.Munkaterv = dokumentumCO;
dokumentumCO = posziHelper.IntezmenyiKotelezoDokumentum(null, DokumentumTipusEnum.mukodesi_engedely);
co.MukodesiEngedely = dokumentumCO;
model = ConvertIntezmenyCoToModel(co);
}
return model;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
public DataSourceResult GetIntezmenyMukodesiHelyGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
MukodesiHelyHelper helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var helyek = helper.GetMukodesiHelyek();
return helyek.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
public DataSourceResult GetIntezmenyFeladatEllatasiHelyGrid(string id, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
FeladatEllatasiHelyHelper helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetFeladatEllatasiHelyByMukodesiHelyID(int.Parse(id));
return ds.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveIntezmeny(IntezmenyModel pmodel)
{
bool isNevOmKodModosithato = ApplicationData.SystemType == SystemType.AZURE || ApplicationData.SystemType == SystemType.NSZFH_EMA;
if (IsOMKodValid(pmodel.OMKod) == false && isNevOmKodModosithato)
{
ModelState.AddModelError("OMKod", StringResourcesUtil.GetString(4483) /*Az OM kódnak 6 számjegyűnek kell lennie!*/);
}
if (!pmodel.Telefon.IsValidPhone())
{
ModelState.AddModelError("Telefon", ErrorResource.ATelefonszamFormatumaNemMegfelelo);
}
if (ClaimData.IsKretaAdministrator)
{
if (string.IsNullOrWhiteSpace(pmodel.AdminEmail))
{
ModelState.AddModelError("AdminEmail", string.Format(ErrorResource.Required, CommonResource.AdminEmail));
}
else if (!pmodel.AdminEmail.IsValidEmail())
{
ModelState.AddModelError("AdminEmail", ErrorResource.EMailCimFormatumaNemMegfelelo);
}
}
if (ModelState.IsValid)
{
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (ClaimData.IsKretaAdministrator)
{
JiraHelper.ChangeAdminEmail(ClaimData.IntezmenyAzonosito, pmodel.AdminEmail);
}
IntezmenyCO co = ConvertIntezmenyModelToCo(pmodel, isNevOmKodModosithato);
helper.SaveIntezmenyiAdatok(co, isNevOmKodModosithato, ClaimData.IsKretaAdministrator);
ClaimData.OrganizationShortName = co.RovidNev;
ClaimData.OrganizationCode = co.OMKod;
ClaimData.RefreshOrganizationFullAddress(co);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveMukodesiHely(MukodesiHelyModel pmodel)
{
try
{
if (pmodel.MukodesiHelyTipusa.HasValue && pmodel.MukodesiHelyTipusa.Value == (int)MukodesiHelyTipusEnum.Telephely && !pmodel.TelephelyAnyaintezmeny.HasValue)
{
ModelState.AddModelError(nameof(pmodel.TelephelyAnyaintezmeny), IntezmenyResource.TelephelyAnyaIntezmenyKotelezo);
}
if (ModelState.IsValid)
{
MukodesiHelyHelper helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (pmodel.MukodesiHelyTipusa != null && (MukodesiHelyTipusEnum)pmodel.MukodesiHelyTipusa == MukodesiHelyTipusEnum.Szekhely)
{
bool vanMasikSzekhely;
if (!pmodel.Id.HasValue)
{
var mukodesiHelyek = helper.GetMukodesiHelyek()
.Tables[0]
.Rows.Cast<DataRow>().ToList();
vanMasikSzekhely = mukodesiHelyek
.Any(CheckSzekhely(pmodel));
}
else
{
var mukodesiHelyek = helper.GetMukodesiHelyek()
.Tables[0]
.Rows.Cast<DataRow>();
vanMasikSzekhely = mukodesiHelyek
.Any(CheckSzekhely(pmodel));
}
if (vanMasikSzekhely)
{
ModelState.AddModelError(nameof(pmodel.MukodesiHelyTipusa), IntezmenyResource.CsakEgySzekhelyLehet);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
if (pmodel.MukodesiHelyTipusa.HasValue && pmodel.MukodesiHelyTipusa.Value != (int)MukodesiHelyTipusEnum.Tagintezmeny)
{
pmodel.VezetoNeve = string.Empty;
}
var co = pmodel.ToCo();
if (helper.MukodesiHelyAzonositoExists(co))
{
ModelState.AddModelError(nameof(pmodel.MukodesiHelyAzonosito), ErrorResource.AMegadottMukodesiHelyAzonositoMarLetezik);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
helper.SaveMukodesiHely(co);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (SDA.DataProvider.SDADataProviderException ex)
{
if (ex.Error == SDA.DataProvider.SDADataProviderError.UniqueKeyViolation)
{
ModelState.AddModelError(nameof(pmodel.Nev), ErrorResource.IlyenNevuMukodesiHelyMarLetezik);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
throw;
}
catch (CannotBeInsertedException ex)
{
ModelState.AddModelError(nameof(pmodel.MukodesiHelyAzonosito), ex.Message);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public MukodesiHelyModel GetMukodesiHely([FromBody] int pId)
{
var helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
MukodesiHelyCO co = helper.GetMukodesiHelyAdatok(pId);
return new MukodesiHelyModel(co);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveFeladat(FeladatellatasiHelyModel pmodel)
{
if (ModelState.IsValid)
{
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!string.IsNullOrWhiteSpace(pmodel.KIRFeladatellatasiHelySorszama))
{
pmodel.KIRFeladatellatasiHelySorszama = pmodel.KIRFeladatellatasiHelySorszama.Replace("_", string.Empty);
if (!Regex.IsMatch(pmodel.KIRFeladatellatasiHelySorszama, Core.Constants.RegularExpressions.KIRFeladatellatasiHelySorszama))
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.KIRFeladatellatasiHelySorszamCsak3JegyuSzamLehet);
}
}
var co = ConvertFeladatellatasiHelyModelToCo(pmodel);
try
{
helper.SaveFeladatEllatasiHelyAdatok(co);
}
catch (BlException blex)
{
throw new StatusError(HttpStatusCode.BadRequest, blex.Message);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteMukodesiHely([FromBody] int pID)
{
try
{
MukodesiHelyHelper helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteMukodesiHely(pID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, IntezmenyResource.MukodesiHely, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFeladat([FromBody] int pID)
{
try
{
FeladatEllatasiHelyHelper helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.FeladatEllatasiHelyTorles(pID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var errorMessage = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, CommonResource.Feladatellatasihely, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, errorMessage);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public FeladatellatasiHelyModel GetFeladatellatasiHely([FromBody] int pfeladatellatasiHelyId)
{
FeladatellatasiHelyModel model = new FeladatellatasiHelyModel();
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
FeladatEllatasiHelyCO co = helper.GetFeladatEllatasiHelyAdatok(pfeladatellatasiHelyId);
if (co != null)
{
model = ConvertFeladatellatasiHelyCoToModel(co);
}
return model;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<System.Web.Mvc.SelectListItem> GetFeladatListByMukodesiHelyId([FromBody] int pmukodesiHelyId)
{
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var feladatIdList = helper.GetGetFeladatEllatasiHelyIdListByMukodesiHelyID(pmukodesiHelyId);
var feladatDDLDataSource = ((int)GeneratedAdatszotarTipusEnum.OktatasiNevelesiFeladat).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
foreach (var id in feladatIdList)
{
feladatDDLDataSource.RemoveAll(i => i.Value == id.ToString());
}
return feladatDDLDataSource;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SetSzekhely([FromBody] int pmukodesiHelyId)
{
var helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.SetSzekhely(pmukodesiHelyId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public FeladatellatasiHelyModel GetFeladatellatasiHelyAlapadatok(int feladellHelyID)
{
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetFeladatEllatasiHelyAdatok(feladellHelyID);
var model = new FeladatellatasiHelyModel();
model.ID = co.ID;
model.MukodesiHelyNev = co.MukodesiHelyNev;
model.FeladatTipusNev = co.OktatasiNevelesiFeladatNev;
return model;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public DataSourceResult GetFeladatellatasiHelyOsztalycsoportjai(string id, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetFeladatellatasiHelyOsztalycsoportjai(SDAConvert.ToInt32(id));
return ds.ToDataSourceResult();
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public DataSourceResult GetFeladatellatasiHelyAlkalmazottjai(string id, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetFeladatellatasiHelyAlkalmazottjai(SDAConvert.ToInt32(id));
return ds.ToDataSourceResult();
}
public IntezmenyiDokumentumModel GetIntezmenyiDokumentumModel(Enums.DokumentumTipusEnum dokumentumTipus, IIktatoRepositoryFactory
iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
var helper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), iktatoRepositoryFactory, iktatoServiceConfiguration);
var co = helper.IntezmenyiKotelezoDokumentum((dokumentumTipus != Enums.DokumentumTipusEnum.Munkaterv) ? null : ClaimData.SelectedTanevID, dokumentumTipus);
return ConvertIntezmenyiDokumentumCoToModel(co);
}
#region Others
private IntezmenyModel ConvertIntezmenyCoToModel(IntezmenyCO co)
{
IntezmenyModel model = new IntezmenyModel()
{
Email = co.Email,
AdminEmail = co.AdminEmail,
Id = co.ID,
IgazgatoNeve = co.Igazgato,
IntezmenyNev = co.Nev,
OMKod = co.OMKod,
RovidNev = co.RovidNev,
Telefon = co.Telefonszam,
EngedelyezettAllashely = co.EngedelyezettAllashely ?? 0,
Orszag = co.Orszag,
Iranyitoszam = co.Iranyitoszam,
Iranyitoszam_Str = co.Iranyitoszam,
HelysegNev = co.Varos,
HelysegNev_Str = co.Varos,
KozteruletTipus = co.KozteruletJellegNev,
KozteruletTipus_Str = co.KozteruletJellegNev,
KozteruletNev = co.Kozterulet,
Emelet = co.Emelet,
Hazszam = co.Hazszam,
Ajto = co.Ajto,
IsSzakkepzo = co.IsSzakkepzo,
JuttatasHatarnap = co.JuttatasHatarnap - 1,
};
model.AlapitoOkirat = ConvertIntezmenyiDokumentumCoToModel(co.AlapitoOkirat);
model.SZMSZ = ConvertIntezmenyiDokumentumCoToModel(co.SzervezetiEsMukodesiSzabalyzat);
model.PedagogiaiProgram = ConvertIntezmenyiDokumentumCoToModel(co.PedagogiaiProgram);
model.Hazirend = ConvertIntezmenyiDokumentumCoToModel(co.Hazirend);
model.Munkaterv = ConvertIntezmenyiDokumentumCoToModel(co.Munkaterv);
model.MukodesiEngedely = ConvertIntezmenyiDokumentumCoToModel(co.MukodesiEngedely);
return model;
}
private IntezmenyCO ConvertIntezmenyModelToCo(IntezmenyModel model, bool isNevOMKodModosithato)
{
IntezmenyCO co = new IntezmenyCO()
{
Email = model.Email,
AdminEmail = model.AdminEmail,
ID = model.Id ?? (int)default,
Igazgato = model.IgazgatoNeve,
RovidNev = model.RovidNev,
Telefonszam = model.Telefon,
EngedelyezettAllashely = model.EngedelyezettAllashely.HasValue ? model.EngedelyezettAllashely : 0,
Orszag = model.Orszag,
Iranyitoszam = model.Iranyitoszam_Str,
Varos = model.HelysegNev_Str,
Kozterulet = model.KozteruletNev,
KozteruletJellegNev = model.KozteruletTipus_Str,
Emelet = model.Emelet,
Hazszam = model.Hazszam,
Ajto = model.Ajto,
IsSzakkepzo = model.IsSzakkepzo,
JuttatasHatarnap = model.JuttatasHatarnap + 1,
};
if (isNevOMKodModosithato)
{
co.Nev = model.IntezmenyNev;
co.OMKod = model.OMKod;
}
if (model.AlapitoOkirat != null)
{
co.AlapitoOkirat = ConvertIntezmenyiDokumentumModelToCo(model.AlapitoOkirat);
}
if (model.SZMSZ != null)
{
co.SzervezetiEsMukodesiSzabalyzat = ConvertIntezmenyiDokumentumModelToCo(model.SZMSZ);
}
if (model.PedagogiaiProgram != null)
{
co.PedagogiaiProgram = ConvertIntezmenyiDokumentumModelToCo(model.PedagogiaiProgram);
}
if (model.Hazirend != null)
{
co.Hazirend = ConvertIntezmenyiDokumentumModelToCo(model.Hazirend);
}
if (model.Munkaterv != null)
{
co.Munkaterv = ConvertIntezmenyiDokumentumModelToCo(model.Munkaterv);
}
if (model.MukodesiEngedely != null)
{
co.MukodesiEngedely = ConvertIntezmenyiDokumentumModelToCo(model.MukodesiEngedely);
}
return co;
}
private FeladatellatasiHelyModel ConvertFeladatellatasiHelyCoToModel(FeladatEllatasiHelyCO co)
{
FeladatellatasiHelyModel model = new FeladatellatasiHelyModel()
{
FeladatTipus = co.OktatasiNevelesiFeladat.Value,
ID = co.ID,
MukodesiHelyID = co.MukodesiHelyID,
KIRFeladatellatasiHelySorszama = co.KIRFeladatellatasiHelySorszama
};
return model;
}
private FeladatEllatasiHelyCO ConvertFeladatellatasiHelyModelToCo(FeladatellatasiHelyModel model)
{
FeladatEllatasiHelyCO co = new FeladatEllatasiHelyCO()
{
OktatasiNevelesiFeladat = model.FeladatTipus,
ID = model.ID,
MukodesiHelyID = model.MukodesiHelyID,
KIRFeladatellatasiHelySorszama = model.KIRFeladatellatasiHelySorszama,
TanevId = ClaimData.SelectedTanevID.Value
};
return co;
}
private IntezmenyiDokumentumModel ConvertIntezmenyiDokumentumCoToModel(IntezmenyiDokumentumCO co)
{
return new IntezmenyiDokumentumModel()
{
Nev = co.Nev,
Tipus = co.Tipus,
FajlNev = co.FajlNev,
Statusz = co.Statusz,
IktatottDokumentumId = co.IktatottDokumentumId
};
}
private IntezmenyiDokumentumCO ConvertIntezmenyiDokumentumModelToCo(IntezmenyiDokumentumModel model)
{
return new IntezmenyiDokumentumCO()
{
Nev = model.Nev,
Tipus = model.Tipus,
FajlNev = model.FajlNev,
Statusz = model.Statusz,
IktatottDokumentumId = model.IktatottDokumentumId
};
}
private bool IsOMKodValid(string omKod)
{
return !string.IsNullOrWhiteSpace(omKod) && Regex.IsMatch(omKod, Core.Constants.RegularExpressions.OMAzonosito);
}
#endregion
#region PrivateMethods
/// <summary>
/// Can be used as the evaluator for iterating through the list of MukodesiHely-s within an Any function to check if there is already a Szekhely which is not the one currently being edited.
/// </summary>
/// <param name="pmodel">MukodesiHely currently being edited.</param>
/// <returns></returns>
private Func<DataRow, bool> CheckSzekhely(MukodesiHelyModel pmodel)
{
return row =>
{
MukodesiHelyTipusEnum castedValue;
var successParse = Enum.TryParse(row["C_MUKODESIHELYTIPUSA"]?.ToString(), out castedValue);
if (successParse && castedValue == MukodesiHelyTipusEnum.Szekhely)
{
if (pmodel.Id.HasValue && row["ID"]?.ToString() == pmodel.Id.Value.ToString())
{
return false;
}
return true;
}
return false;
};
}
#endregion
}
}

View File

@@ -0,0 +1,172 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Framework;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.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.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsSzakkepzoIntezmeny.ClaimValue)]
public class OktatottSzakmakApiController : ApiController
{
private readonly IFileServiceHelper _fileServiceHelper;
public OktatottSzakmakApiController(IFileServiceHelper fileServiceHelper)
{
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public DataSourceResult GetOktatottSzakmakGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(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<OktatottSzakmakGridModel>(OktatottSzakmakGridModel.OktatottSzakmakExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(UjSzktSzakmajegyzekOsszerendelesResource.ExportDefaultSheetname, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
var today = DateTime.Today;
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), string.Format(UjSzktSzakmajegyzekOsszerendelesResource.ExportFileName, $"{today.Year}_{today.Month:00}_{today.Day:00}"));
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben)
{
UnHandledException = ex
};
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage OktatottSzakmaMultipleModify(OktatottSzakmaMultipleModifyModel model)
{
if (ModelState.IsValid)
{
try
{
new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveUjSzktSzakmajegyzekOsszerendelesCoList(model.ToCoList(), false);
}
catch (KretaError ke)
{
SDAServer.Instance.Logger.ExceptionThrown(ke);
ModelState.AddModelError("Error", ke.Message);
}
if (ModelState.IsValid)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage OktatottSzakmaModify(OktatottSzakmaModifyModel model)
{
if (model.File != null)
{
var maxAllowedFileSizeInBytes = model.MaxAllowedFileSizeInBytes;
if (model.File.Size > maxAllowedFileSizeInBytes)
{
ModelState.AddModelError("Error", string.Format(CommonResource.TulNagyFajl, Math.Round((decimal)maxAllowedFileSizeInBytes / 1024 / 1024)));
}
var allowedFileExtensions = model.AllowedFileExtensions;
if (!allowedFileExtensions.ContainsValue(model.File.Type))
{
ModelState.AddModelError("Error", string.Format(CommonResource.NemMegfeleloFajlKiterjesztes, string.Join(", ", allowedFileExtensions.Select(x => x.Key))));
}
}
if (ModelState.IsValid)
{
try
{
new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType(), _fileServiceHelper).SaveUjSzktSzakmajegyzekOsszerendelesCo(model.ToCo(), isFileModify: true);
}
catch (KretaError ke)
{
SDAServer.Instance.Logger.ExceptionThrown(ke);
ModelState.AddModelError("Error", ke.Message);
}
if (ModelState.IsValid)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
public DataSourceResult GetOktatottSzakmaTanuloGrid(string id, DataSourceRequest request)
{
var gridParameter = Converter.GridParameter(request);
var helper = new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = gridParameter
};
var searchCo = helper.GetUjSzktSzakmajegyzekOsszerendelesCo(int.Parse(id));
var coList = helper.GetOktatottSzakmaTanuloCoList(searchCo);
var modelList = new List<OktatottSzakmaTanulokGridModel>();
foreach (var co in coList)
{
var gridModel = new OktatottSzakmaTanulokGridModel(co);
modelList.Add(gridModel);
}
return modelList.ToDataSourceResult(gridParameter);
}
private (GridParameters gridParameter, List<OktatottSzakmakGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
var searchModel = JsonConvert.DeserializeObject<OktatottSzakmakSearchModel>(data);
var gridParameter = Converter.GridParameter(request);
var helper = new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = gridParameter
};
var coList = helper.GetUjSzktSzakmajegyzekOsszerendelesCoList(searchModel.ToCo());
var modelList = new List<OktatottSzakmakGridModel>();
foreach (var co in coList)
{
var gridModel = new OktatottSzakmakGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
}
}

View File

@@ -0,0 +1,301 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
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.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Models;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanevRendjeApiController : ApiController
{
public DataSourceResult GetTanevRendjeGrid(DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanevRendjeGridModel>(TanevRendjeGridModel.TanevRendjeExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(TanevResource.TanevRendjeExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), TanevResource.TanevRendjeExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<TanevRendjeGridModel> modelList) GetGridData(DataSourceRequest request)
{
var gridParameter = Converter.GridParameter(request);
var coList = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevRendjeCoList();
var modelList = new List<TanevRendjeGridModel>();
foreach (var co in coList)
{
var gridModel = new TanevRendjeGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage CheckTanevRendjeBeforeSave(TanevRendjeModel model)
{
//utólag egy tanítási nap nem tanítási nappá válik
if (OrarendHelper.NemTanitasiNapTipusok.Contains(model.NapTipusa.Value))
{
var naptariNapHelper = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType());
Dictionary<int, string> tanarok = naptariNapHelper.GetNaplozottOrakTanarai(model.Datum);
if (tanarok.Count > 0)
{
var result = new
{
NeedConfirm = true,
ConfirmMessage = StringResourcesUtil.GetString(4806)
//Az alábbi tanárok már naplóztak órát a kiválasztott napon:
+ string.Join(", ", tanarok.Values) + ". "
+ StringResourcesUtil.GetString(3226)
};
return Request.CreateResponse(HttpStatusCode.OK, result);
}
}
return SaveTanevRendje(model);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveTanevRendje(TanevRendjeModel model)
{
try
{
TanevRendjeLogic.TanevRendjeValidation(ModelState, model);
if (ModelState.IsValid)
{
TanevRendjeLogic.CheckTanevRendjeUtkozes(model);
model = TanevRendjeLogic.SetNapEsHetirend(model);
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!tanevrendHelper.IsTanoraOrNapirendRogzitheto(model.NapTipusa.Value))
{
model.UresOrarend = false;
model.OrarendiNap = false;
}
var co = new TanevrendCO
{
ID = model.TanevRendjeId,
Tanev = ClaimData.SelectedTanevID.Value,
IntezmenyId = ClaimData.IntezmenyId,
Datum = model.Datum.Value,
Nap = model.Nap,
NapTip = model.NapTipusa,
Hetirend = model.Hetirend,
Megjegyzes = model.Megjegyzes?.Replace("<script>", "").Replace("</script>", ""),
OsszesCsop = model.OsszesCsop,
CsengetesiRend = model.CsengetesiRend,
ElteroOrarendSzerintiTanitasNapDatum = model.ElteroOrarendSzerintiTanitasNapDatum,
UresOrarend = model.UresOrarend,
OrarendiNap = model.UresOrarend || model.OrarendiNap,
IsEgyediNap = TanevRendjeLogic.IsEgyediNap(model)
};
//co.OrarendiNap = TanevRendjeLogic.IsOrarendiNap(model);
tanevrendHelper.SaveOrUpdateTanevRendje(co, model.ModifiedOsztalyCsoportList, model.SelectedOsztalyCsoportIdList);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e.InnerException };
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteTanevRendje(TanevrendDeleteModel model)
{
try
{
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.DeleteTanevRendjeByID(model.TanevrendjeId, model.EgyediRogzitesTorles);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.TanevrendjeNemTorolhetoKapcsolatMiatt, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
public DataSourceResult GetTanevRendjeOsztalyCsoportGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<TanevRendjeModel>(data);
int tanevRendjeId = -1;
if (int.TryParse(model.TanevRendjeId?.ToString(), out int resultId))
{
tanevRendjeId = resultId;
}
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
DataSet ds = helper.GetTanevredhezTartozoOsztCsopList(tanevRendjeId, model.FeladatKategoriaId, model.MukodesiHelyId, model.FeladatEllatasiHelyId);
return ds.ToDataSourceResult();
}
public DataSourceResult GetNaptariHetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
helper.GridParameters.OrderBy = "HetSorszama ASC";
DataSet ds = helper.GetNaptariHetList();
var dataList = new List<NaptariHetGridModel>();
DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
var model = new NaptariHetGridModel()
{
ID = dr["ID"].ToString(),
HetSorszama = SDAConvert.ToInt32(dr["HetSorszama"]),
HetKezdoNapja = SDAConvert.ToDateTime(dr["HetKezdoNapja"]).Value,
HetUtolsoNapja = SDAConvert.ToDateTime(dr["HetUtolsoNapja"]).Value,
Hetirend = SDAConvert.ToInt32(dr["Hetirend"]),
};
dataList.Add(model);
}
var dataSourceResult = new DataSourceResult
{
Data = dataList,
Total = Convert.ToInt32(dt.ExtendedProperties["RowCount"])
};
return dataSourceResult;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage GetHetirendHelyettesitesList(SetHetirendModel model)
{
WarningValidationModel validationMsg = new WarningValidationModel();
if (model.ModifiedHetirendList.Count > 0)
{
var helper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetHetirendHelyettesitesList(model.ModifiedHetirendList);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
validationMsg.Msg += "<br />";
validationMsg.Msg += "<strong>" + HelyettesitesResource.Datum + ":</strong> " + row.Field<DateTime>("Datum").ToShortDateString();
validationMsg.Msg += " <strong>" + HelyettesitesResource.Helyettesito + ":</strong> " + row.Field<string>("Helyettesito");
validationMsg.Msg += " <strong>" + HelyettesitesResource.Helyettesitett + ":</strong> " + row.Field<string>("fHelyettesitett");
validationMsg.Msg += " <strong>" + HelyettesitesResource.OsztalyCsoport + ":</strong> " + row.Field<string>("OsztalyCsoport");
validationMsg.Msg += " <strong>" + HelyettesitesResource.Tantargy + ":</strong> " + row.Field<string>("Tantargy");
}
}
}
if (!string.IsNullOrWhiteSpace(validationMsg.Msg))
{
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = validationMsg };
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SetHetirend(SetHetirendModel model)
{
if (model.ModifiedHetirendList.Count > 0)
{
var helper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.SetHetirend(model.ModifiedHetirendList);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
public JsonResult<List<ComboBoxListItem>> GetHetirendList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetiRendTipus, ClaimData.SelectedTanevID.Value);
dictionary["0"] = StringResourcesUtil.GetString(4254) /*Szünet*/;
return Json(dictionary.ToComboBoxItemList());
}
public bool GetNaptipusIsTanoraOrTanorakivuli(string napTipusId)
{
var model = new TanevRendjeModel() { NapTipusa = int.Parse(napTipusId) };
return TanevRendjeLogic.IsOrarendiNap(model);
}
}
}

View File

@@ -0,0 +1,53 @@
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core.FileService;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public class TeremApiController : BaseTeremApiController
{
public TeremApiController(IFileService fileService, IEugyintezesClientConfiguration eugyintezesClientConfiguration)
: base(fileService, eugyintezesClientConfiguration)
{
}
public DataSourceResult GetTeremEszkozei(string teremID, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var eszkozHelper = new EszkozHelper(ConnectionTypeExtensions.GetSessionConnectionType());
eszkozHelper.GridParameters = Converter.GridParameter(request);
var eszkozok = eszkozHelper.GetEszkozokForTerem(int.Parse(teremID));
return eszkozok.ToDataSourceResult();
}
public DataSourceResult GetTeremBerbeadasIdopontjai(int teremId)
{
var berbeadasIdopontjai = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremBerbeadasIdopontjai(teremId);
return berbeadasIdopontjai.ToDataSourceResult();
}
[HttpGet]
public IHttpActionResult GetPicture(int? teremId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return Json(TeremLogic.GetPicture(FileService, teremId).ToDataSourceResult(request));
}
[HttpGet]
public (string FajNev, byte[] Content) GetDocument(int? teremId)
{
return TeremLogic.GetDocument(FileService, teremId);
}
}
}

View File

@@ -0,0 +1,105 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.Core.FeatureToggle;
using Kreta.Core.FileService;
using Kreta.Enums;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using TeremConstants = Kreta.Web.Constants.ViewNames.Terem;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
public abstract class BaseTeremController : Controller
{
protected readonly IFeatureContext FeatureContext;
protected readonly IFileService FileService;
public BaseTeremController(IFeatureContext featureContext, IFileService fileService)
{
FeatureContext = featureContext;
FileService = fileService;
}
#region Public method's
[NonAction]
public ActionResult OpenTeremPropertiesTab(int teremId, bool isFromSzervezet, string controllerName)
{
var teremModel = new TeremModel()
{
TeremId = teremId,
TabList = TeremLogic.GetDetailTabs(teremId.ToString(), HasLetesitmenyFeatureEnabled(), isFromSzervezet, controllerName),
};
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
var popUpModel = new PopUpModel(teremModel, TeremConstants.TeremProperties_Info);
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TeremHelper.propertiesCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
[NonAction]
public ActionResult OpenTeremBaseProperties(int teremId, bool isFromSzervezet)
{
var teremModel = TeremLogic.GetTeremBaseProperties(teremId);
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
return PartialView(TeremConstants.Info_TeremBasicProperties_Tab, teremModel);
}
[NonAction]
public ActionResult OpenTeremOrarendiOrai(int teremId, bool isFromSezervezet)
{
var teremModel = new TeremModel()
{
TeremId = teremId
};
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSezervezet;
return PartialView(TeremConstants.Info_TeremScheduledClasses_Tab, teremModel);
}
[NonAction]
public ActionResult OpenTeremModifyAddTab(int? teremId, int? szervezetId, bool isFromSzervezet = false)
{
var teremModel = TeremLogic.GetTeremBaseProperties(teremId);
teremModel.TeremAlapadatokModel.IsFromSzervezet = isFromSzervezet;
if (!teremId.HasValue)
{
teremModel.TeremAlapadatokModel.SzervezetId = szervezetId;
if (szervezetId.HasValue)
{
teremModel.TeremAlapadatokModel.MukodesiHelyID = null;
teremModel.TeremAlapadatokModel.Kapacitas = ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny ? 0 : 1;
teremModel.TeremAlapadatokModel.Jelleg = (int)TeremTipusEnum.dualis_helyszin;
}
}
teremModel.TabList = TeremLogic.GetNewTabs(teremModel, HasLetesitmenyFeatureEnabled() && !szervezetId.HasValue && !isFromSzervezet);
var popUpModel = new PopUpModel(teremModel, TeremConstants.Terem_AddModify);
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TeremHelper.propertiesCancel");
popUpModel = popUpModel.AddOkBtn(popUpModel, "TeremHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
[NonAction]
public ActionResult OpenModPopup(List<TeremModModel> teremModelList, int? szervezetId, bool isFromSzervezet = false)
{
var pm = new PopUpModel(TeremLogic.GetTeremModelForModPopup(teremModelList, szervezetId, isFromSzervezet), TeremConstants.TeremModifySelected_Bevitel);
pm = pm.AddCancelBtn(pm, "TeremHelper.propertiesCancel");
pm = pm.AddOkBtn(pm, "TeremHelper.confirmCsopModWindow");
return PartialView(Constants.General.PopupView, pm);
}
#endregion
#region Private method's
private bool HasLetesitmenyFeatureEnabled()
{
return FeatureContext.IsEnabled(Core.Constants.FeatureName.LetesitmenyBerbeadas, instituteId: ClaimData.IntezmenyAzonosito, instituteIds: Core.Constants.EnableTeremberlesIntezmenyAzonList);
}
#endregion
}
}

View File

@@ -0,0 +1,126 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Web.Areas.Intezmeny.ApiControllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class CsengetesiRendController : Controller
{
// GET: Intezmeny/CsengetesiRend
public ActionResult Index()
{
CsengetesiRendGridModel model = new CsengetesiRendGridModel();
return View("Index", model);
}
public ActionResult OpenCsengRendModositUjPopup(int? csengRendID)
{
System.Web.HttpContext.Current.Application["aktualisLista"] = null;
PopUpModel pm;
CsengetesiRendModel csmodel;
CsengetesiRendApiController api = new CsengetesiRendApiController();
if (csengRendID.HasValue == false)
{
csmodel = new CsengetesiRendModel() { ID = 0 };
}
else
{
csmodel = api.GetCsengetesiRendProperties(csengRendID.Value);
}
csmodel.MukodesiHelyList = GetMukodesiHelyList();
pm = new PopUpModel(csmodel, "CsengetesiRend_Uj_Modositas");
pm = pm.AddCancelBtn(pm, "CsengRendHelper.modifyAddCancel");
pm = pm.AddOkBtn(pm, "CsengRendHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenCsengRendTorlesPopup(int csengRendID)
{
System.Web.HttpContext.Current.Application["aktualisLista"] = null;
CsengetesiRendTorlesModel csmodel = new CsengetesiRendTorlesModel()
{
ID = csengRendID
};
PopUpModel pm = new PopUpModel(csmodel, "CsengetesiRend_Torles");
pm = pm.AddCancelBtn(pm, "CsengRendHelper.csengRendTorlesCancel");
pm = pm.AddOkBtn(pm, "CsengRendHelper.validationAndSaveCsengRend");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenCsengetesiRendAdatokTab(int csrendID)
{
System.Web.HttpContext.Current.Application["aktualisLista"] = null;
CsengetesiRendModel csmodel = new CsengetesiRendModel()
{
ID = csrendID
};
csmodel.TabList = GetTabItems(csmodel);
PopUpModel pm = new PopUpModel(csmodel, "CsengetesiRendAdatokTab");
pm = pm.AddBtn(pm, "BtnCancel", Resources.CommonResource.Vissza, "CsengRendHelper.adatokCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenCsengetesiRendAlapadatok(int id)
{
CsengetesiRendApiController api = new CsengetesiRendApiController();
CsengetesiRendModel csmodel = api.GetCsengetesiRendProperties(id);
return PartialView("CsengetesiRendAlapadat_Tab", csmodel);
}
public ActionResult OpenCsengetesiRendTanevrendjei(int id)
{
CsengetesiRendModel csmodel = new CsengetesiRendModel()
{
ID = id
};
return PartialView("CsengetesiRendTanevrend_Tab", csmodel);
}
public List<TabStripItemModel> GetTabItems(CsengetesiRendModel model)
{
var items = new List<TabStripItemModel>();
items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161), Area = "Intezmeny", Controller = "CsengetesiRend", Action = "OpenCsengetesiRendAlapadatok", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } } });
items.Add(new TabStripItemModel { ItemId = "2", ItemName = StringResourcesUtil.GetString(3833), Area = "Intezmeny", Controller = "CsengetesiRend", Action = "OpenCsengetesiRendTanevrendjei", RouteParameters = new Dictionary<string, string>() { { "Id", model.ID.ToString() } } });
return items;
}
private List<SelectListItem> GetMukodesiHelyList()
{
MukodesiHelyHelper helper = new MukodesiHelyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var dictionary = helper.GetMukodesiHelyekDDL("");
List<SelectListItem> list = new List<SelectListItem>();
foreach (var item in dictionary)
{
SelectListItem sli = new SelectListItem() { Text = item.Value, Value = item.Key };
list.Add(sli);
}
return list;
}
}
}

View File

@@ -0,0 +1,52 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Core.FileService;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminTeremController : BaseTeremController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DualisAdminTeremController(IFeatureContext featureContext, IFileService fileService)
: base(featureContext, fileService)
{
}
public ActionResult OpenTeremPropertiesTab(int teremId)
{
return OpenTeremPropertiesTab(teremId, true, Constants.Controllers.DualisAdminTerem);
}
public ActionResult OpenTeremBaseProperties(int teremId)
{
return OpenTeremBaseProperties(teremId, IsDualisKepzesEnabled);
}
public ActionResult OpenTeremOrarendiOrai(int teremId)
{
return OpenTeremOrarendiOrai(teremId, IsDualisKepzesEnabled);
}
public ActionResult OpenTeremModifyAddTab(int? teremId, int? szervezetId)
{
return OpenTeremModifyAddTab(teremId, szervezetId, IsDualisKepzesEnabled);
}
public ActionResult OpenModPopup(List<TeremModModel> teremModelList, int? szervezetId)
{
return OpenModPopup(teremModelList, szervezetId, IsDualisKepzesEnabled);
}
}
}

View File

@@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers.ImportExport;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.ApiControllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class EszkozokController : Controller
{
public ActionResult Index()
{
var model = new EszkozSearchModel
{
IsEszkozKezelesEnabled = ClaimData.EszkozKezelesEnabled,
};
return View("Index", model);
}
public ActionResult OpenEszkozProperties(int eszkozID)
{
EszkozokApiController api = new EszkozokApiController();
EszkozModel emodel = api.GetEszkozProperties(eszkozID);
PopUpModel pm = new PopUpModel(emodel, "EszkozProperties_Info");
pm = pm.AddCancelBtn(pm, "EszkozHelper.propertiesCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenEszkozModifyAdd(int? eszkozID)
{
if (!ClaimData.EszkozKezelesEnabled)
{
return new RedirectResult("/");
}
EszkozokApiController api = new EszkozokApiController();
EszkozModel emodel;
if (eszkozID.HasValue)
{
emodel = api.GetEszkozProperties(eszkozID.Value);
}
else
{
emodel = new EszkozModel() { Darabszam = 1 };
}
emodel.TipusList = GetTipusList();
emodel.KategoriaList = GetKategoriaList();
emodel.JellegList = GetJellegList();
emodel.CeljaList = GetFelhasznalasList();
emodel.MertekegysegList = GetMertekegysegList();
PopUpModel pm = new PopUpModel(emodel, "EszkozModifyAdd_Bevitel");
pm = pm.AddCancelBtn(pm, "EszkozHelper.modifyAddCancel");
pm = pm.AddOkBtn(pm, "EszkozHelper.modifyAddSave");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult OpenEszkozCsopModify(List<EszkozCsopModModel> lista)
{
if (!ClaimData.EszkozKezelesEnabled)
{
return new RedirectResult("/");
}
EszkozokApiController api = new EszkozokApiController();
EszkozCsopModModel model = new EszkozCsopModModel();
if (lista.Count == 1)
{
model = api.GetCsopEszkozProperties(lista[0].EszkozId.Value);
}
else
{
foreach (var item in lista)
{
model.EszkozIdArray += item.EszkozId.ToString() + ",";
model.EszkozNevArray += item.EszkozNev + ", ";
}
}
PopUpModel pm = new PopUpModel(model, "EszkozModify_Csop");
pm = pm.AddCancelBtn(pm, "EszkozHelper.modifyCsopCancel");
pm = pm.AddOkBtn(pm, "EszkozHelper.confirmCsopModWindow");
return PartialView(Constants.General.PopupView, pm);
}
private List<SelectListItem> GetTipusList()
{
var tipusList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozTipusEnum.na);
return tipusList;
}
private List<SelectListItem> GetKategoriaList(bool setDefaultValue = true)
{
var kategoriaList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozKategoria, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozKategoriaEnum.na);
return kategoriaList;
}
private List<SelectListItem> GetJellegList()
{
var jellegList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozJelleg, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozJellegEnum.egyedi);
return jellegList;
}
private List<SelectListItem> GetFelhasznalasList()
{
var celList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EszkozCel, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)EszkozCelEnum.na);
return celList;
}
private List<SelectListItem> GetMertekegysegList()
{
var mertekegysegList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MertekegysegTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(selectedValue: (int)MertekegysegTipusEnum.darab);
return mertekegysegList;
}
#region Export
public ActionResult ExportEszkozok([FromUri] EszkozSearchModel data)
{
var stream = new EszkozImportExportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEszkozKeresesExport(data.ConvertToCo(ClaimData.SelectedTanevID.Value));
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = IntezmenyResource.Eszkozok_Export + "_" + DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx" };
return result;
}
#endregion Export
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Intezmeny.ApiControllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class FaliujsagController : Controller
{
public ActionResult Index()
{
var model = new FaliujsagModel
{
LegutobbiMulasztasok = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloLegutobbiMulasztasai(ClaimData.FelhasznaloId),
LegutobbiFeljegyzesek = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetLegutobbiFeljegyzesek(),
LegutobbiBejelentettSzamonkeresek = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetLegutobbiBejelentettSzamonkeresek(ClaimData.FelhasznaloId),
LegutobbiErtekelesek = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).
GetTanuloLegfrissebbTanuloErtekelesList(ClaimData.FelhasznaloId)
};
return View(model);
}
public JsonResult GetMoreEntries(int startindex, int range)
{
FaliujsagModel model = new FaliujsagApiController().GetFaliujsagBejegyzesek(DateTime.Now, startindex, range);
model.ItemCount = model.FaliujsagElemek.Count;
var result = new JsonResult()
{
Data = model,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
return result;
}
}
}

View File

@@ -0,0 +1,37 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Web.Areas.Intezmeny.ApiControllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class InformaciokIntezmenyController : Controller
{
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
private readonly IJiraHelper JiraHelper;
public InformaciokIntezmenyController(IJiraHelper jiraHelper, IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
IktatoRepositoryFactory = iktatoRepositoryFactory;
IktatoServiceConfiguration = iktatoServiceConfiguration;
JiraHelper = jiraHelper;
}
// GET: Intezmeny/InformaciokIntezmeny
public ActionResult Index()
{
var api = new IntezmenyApiController(JiraHelper);
IntezmenyModel model = api.GetIntezmeny(IktatoRepositoryFactory, IktatoServiceConfiguration);
return View(model);
}
}
}

View File

@@ -0,0 +1,262 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mime;
using System.Text;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.ApiControllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.ModelBinder.Mvc;
using Kreta.Web.Models;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class IntezmenyController : Controller
{
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
private readonly IJiraHelper JiraHelper;
public IntezmenyController(IJiraHelper jiraHelper, IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
IktatoRepositoryFactory = iktatoRepositoryFactory;
IktatoServiceConfiguration = iktatoServiceConfiguration;
JiraHelper = jiraHelper;
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
[MvcRolePackageDenyAuthorize(TanevEnum.Mind, KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
public ActionResult Index()
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
IntezmenyModel model = api.GetIntezmeny(IktatoRepositoryFactory, IktatoServiceConfiguration);
return View("Index", model);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
public ActionResult IntezmenyFeladatEllatasiHelyDetailGrid(int? id)
{
return PartialView("IntezmenyFeladatEllatasiHelyDetailGrid", id);
}
public ActionResult ModIntezmenyPopUp()
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
IntezmenyModel model = api.GetIntezmeny(IktatoRepositoryFactory, IktatoServiceConfiguration);
model.FormSettings = new List<string>() {
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.TartozkodasiHelyCimTipus,
CimElerhetosegConstant.SeparatorRowHide,
CimElerhetosegConstant.CsakMagyarorszag
};
model.TanulovalEgyezik = false;
PopUpModel pm = new PopUpModel(model, "Intezmeny_Bevitel");
pm = pm.AddCancelBtn(pm, "IntezmenyHelper.modIntezmenyPopUpCancel");
pm = pm.AddOkBtn(pm, "IntezmenyHelper.modIntezmenyPopUpSave");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult GetIntezmenyAdatokPartial()
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
IntezmenyInfoModel intezmenyInfoModel = new IntezmenyInfoModel(api.GetIntezmeny(IktatoRepositoryFactory, IktatoServiceConfiguration));
return PartialView("Intezmeny_AdatokInfo_Partial", intezmenyInfoModel.info);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
public ActionResult InfoMukodesiHelyPopUp(int pID)
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
MukodesiHelyModel model = api.GetMukodesiHely(pID);
PopUpModel pm = new PopUpModel(model, "MukodesiHely_Info");
pm = pm.AddCancelBtn(pm, "IntezmenyHelper.infoMukodesiHelyPopUpCancel");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModMukodesiHelyPopUp(int? pID)
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
MukodesiHelyModel model = pID.HasValue ? api.GetMukodesiHely(pID.Value) : new MukodesiHelyModel();
model.FormSettings = new List<string>() {
CimElerhetosegConstant.CimSectionVisible,
CimElerhetosegConstant.TartozkodasiHelyCimTipus,
CimElerhetosegConstant.SeparatorRowHide,
CimElerhetosegConstant.CsakMagyarorszag
};
model.TanulovalEgyezik = false;
model.Orszag = (int)OrszagTipusEnum.Magyarorszag;
PopUpModel pm = new PopUpModel(model, "MukodesiHely_Bevitel");
pm = pm.AddCancelBtn(pm, "IntezmenyHelper.modMukodesiHelyPopUpCancel");
pm = pm.AddOkBtn(pm, "IntezmenyHelper.modMukodesiHelyPopUpSave");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult ModFeladatPopUp(FeladatellatasiHelyModel panelFeladatellatasiHelyModel)
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
if (panelFeladatellatasiHelyModel.ID.HasValue)
{
panelFeladatellatasiHelyModel = api.GetFeladatellatasiHely(panelFeladatellatasiHelyModel.ID.Value);
}
panelFeladatellatasiHelyModel.FeladatList = new ComboBoxHelperApiController().GetOktatasiNevelesiFeladatList(false);
SelectListItem aktItem = new SelectListItem();
if (panelFeladatellatasiHelyModel.FeladatTipus.HasValue)
{
aktItem = panelFeladatellatasiHelyModel.FeladatList.Where(x => x.Value == panelFeladatellatasiHelyModel.FeladatTipus.Value.ToString()).FirstOrDefault();
}
// "Működés helyhez egy típusból csak egyet lehessen felvenni, ne duplikálódjon"
panelFeladatellatasiHelyModel.FeladatList = api.GetFeladatListByMukodesiHelyId(panelFeladatellatasiHelyModel.MukodesiHelyID);
if (!string.IsNullOrWhiteSpace(aktItem.Value) && !string.IsNullOrWhiteSpace(aktItem.Text))
{
panelFeladatellatasiHelyModel.FeladatList.Add(aktItem);
}
var oktatasNevelesiFeladatHelper = new OktatasNevelesiFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType());
panelFeladatellatasiHelyModel.IsAMIModuleActive = oktatasNevelesiFeladatHelper.IsAMIModuleActive();
panelFeladatellatasiHelyModel.IsKollegiumModuleActive = oktatasNevelesiFeladatHelper.IsKollegiumModuleActive();
panelFeladatellatasiHelyModel.IsEGYMIModuleActive = oktatasNevelesiFeladatHelper.IsEGYMIModuleActive();
PopUpModel pm = new PopUpModel(panelFeladatellatasiHelyModel, "FeladatellatasiHely_Bevitel");
pm = pm.AddCancelBtn(pm, "IntezmenyHelper.modFeladatPopUpCancel");
pm = pm.AddOkBtn(pm, "IntezmenyHelper.modFeladatPopUpSave");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult OpenFeladatellatasiHelyTab(int feladellHelyID)
{
FeladatellatasiHelyModel fmodel = new FeladatellatasiHelyModel()
{
ID = feladellHelyID
};
fmodel.TabList = GetTabItems(fmodel);
PopUpModel pm = new PopUpModel(fmodel, "FeladatellatasiHelyAdatokTab");
pm.AddCancelBtn(pm, "IntezmenyHelper.cancelFeladatellatasiHelyAdatok");
return PartialView(Constants.General.PopupView, pm);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult OpenFeladatellatasiHely_AlapadatokTab(int id)
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
FeladatellatasiHelyModel fmodel = api.GetFeladatellatasiHelyAlapadatok(id);
return PartialView("FeladatellatasiHely_AlapadatokTab", fmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult OpenFeladatellatasiHely_OsztalycsoportokTab(int id)
{
FeladatellatasiHelyModel fmodel = new FeladatellatasiHelyModel()
{
ID = id
};
return PartialView("FeladatellatasiHely_OsztalyokTab", fmodel);
}
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult OpenFeladatellatasiHely_AlkalmazottakTab(int id)
{
FeladatellatasiHelyModel fmodel = new FeladatellatasiHelyModel()
{
ID = id
};
return PartialView("FeladatellatasiHely_AlkalmazottakTab", fmodel);
}
public ActionResult IntezmenyiDokumentumPartial(IntezmenyiDokumentumModel model)
{
IntezmenyApiController api = new IntezmenyApiController(JiraHelper);
var filledModel = api.GetIntezmenyiDokumentumModel(model.Tipus, IktatoRepositoryFactory, IktatoServiceConfiguration);
return PartialView("Intezmeny_Dokumentum_Partial", filledModel);
}
public List<TabStripItemModel> GetTabItems(FeladatellatasiHelyModel model)
{
var items = new List<TabStripItemModel>();
items.Add(new TabStripItemModel { ItemId = "1", ItemName = StringResourcesUtil.GetString(161) /*Alapadatok*/, Area = "Intezmeny", Controller = "Intezmeny", Action = "openFeladatellatasiHely_AlapadatokTab", RouteParameters = new Dictionary<string, string> { { "Id", model.ID.ToString() } } });
items.Add(new TabStripItemModel { ItemId = "2", ItemName = StringResourcesUtil.GetString(3858) /*Kapcsolódó osztályok/csoportok*/, Area = "Intezmeny", Controller = "Intezmeny", Action = "openFeladatellatasiHely_OsztalycsoportokTab", RouteParameters = new Dictionary<string, string> { { "Id", model.ID.ToString() } } });
items.Add(new TabStripItemModel { ItemId = "3", ItemName = StringResourcesUtil.GetString(3859) /*Kapcsolódó alkalmazottak*/, Area = "Intezmeny", Controller = "Intezmeny", Action = "openFeladatellatasiHely_AlkalmazottakTab", RouteParameters = new Dictionary<string, string> { { "Id", model.ID.ToString() } } });
return items;
}
#region Export
public ActionResult ExportMukodesiHelyekAdatai()
{
var bytes = new FeladatEllatasiHelyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMukodesiHelyekAdataiExcelExport();
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode(IntezmenyResource.MukodesiHelyekAdataiExportFileName, Encoding.UTF8),
};
}
#endregion
[HttpPost]
public ActionResult UploadFile([ModelBinder(typeof(AlapdokumentumFileUploadBinder))] IEnumerable<System.Web.HttpPostedFileBase> files, string dokumentumTipus)
{
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.InsertDokumentum(IktatoRepositoryFactory, IktatoServiceConfiguration, files, (Enums.DokumentumTipusEnum)System.Enum.Parse(typeof(Enums.DokumentumTipusEnum), dokumentumTipus));
return Content("");
}
public ActionResult DownloadFile(string id)
{
try
{
var phelper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
var (fajlnev, tartalom) = phelper.Lekeres(id.ToString());
return new FileContentResult(tartalom, MediaTypeNames.Application.Octet)
{
FileDownloadName = HttpUtility.UrlEncode(fajlnev, Encoding.UTF8),
};
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.NotFound, ex.Message, ex);
}
}
}
}

View File

@@ -0,0 +1,118 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsSzakkepzoIntezmeny.ClaimValue)]
public class OktatottSzakmakController : Controller
{
#region Properties
public static string GridName => "OktatottSzakmakGrid";
public static string SearchFormName => "OktatottSzakmakSearchForm";
public static string DownloadFileFormName => "OktatottSzakmakDownloadFileForm";
public static string MultipleModifyPopUpId => "OktatottSzakmakMultipleModifyPopUpWindow";
public static string ModifyPopUpId => "OktatottSzakmakModifyPopUpIdWindow";
public static string InfoPopUpId => "OktatottSzakmakInfoPopUpWindow";
public static string ModifyFormName => "OktatottSzakmakModifyForm";
public static string MultipleModifyFormName => "OktatottSzakmakMultipleModifyForm";
public static string OktatottSzakmaTanulokGridName => "OktatottSzakmaTanulokGrid";
public static string OktatottSzakmaTanulokSearchFormName => "OktatottSzakmaTanulokSearchForm";
#endregion Properties
private readonly IFileServiceHelper _fileServiceHelper;
public OktatottSzakmakController(IFileServiceHelper fileServiceHelper)
{
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public ActionResult Index()
{
var model = new OktatottSzakmakSearchModel();
return View("Index", model);
}
public ActionResult OpenOktatottSzakmaMultipleModifyPopUp(List<int> ids)
{
try
{
var coList = new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetUjSzktSzakmajegyzekOsszerendelesCoList(ids);
var model = new OktatottSzakmaMultipleModifyModel(coList);
var popUpModel = new PopUpModel(model, "MultipleModify_PopUp");
popUpModel.AddCancelBtn(popUpModel, "OktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpCancel");
popUpModel.AddOkBtn(popUpModel, "OktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public ActionResult OpenOktatottSzakmaModifyPopUp(int id)
{
try
{
var co = new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetUjSzktSzakmajegyzekOsszerendelesCo(id);
var model = new OktatottSzakmaModifyModel(co);
var popUpModel = new PopUpModel(model, "Modify_PopUp");
popUpModel.AddCancelBtn(popUpModel, "OktatottSzakmakHelper.oktatottSzakmaModifyPopUpCancel");
popUpModel.AddOkBtn(popUpModel, "OktatottSzakmakHelper.oktatottSzakmaModifyPopUpSave");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public ActionResult OpenOktatottSzakmaInfoPopUp(int id)
{
try
{
var co = new UjSzktSzakmajegyzekOsszerendelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetUjSzktSzakmajegyzekOsszerendelesCo(id);
var model = new OktatottSzakmaInfoModel(co);
var popUpModel = new PopUpModel(model, "Info_PopUp");
popUpModel.AddCancelBtn(popUpModel, "OktatottSzakmakHelper.oktatottSzakmaInfoPopUpCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public ActionResult DownloadFile(FormCollection form)
{
var fileId = int.Parse(form["FileIdHiddenField"]);
var helper = new FileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), _fileServiceHelper);
var (fajlnev, tartalom) = helper.GetFileData(fileId);
var stream = new MemoryStream(tartalom);
var result = File(stream, System.Web.MimeMapping.GetMimeMapping(fajlnev), fajlnev);
return result;
}
}
}

View File

@@ -0,0 +1,245 @@
using System;
using System.Collections.Generic;
using System.Linq;
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;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanevRendjeController : Controller
{
// GET: Intezmeny/TanevRendje
public ActionResult Index()
{
string defaultCsengetesirend;
var csengetesirendList = GetCsengetesiRendList();
if (csengetesirendList.Exists(x => x.Selected))
{
defaultCsengetesirend = csengetesirendList.Where(x => x.Selected).FirstOrDefault().Value;
}
else if (csengetesirendList.Count == 1)
{
defaultCsengetesirend = csengetesirendList.FirstOrDefault().Value;
}
else
{
defaultCsengetesirend = string.Empty;
}
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCO = tanevHelper.GetTanevInfo();
var model = new TanevRendjeIndexModel()
{
HetirendList = GetSortedHetirendIdList(),
DefaultHetirendValue = ((int)HetiRendTipusEnum.MindegyikHet).ToString(),
DefaultCsengetesiRendValue = defaultCsengetesirend,
TanevKezdoNap = tanevCO.KezdoNap,
TanevUtolsoNap = tanevCO.UtolsoNap,
};
return View(model);
}
#region PopUp actions
public ActionResult OpenNewTanevRendjePopUp(DateTime? tanevRendjeDatum)
{
var tanevRendjeModel = new TanevRendjeModel
{
OsszesCsop = true,
NapTipusaList = GetNapTipusaList(true),
CsengetesiRendList = GetCsengetesiRendList(),
IsElteroNapModosithato = true
};
if (tanevRendjeDatum.HasValue)
{
tanevRendjeModel.Datum = tanevRendjeDatum.Value.Date;
tanevRendjeModel.ElteroOrarendSzerintiTanitasNapDatum = tanevRendjeDatum.Value.Date;
}
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCO = tanevHelper.GetTanevInfo();
tanevRendjeModel.TanevKezdoNap = tanevCO.KezdoNap;
tanevRendjeModel.TanevUtolsoNap = tanevCO.UtolsoNap;
if (tanevRendjeDatum.HasValue)
{
if ((tanevRendjeDatum.Value.Date < tanevCO.KezdoNap) || (tanevRendjeDatum.Value.Date > tanevCO.UtolsoNap))
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.ADatumCsakAKivalasztottTanevbeEsoIdoszakLehet);
}
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanevRendjeModel.CsengetesiRend = tanevrendHelper.GetTanevrendDefaultCsengetesiRend(tanevCO.Id);
var model = new PopUpModel(tanevRendjeModel, "New_PopUp");
model.AddCancelBtn(model, "TanevRendjeHelper.newTanevRendjeCancel");
model.AddOkBtn(model, "TanevRendjeHelper.newTanevRendjeSave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenModifyTanevRendjePopUp(int tanevRendjeId)
{
TanevrendCO co;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
co = helper.GetTanevrendById(tanevRendjeId);
var nemodosithato = co.NapTip == (int)NapTipusEnum.elso_tanitasi_nap || co.NapTip == (int)NapTipusEnum.elso_felev_vege || co.NapTip == (int)NapTipusEnum.utolso_tanitasi_nap || co.NapTip == (int)NapTipusEnum.utolso_tanitasi_nap_a_vegzos_evfolyamokon;
var tanevRendjeModel = new TanevRendjeModel
{
TanevRendjeId = co.ID,
Datum = co.Datum,
NapTipusa = co.NapTip,
Nap = co.Nap,
Hetirend = co.Hetirend,
OsszesCsop = co.OsszesCsop,
CsengetesiRend = co.CsengetesiRend,
Megjegyzes = co.Megjegyzes,
UresOrarend = co.UresOrarend,
ElteroOrarendSzerintiTanitasNapDatum = co.ElteroOrarendSzerintiTanitasNapDatum.HasValue ? co.ElteroOrarendSzerintiTanitasNapDatum : co.Datum,
IsElteroNapModosithato = co.IsElteroNapModosithato,
NapTipusaList = GetNapTipusaList(!nemodosithato, co.NapTip),
CsengetesiRendList = GetCsengetesiRendList()
};
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCO = tanevHelper.GetTanevInfo();
tanevRendjeModel.TanevKezdoNap = tanevCO.KezdoNap;
tanevRendjeModel.TanevUtolsoNap = tanevCO.UtolsoNap;
var model = new PopUpModel(tanevRendjeModel, "New_PopUp");
model.AddCancelBtn(model, "TanevRendjeHelper.modifyTanevRendjeCancel");
model.AddOkBtn(model, "TanevRendjeHelper.modifyTanevRendjeSave");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenTanevRendjeInfoPopUp(int tanevRendjeId)
{
TanevRendjeInfoModel tanevRendjeInfoModel;
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TanevrendCO tanevrendCO = helper.GetTanevrendById(tanevRendjeId);
tanevRendjeInfoModel = new TanevRendjeInfoModel
{
TanevNeve = tanevrendCO.TanevNeve,
Datum = tanevrendCO.Datum.ToShortDateString(),
NapTipusa = tanevrendCO.NapTip.GetDisplayName<NapTipusEnum>(ClaimData.SelectedTanevID.Value),
Nap = (tanevrendCO.Nap.IsEntityId()) ? tanevrendCO.Nap.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
Hetirend = tanevrendCO.Hetirend.GetDisplayName<HetiRendTipusEnum>(tanevrendCO.Tanev),
Csoportok = tanevrendCO.Csoportok,
CsengetesiRend = helper.GetTanevrendValueString(tanevrendCO.Tanev, tanevrendCO.CsengetesiRend),
Megjegyzes = tanevrendCO.Megjegyzes,
UresOrarend = tanevrendCO.UresOrarend,
ElteroOrarendSzerintiTanitasNapDatum = tanevrendCO.ElteroOrarendSzerintiTanitasNapDatum.ToShortDateString()
};
var model = new PopUpModel(tanevRendjeInfoModel, "Info_PopUp");
model.AddCancelBtn(model, "TanevRendjeHelper.tanevRendjeInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenSetHetirendPopUp()
{
var model = new PopUpModel(null, "SetHetirend_PopUp");
model.AddCancelBtn(model, "TanevRendjeHelper.setHetirendCancel");
model.AddOkBtn(model, "TanevRendjeHelper.validationHetirendHelyettesites");
return PartialView(Constants.General.PopupView, model);
}
public ActionResult OpenDeleteTanevRendjePopUp(int tanevRendjeId)
{
var model = new PopUpModel(tanevRendjeId, "DeleteConfirm_PopUp");
model.AddCancelBtn(model, "TanevRendjeHelper.deleteTanevRendjeCancel");
model.AddDeleteBtn(model, "TanevRendjeHelper.deleteTanevRendje");
return PartialView(Constants.General.PopupView, model);
}
#endregion
#region DropDownList data
public static List<SelectListItem> GetTanevList()
{
IDictionary<string, string> dictionary;
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
dictionary = helper.GetTanevekForDDL(string.Empty);
return dictionary.ToSelectListItemList();
}
public static List<SelectListItem> GetNapTipusaList(bool isNewTanevRendje, int? currentNaptipus = null)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.NapTipus, ClaimData.SelectedTanevID.Value, true);
// Új felvételekor bizonyos kiemelt típusok közül nem lehet felvenni egynél többet (pl: Első tanítási nap, Utolsó tanítási nap, stb...), ezért ezeket kiszedi a DropDownListből, ha már van felvéve egy adott kiemelt típusú esemény.
if (isNewTanevRendje)
{
List<int> marFelvettKiemeltEsemenyek;
TanevrendHelper helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
marFelvettKiemeltEsemenyek = helper.GetMarFelvettKiemeltTanevEsemenyek();
foreach (int id in marFelvettKiemeltEsemenyek)
{
if (currentNaptipus == null || currentNaptipus != id)
{
dictionary.Remove(id.ToString());
}
}
}
dictionary.Remove(((int)NapTipusEnum.OsszefuggoSzakmaiGyakorlatiNap).ToString());
return dictionary.ToSelectListItemList();
}
public static List<SelectListItem> GetCsengetesiRendList()
{
IDictionary<string, string> dictionary;
var helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
dictionary = helper.GetCsengetesiRendForDDL(string.Empty);
return dictionary.ToSelectListItemList();
}
#endregion
public static List<int> GetSortedHetirendIdList() => new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSortedHetirendIdList();
public static List<SelectListItem> GetNapList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
return dictionary.ToSelectListItemList();
}
}
}

View File

@@ -0,0 +1,85 @@
using System.Collections.Generic;
using System.Net.Mime;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Core.FileService;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Intezmeny.Logic;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Security;
using TeremConstants = Kreta.Web.Constants.ViewNames.Terem;
namespace Kreta.Web.Areas.Intezmeny.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TeremController : BaseTeremController
{
public TeremController(IFeatureContext featureContext, IFileService fileService)
: base(featureContext, fileService)
{
}
public ActionResult Index()
{
return View(Constants.ViewNames.Index, new TeremSearchModel());
}
public ActionResult OpenTeremPropertiesTab(int teremId)
{
return OpenTeremPropertiesTab(teremId, false, Constants.Controllers.Terem);
}
public ActionResult OpenTeremBaseProperties(int teremId)
{
return OpenTeremBaseProperties(teremId, false);
}
public ActionResult OpenTeremBerbeadasProperties(int? teremId)
{
var teremModel = TeremLogic.GetTeremBaseProperties(teremId);
return PartialView(TeremConstants.Info_TeremBerbeadas_Tab, teremModel);
}
public ActionResult OpenTeremOrarendiOrai(int teremId)
{
return OpenTeremOrarendiOrai(teremId, false);
}
public ActionResult OpenTeremEszkozok(int teremId)
{
var teremModel = new TeremModel()
{
TeremId = teremId
};
return PartialView(TeremConstants.Info_TeremEszkozok_Tab, teremModel);
}
public ActionResult OpenTeremModifyAddTab(int? teremId, int? szervezetId)
{
return OpenTeremModifyAddTab(teremId, szervezetId, false);
}
public ActionResult OpenModPopup(List<TeremModModel> teremModelList, int? szervezetId)
{
return OpenModPopup(teremModelList, szervezetId, false);
}
public ActionResult ExportTermekAdatai([FromUri] TeremSearchModel data)
{
return TeremLogic.ExportTermekAdatai(data, ClaimData.IsSelectedTanev21_22OrLater);
}
public ActionResult GetTeremFile(int? teremId)
{
var fileData = TeremLogic.GetDocument(FileService, teremId.Value);
return File(fileData.Content, MediaTypeNames.Application.Pdf, fileData.FajNev);
}
}
}

View File

@@ -0,0 +1,29 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.Intezmeny
{
public class IntezmenyAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Intezmeny";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Intezmeny_faliujsag",
"Intezmeny/Faliujsag/GetMoreEntries/{startindex}/{range}"
);
context.MapRoute(
"Intezmeny_default",
"Intezmeny/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View File

@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Data;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Intezmeny.Logic
{
public class FaliujsagLogic
{
public FaliujsagModel ConvertFaliujsagDataTableToList(DataTable dt)
{
List<FaliujsagElem> esemenyek = new List<FaliujsagElem>();
foreach (DataRow dr in dt.Rows)
{
FaliujsagElem elem = new FaliujsagElem();
string nev = dr["Bejegyzo"].ToString();
elem.Nev = nev;
elem.Munkakor = dr["Munkakor_DNAME"].ToString();
var helper = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (dr["ProfilKep"] != DBNull.Value)
{
byte[] bytes = dr["ProfilKep"] as byte[];
if (bytes != null)
{
elem.KepEleresiUtja = helper.ProfileKep(bytes);
}
}
else
{
elem.KepEleresiUtja = helper.AlapertelmezettProfileKep();
}
elem.Idopont = Convert.ToDateTime(dr["Erv_kezd"]);
elem.EsemenyCime = dr["Cim"].ToString();
string szovegWeb = SDAConvert.ToString(dr["SzovegWeb"]);
if (nev == Core.Constants.SpecialUserName.Rendszeruzenet && !string.IsNullOrWhiteSpace(szovegWeb))
{
elem.EsemenySzovege = szovegWeb;
}
else
{
elem.EsemenySzovege = dr["Szoveg"].ToString();
}
esemenyek.Add(elem);
}
return new FaliujsagModel() { FaliujsagElemek = esemenyek };
}
}
}

View File

@@ -0,0 +1,128 @@
using System;
using System.Data;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Intezmeny.Logic
{
public static class TanevRendjeLogic
{
public static void TanevRendjeValidation(System.Web.Http.ModelBinding.ModelStateDictionary ModelState, TanevRendjeModel model)
{
TanevCO tanev;
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanev = tanevHelper.GetTanevInfo();
if (model.Datum.HasValue && (model.Datum.Value < tanev.KezdoNap || tanev.UtolsoNap < model.Datum.Value))
{
ModelState.AddModelError("Datum", ErrorResource.ADatumCsakAKivalasztottTanevbeEsoIdoszakLehet);
}
if (!model.ElteroOrarendSzerintiTanitasNapDatum.HasValue)
{
ModelState.AddModelError("ElteroOrarendSzerintiTanitasNapDatumReq", ErrorResource.AzElteroOrarendSzerintiNapDatumKotelezo);
}
if (model.ElteroOrarendSzerintiTanitasNapDatum.HasValue && (model.ElteroOrarendSzerintiTanitasNapDatum.Value < tanev.KezdoNap || tanev.UtolsoNap < model.ElteroOrarendSzerintiTanitasNapDatum.Value))
{
ModelState.AddModelError("ElteroOrarendSzerintiTanitasNapDatum", ErrorResource.AzElteroOrarendSzerintiTanitasNapDatumCsakAKivalasztottTanevbeEsoIdoszakLehet);
}
if (model.OsszesCsop == false && model.SelectedOsztalyCsoportIdList.Count == 0)
{
ModelState.AddModelError("OsszesCsop", StringResourcesUtil.GetString(4335));//Ha a tanév rendje esemény nem érvényes az összes osztályra, akkor legalább egy osztályt ki kell választani
}
if (model.Datum.HasValue && model.ElteroOrarendSzerintiTanitasNapDatum.HasValue && !IsOrarendiNap(model) && model.Datum.Value.Date != model.ElteroOrarendSzerintiTanitasNapDatum.Value.Date)
{
ModelState.AddModelError("ElteroOrarendSzerintiTanitasNapDatum", ErrorResource.AzElteroOrarendSzerintiTanitasNapDatumMegKellEgyezniTanevRendjeDatummal);
}
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool useRequiredValidation = helper.IsTanoraOrNapirendRogzitheto(model.NapTipusa.Value);
if (useRequiredValidation)
{
if (!model.CsengetesiRend.HasValue)
ModelState.AddModelError("CsengetesiRend", ErrorResource.CsengetesiRendMegadasaKotelezo);
if (!model.OrarendiNap && !model.UresOrarend)
ModelState.AddModelError("OrarendiNapUresOrarend", IntezmenyResource.OrarendiNapUresOrarend);
}
}
public static void CheckTanevRendjeUtkozes(TanevRendjeModel model)
{
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanevrendHelper.CheckTanevRendjeUtkozes(
model.Datum.Value,
model.SelectedOsztalyCsoportIdList,
model.OsszesCsop,
model.TanevRendjeId
);
}
public static bool IsEgyediNap(TanevRendjeModel model)
{
if (model.UresOrarend || model.NapTipusa.Value == (int)NapTipusEnum.roviditett_orakat_tartalmazo_tanitasi_nap || model.Datum.Value != model.ElteroOrarendSzerintiTanitasNapDatum.Value)
return true;
var napData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaptariNapData(model.Datum.Value);
var elteroNapData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaptariNapData(model.ElteroOrarendSzerintiTanitasNapDatum.Value);
if (napData.Tables[0].Rows.Count == 1)
{
var napDataHetirend = napData.Tables[0].Rows[0].Field<int>("Hetirend");
var napDataNap = napData.Tables[0].Rows[0].Field<int>("Hetnapja");
var elteroNapDataHetirend = elteroNapData.Tables[0].Rows[0].Field<int>("Hetirend");
var elteroNapDataNap = elteroNapData.Tables[0].Rows[0].Field<int>("Hetnapja");
if ((napDataHetirend != elteroNapDataHetirend && elteroNapDataHetirend != (int)HetiRendTipusEnum.MindegyikHet) || napDataNap != elteroNapDataNap)
return true;
}
return false;
}
public static bool IsEgyediNapByDate(DateTime datum)
{
return new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIsEgyediNapByDate(datum);
}
public static bool IsEgyediNapByDateAndOsztalyCsoportId(DateTime datum, int osztalyCsoportId)
{
return new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIsEgyediNapByDateAndOsztalyCsoportId(datum, osztalyCsoportId);
}
public static bool IsOrarendiNap(TanevRendjeModel model)
{
var napTipusData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNapTipusData(model.NapTipusa.Value);
if (napTipusData.Tables[0].Rows.Count == 1)
{
var isTanorai = napTipusData.Tables[0].Rows[0].Field<bool>("IsTanorai_BOOL");
var isTanorankivuli = napTipusData.Tables[0].Rows[0].Field<bool>("IsTanorankivuli_BOOL");
if (isTanorai || isTanorankivuli)
return true;
}
return false;
}
public static TanevRendjeModel SetNapEsHetirend(TanevRendjeModel model)
{
var napData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaptariNapData(model.ElteroOrarendSzerintiTanitasNapDatum.Value);
model.Hetirend = napData.Tables[0].Rows[0].Field<int>("Hetirend");
model.Nap = napData.Tables[0].Rows[0].Field<int>("Hetnapja");
return model;
}
}
}

View File

@@ -0,0 +1,203 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using Hangfire;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core;
using Kreta.Core.FileService;
using Kreta.Enums;
using Kreta.Job.Tasks.Core;
using Kreta.Resources;
using Kreta.Web.Areas.Intezmeny.Controllers;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Intezmeny.Logic
{
public static class TeremLogic
{
private static TabStripItemModel BuildTabStripModel(string itemId, string itemName, string area, string controller, string action, Dictionary<string, string> routeParameters)
=> new TabStripItemModel
{
ItemId = itemId,
ItemName = itemName,
Area = area,
Controller = controller,
Action = action,
RouteParameters = routeParameters
};
private static TabStripItemModel BuildTabStripModel<Model>(string itemId, string itemName, Model model, string partialViewName, bool isActive = false, Dictionary<string, string> routeParameters = null)
where Model : class
{
var tabStripItemModel = new TabStripItemModel
{
ItemId = itemId,
ItemName = itemName,
RouteParameters = routeParameters,
Model = model,
PartialViewName = partialViewName,
IsActive = isActive
};
if (routeParameters != null)
{
tabStripItemModel.RouteParameters = routeParameters;
}
return tabStripItemModel;
}
public static TeremModel GetTeremBaseProperties(int? teremId)
{
var teremModel = new TeremModel();
if (teremId > 0)
{
TeremCO teremCO = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremCo(teremId.Value);
teremModel = TeremModel.ConvertCoToModel(teremCO);
}
else
{
teremModel.TeremAlapadatokModel.Jelleg = (int)TeremTipusEnum.Osztalyterem;
teremModel.TeremBerbeadasModel.TulajdonTipusaId = (int)TulajdonTipusEnum.allami_tulajdonban_levo_ingatlan;
}
return teremModel;
}
public static TeremModModel GetTeremModelForModPopup(List<TeremModModel> teremModelList, int? szervezetId, bool isFromSzervezet)
{
var teremModModel = new TeremModModel()
{
IsFromSzervezet = isFromSzervezet,
};
foreach (var item in teremModelList)
{
teremModModel.TeremIDArray += item.TeremId.ToString() + ",";
teremModModel.TeremNevArray += item.Nev.ToString() + ", ";
}
teremModModel.TeremIDArray = teremModModel.TeremIDArray.Remove(teremModModel.TeremIDArray.Count() - 1);
teremModModel.TeremNevArray = teremModModel.TeremNevArray.Remove(teremModModel.TeremNevArray.Count() - 2);
teremModModel.ModSzervezetId = szervezetId.IsEntityId() ? szervezetId : null;
return teremModModel;
}
public static List<TabStripItemModel> GetDetailTabs(string teremId, bool isLetesitmenyBerbeadasEnabled, bool isFromSzervezet, string controllerName)
{
var tabStripItemModelList = new List<TabStripItemModel>()
{
BuildTabStripModel("1", IntezmenyResource.Alapadatok, Constants.Areas.Intezmeny, controllerName, nameof(BaseTeremController.OpenTeremBaseProperties), new Dictionary<string, string>() { { nameof(teremId), teremId } }),
BuildTabStripModel("3", IntezmenyResource.OrarendiOrak, Constants.Areas.Intezmeny, controllerName, nameof(BaseTeremController.OpenTeremOrarendiOrai), new Dictionary<string, string>() { { nameof(teremId), teremId } }),
};
if (!isFromSzervezet)
{
BuildTabStripModel("4", IntezmenyResource.TeremhezTartozoEszkozok, Constants.Areas.Intezmeny, Constants.Controllers.Terem, nameof(TeremController.OpenTeremEszkozok), new Dictionary<string, string>() { { nameof(teremId), teremId } });
}
if (isLetesitmenyBerbeadasEnabled && !isFromSzervezet)
{
tabStripItemModelList.Add(BuildTabStripModel("2", IntezmenyResource.Berbeadas, Constants.Areas.Intezmeny, Constants.Controllers.Terem, nameof(TeremController.OpenTeremBerbeadasProperties), new Dictionary<string, string>() { { nameof(teremId), teremId } }));
}
return tabStripItemModelList;
}
public static List<TabStripItemModel> GetNewTabs(TeremModel teremModel, bool isLetesitmenyBerbeadasEnabled)
{
var tabStripItemModelList = new List<TabStripItemModel>
{
BuildTabStripModel("1", IntezmenyResource.Alapadatok, teremModel, Constants.ViewNames.Terem.Edit_TeremBasicProperties_Tab, true)
};
if (isLetesitmenyBerbeadasEnabled)
{
tabStripItemModelList.Add(BuildTabStripModel("2", IntezmenyResource.Berbeadas, teremModel, Constants.ViewNames.Terem.Edit_TeremBerbeadas_Tab));
}
return tabStripItemModelList;
}
public static ActionResult ExportTermekAdatai(TeremSearchModel model, bool isSelectedTanev21_22OrLater)
{
MemoryStream stream = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTermekAdataiExcelExport(TeremSearchModel.ConvertModelSearchToCO(model), isSelectedTanev21_22OrLater);
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = $"{IntezmenyResource.TermekAdatai}.xlsx" };
return result;
}
public static List<UploadedFile> GetPicture(IFileService fileService, int? teremId)
{
try
{
if (teremId > 0)
{
TeremCO teremCO = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremCo(teremId.Value);
if (!string.IsNullOrWhiteSpace(teremCO.KepUtvonal) && !string.IsNullOrWhiteSpace(teremCO.KepKiterjesztes))
{
return new List<UploadedFile>
{
new UploadedFile
{
ContentAsBase64EncodedString = fileService.ReadAndResizeImage(teremCO.KepUtvonal, 350, 350)
}
};
}
}
}
catch (Exception)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlLetolteseKozben);
}
return new List<UploadedFile> { new UploadedFile() };
}
public static (string FajNev, byte[] Content) GetDocument(IFileService fileService, int? teremId)
{
if (teremId > 0)
{
TeremCO teremCO = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremCo(teremId.Value);
if (!string.IsNullOrWhiteSpace(teremCO.DokumentumUtvonal) && !string.IsNullOrWhiteSpace(teremCO.DokumentumKiterjesztes))
{
return (FajNev: $"{teremCO.DokumentumNev}.{teremCO.DokumentumKiterjesztes}", Content: fileService.ReadFromFile(teremCO.DokumentumUtvonal));
}
}
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlLetolteseKozben);
}
public static void EugyErtesitesTeremBerbeadhatoStatuszValtozasrol(IEugyintezesClientConfiguration config)
{
TeremBerbeadhatoStatuszValtozasModel teremBerbeadhatoStatuszValtozasModel = new TeremBerbeadhatoStatuszValtozasModel();
TeremHelper teremHelper = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet berbeadhatoTermekMukodesiHelyeinekVarosaiDataSet = teremHelper.GetBerbeadhatoTermekMukodesiHelyeinekVarosai();
teremBerbeadhatoStatuszValtozasModel.Varosok = new List<string>();
foreach (DataRow dataRow in berbeadhatoTermekMukodesiHelyeinekVarosaiDataSet.Tables[0].Rows)
{
teremBerbeadhatoStatuszValtozasModel.Varosok.Add(dataRow.Field<string>("Varos"));
}
var jsonData = JsonConvert.SerializeObject(teremBerbeadhatoStatuszValtozasModel);
BackgroundJob.Enqueue<IEugyintezesJob>((a) => a.TeremBerbeadhatoStatuszValtozas(null, config.BaseUrl, config.ApiKey, ClaimData.IntezmenyAzonosito, jsonData));
}
}
}

View File

@@ -0,0 +1,75 @@

using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class CsengetesiRendGridModel : IKretaIdentity
{
public const string CsengetesiRendExportAttributeId = nameof(CsengetesiRendExportAttributeId);
public CsengetesiRendGridModel()
{
}
public CsengetesiRendGridModel(CsengetesiRendItemCo itemCo)
{
ID = itemCo.Id.ToString();
Nev = itemCo.CsengetesiRendNev;
IsAktivText = itemCo.IsAktivText;
}
public string ID { get; set; }
[SimpleExportColumn(CsengetesiRendExportAttributeId, 00, nameof(CsengetesiRendResource.CsengetesiRendNeve), typeof(CsengetesiRendResource))]
[Display(Name = nameof(CsengetesiRendResource.CsengetesiRendNeve), ResourceType = typeof(CsengetesiRendResource))]
public string Nev { get; set; }
[SimpleExportColumn(CsengetesiRendExportAttributeId, 01, nameof(CsengetesiRendResource.Aktiv), typeof(CsengetesiRendResource))]
[Display(Name = nameof(CsengetesiRendResource.Aktiv), ResourceType = typeof(CsengetesiRendResource))]
public string IsAktivText { get; set; }
}
public class CsengetesiRendOraGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(667)] //Kezdete
public string Kezdete { get; set; }
[KretaDisplayName(129)] //Aktív
public bool IsReal_BOOL { get; set; }
[KretaDisplayName(668)] //Vége
public string Vege { get; set; }
[KretaDisplayName(274)] //Óraszám
public int Oraszam { get; set; }
public bool IsHaveReferences { get; set; }
}
public class CsengetesiRendTanevrendGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(273)] //Dátum
public DateTime Datum { get; set; }
[KretaDisplayName(108)] //Név
public string Nev { get; set; }
[KretaDisplayName(671)] //Naptípus
public string Tipus { get; set; }
[KretaDisplayName(671)] //Naptípus
public string Tipus_DNAME { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
using Kreta.Web.Attributes;
using Kreta.Web.Helpers.TabStrip;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class CsengetesiRendModel
{
public CsengetesiRendModel()
{
TabList = new List<TabStripItemModel>();
MukodesiHelyList = new List<SelectListItem>();
}
public int? ID { get; set; }
public bool Aktiv { get; set; }
public bool BeszurasEle { get; set; }
[KretaDisplayName(1688)] /*Csengetési rend neve*/
[KretaRequired(StringResourcesId = 2331)] /*Név megadása kötelező*/
[StringLength(maximumLength: 50, ErrorMessageResourceName = nameof(ErrorResource.CsengRendNevMax50Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Nev { get; set; }
[Display(Name = nameof(CsengetesiRendResource.VisszamenolegesModositas), ResourceType = typeof(CsengetesiRendResource))]
public bool IsVisszamenoleges { get; set; }
public List<TabStripItemModel> TabList { get; set; }
public List<SelectListItem> MukodesiHelyList { get; set; }
}
public class SaveCsengetesiRendModel
{
public SaveCsengetesiRendModel()
{
Orak = new List<CsengetesiRendOraModel>();
}
public int CsengRendID { get; set; }
public string CsengRendNev { get; set; }
public bool CsengRendAktiv { get; set; }
public bool IsVisszamenoleges { get; set; }
public List<CsengetesiRendOraModel> Orak { get; set; }
}
public class CsengetesiRendOraModel
{
public int? ID { get; set; }
public int Oraszam { get; set; }
public string Kezd { get; set; }
public string Veg { get; set; }
public bool Aktiv { get; set; }
}
public class CsengetesiRendTorlesModel
{
public int? ID { get; set; }
public int? CsengetesiRendID { get; set; }
}
}

View File

@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class EszkozCsopModModel
{
public int? EszkozId { get; set; }
[Display(Name = nameof(EszkozResource.EszkozNeve), ResourceType = typeof(EszkozResource))]
public string EszkozNev { get; set; }
public string EszkozIdArray { get; set; }
[Display(Name = nameof(EszkozResource.KivalasztottEszkozok), ResourceType = typeof(EszkozResource))]
public string EszkozNevArray { get; set; }
[Display(Name = nameof(EszkozResource.FellelhetosegiHely), ResourceType = typeof(EszkozResource))]
public int? TeremID { get; set; }
[Display(Name = nameof(EszkozResource.EszkozTipusa), ResourceType = typeof(EszkozResource))]
public int? Tipus { get; set; }
[Display(Name = nameof(EszkozResource.Kategoria), ResourceType = typeof(EszkozResource))]
public int? Kategoria { get; set; }
[Display(Name = nameof(EszkozResource.BeszerzesDatuma), ResourceType = typeof(EszkozResource))]
public DateTime? BeszerzesDatum { get; set; }
[Display(Name = nameof(EszkozResource.Mennyiseg), ResourceType = typeof(EszkozResource))]
[KretaParameterizedRange(0, 99999, ErrorMessageResourceName = nameof(ErrorResource.EszkozAMennyisegCsakEgyParameterekKozottiEgeszSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))]
public int? Darabszam { get; set; }
[Display(Name = nameof(EszkozResource.FelelosSzemely), ResourceType = typeof(EszkozResource))]
public int? SzemelyiFelelos { get; set; }
[Display(Name = nameof(EszkozResource.GyartasiEv), ResourceType = typeof(EszkozResource))]
[KretaRegularExpression(Core.Constants.RegularExpressions.GyartasiEv, ErrorMessageResourceName = nameof(ErrorResource.GyartasiEvFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? GyartasiEv { get; set; }
[Display(Name = nameof(EszkozResource.Multimedias), ResourceType = typeof(EszkozResource))]
public int? Multimedias { get; set; }
[Display(Name = nameof(EszkozResource.HalotatiKapcsolat), ResourceType = typeof(EszkozResource))]
public int? HalozatiKapcsolat { get; set; }
[Display(Name = nameof(EszkozResource.Internetkapcsolat), ResourceType = typeof(EszkozResource))]
public int? InternetKapcsolat { get; set; }
[Display(Name = nameof(EszkozResource.Hordozhato), ResourceType = typeof(EszkozResource))]
public int? Hordozhato { get; set; }
[Display(Name = nameof(EszkozResource.Tartozek), ResourceType = typeof(EszkozResource))]
public bool Tartozek { get; set; }
[Display(Name = nameof(EszkozResource.TartozekHivatkozas), ResourceType = typeof(EszkozResource))]
public string TartozekHivatkozas { get; set; }
[Display(Name = nameof(EszkozResource.Megjegyzes), ResourceType = typeof(EszkozResource))]
[StringLength(255, ErrorMessageResourceName = nameof(ErrorResource.AMegjegyzesMax255KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(EszkozResource.EszkozFelhasznalas), ResourceType = typeof(EszkozResource))]
public int? Celja { get; set; }
[Display(Name = nameof(EszkozResource.Berelt), ResourceType = typeof(EszkozResource))]
public int? Berelt { get; set; }
[Display(Name = nameof(EszkozResource.TanuloHozzaferhet), ResourceType = typeof(EszkozResource))]
public int? TanuloHozzaferhet { get; set; }
[Display(Name = nameof(EszkozResource.PedagogusHozzaferhet), ResourceType = typeof(EszkozResource))]
public int? PedagogusHozzaferhet { get; set; }
public EszkozCsopModModel()
{
IgenNemList = GetIgenNemList();
}
private List<SelectListItem> GetIgenNemList()
{
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem() { Text = CommonResource.Igen, Value = ((int)Enums.ManualEnums.IgenNemEnum.Igen).ToString() });
list.Add(new SelectListItem() { Text = CommonResource.Nem, Value = ((int)Enums.ManualEnums.IgenNemEnum.Nem).ToString() });
return list;
}
public List<SelectListItem> IgenNemList { get; set; }
[Display(Name = nameof(EszkozResource.HibasEszkoz), ResourceType = typeof(EszkozResource))]
public int? NemMukodik { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class EszkozGridModel : IKretaIdentity
{
public string ID { get; }
[Display(Name = nameof(EszkozResource.EszkozMegnevezese), ResourceType = typeof(EszkozResource))]
public string Nev { get; set; }
[Display(Name = nameof(EszkozResource.StatisztikaiKategoria), ResourceType = typeof(EszkozResource))]
public string KategoriaId_DNAME { get; set; } //TeremTipusEnums
[Display(Name = nameof(EszkozResource.Mennyiseg), ResourceType = typeof(EszkozResource))]
public int Darabszam { get; set; }
[Display(Name = nameof(EszkozResource.Helyiseg), ResourceType = typeof(EszkozResource))]
public string TeremNev { get; set; }
[Display(Name = nameof(EszkozResource.FelelosSzemely), ResourceType = typeof(EszkozResource))]
public string FelelosNev { get; set; }
}
}

View File

@@ -0,0 +1,177 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class EszkozModel
{
public EszkozModel()
{
TipusList = new List<SelectListItem>();
KategoriaList = new List<SelectListItem>();
JellegList = new List<SelectListItem>();
CeljaList = new List<SelectListItem>();
MertekegysegList = new List<SelectListItem>();
}
public int? ID { get; set; }
[Display(Name = nameof(EszkozResource.EszkozNeve), ResourceType = typeof(EszkozResource))]
[KretaRequired(ErrorMessageResourceName = nameof(ErrorResource.EszkozNevMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(ErrorResource.EszkozNevTulHosszu), ErrorMessageResourceType = typeof(ErrorResource))]
public string Nev { get; set; }
[Display(Name = nameof(EszkozResource.FellelhetosegiHely), ResourceType = typeof(EszkozResource))]
[KretaRequired(ErrorMessageResourceName = nameof(ErrorResource.FellelhetosegiHelyMegadasaKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? TeremID { get; set; }
[Display(Name = nameof(EszkozResource.FellelhetosegiHely), ResourceType = typeof(EszkozResource))]
public string TeremNev { get; set; }
[Display(Name = nameof(EszkozResource.LeltariSzam), ResourceType = typeof(EszkozResource))]
[MaxLength(20, ErrorMessageResourceName = nameof(ErrorResource.LeltariSzamNemLehetHosszabb20Karakternel), ErrorMessageResourceType = typeof(ErrorResource))]
public string LeltariSzam { get; set; }
[Display(Name = nameof(EszkozResource.Jelleg), ResourceType = typeof(EszkozResource))]
public int? Jelleg { get; set; } //EszkozJellegEnum?
[Display(Name = nameof(EszkozResource.Jelleg), ResourceType = typeof(EszkozResource))]
public string JellegNev { get { return Jelleg.GetDisplayName<EszkozJellegEnum>(ClaimData.SelectedTanevID.Value); } }
[Display(Name = nameof(EszkozResource.Felhasznalas), ResourceType = typeof(EszkozResource))]
public string Felhasznalas { get; set; }
[Display(Name = nameof(EszkozResource.EszkozTipusa), ResourceType = typeof(EszkozResource))]
public int? Tipus { get; set; } //EszkozTipusEnum?
[Display(Name = nameof(EszkozResource.Kategoria), ResourceType = typeof(EszkozResource))]
public int? Kategoria { get; set; } //EszkozKategoriaEnum?
[Display(Name = nameof(EszkozResource.Kategoria), ResourceType = typeof(EszkozResource))]
public string KategoriaNev { get { return Kategoria.GetDisplayName<EszkozKategoriaEnum>(ClaimData.SelectedTanevID.Value); } }
[Display(Name = nameof(EszkozResource.BeszerzesDatuma), ResourceType = typeof(EszkozResource))]
[KretaDateRange(ErrorMessageResourceName = nameof(ErrorResource.BeszerzesDatumaNemErvenyes), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? BeszerzesDatum { get; set; }
[Display(Name = nameof(EszkozResource.BeszerzesDatuma), ResourceType = typeof(EszkozResource))]
public string BeszerzesDatumRovid { get { return BeszerzesDatum.HasValue ? BeszerzesDatum.Value.ToShortDateString() : ""; } }
[Display(Name = nameof(EszkozResource.BeszerzesiErtek), ResourceType = typeof(EszkozResource))]
[KretaRange(0, int.MaxValue, ErrorMessageResourceName = nameof(ErrorResource.EszkozArNemLehetNegativ), ErrorMessageResourceType = typeof(ErrorResource))]
public int? BeszerzesiAr { get; set; }
[Display(Name = nameof(EszkozResource.Mennyiseg), ResourceType = typeof(EszkozResource))]
[KretaParameterizedRange(0, 99999, ErrorMessageResourceName = nameof(ErrorResource.EszkozAMennyisegCsakEgyParameterekKozottiEgeszSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))]
public int? Darabszam { get; set; }
[Display(Name = nameof(EszkozResource.MennyisegiEgyseg), ResourceType = typeof(EszkozResource))]
public int? MennyisegiEgyseg { get; set; } //MertekegysegTipusEnum?
[Display(Name = nameof(EszkozResource.MennyisegiEgyseg), ResourceType = typeof(EszkozResource))]
public string MennyisegiEgysegNev { get { return MennyisegiEgyseg.GetDisplayName<MertekegysegTipusEnum>(ClaimData.SelectedTanevID.Value); } }
[Display(Name = nameof(EszkozResource.GyariSzam), ResourceType = typeof(EszkozResource))]
public string GyariSzam { get; set; }
[Display(Name = nameof(EszkozResource.GyartasiEv), ResourceType = typeof(EszkozResource))]
[KretaRegularExpression(Core.Constants.RegularExpressions.GyartasiEv, ErrorMessageResourceName = nameof(ErrorResource.GyartasiEvFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
public int? GyartasiEv { get; set; }
[Display(Name = nameof(EszkozResource.FelelosSzemely), ResourceType = typeof(EszkozResource))]
public int? SzemelyiFelelos { get; set; }
[Display(Name = nameof(EszkozResource.FelelosSzemely), ResourceType = typeof(EszkozResource))]
public string FelelosNev { get; set; }
[Display(Name = nameof(EszkozResource.Szallito), ResourceType = typeof(EszkozResource))]
[StringLength(maximumLength: 50, ErrorMessageResourceName = nameof(ErrorResource.SzallitoMax50Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Szallito { get; set; }
[Display(Name = nameof(EszkozResource.FokonyviSzam), ResourceType = typeof(EszkozResource))]
[StringLength(maximumLength: 50, ErrorMessageResourceName = nameof(ErrorResource.FokonyviszamMax50Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string FokonyviSzam { get; set; }
[Display(Name = nameof(EszkozResource.Berelt), ResourceType = typeof(EszkozResource))]
public bool Berelt { get; set; }
[Display(Name = nameof(EszkozResource.Berelt), ResourceType = typeof(EszkozResource))]
public string Berelt_BNAME { get { return Berelt.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.TanuloHozzaferhet), ResourceType = typeof(EszkozResource))]
public bool TanuloHozzaferhet { get; set; }
[Display(Name = nameof(EszkozResource.TanuloHozzaferhet), ResourceType = typeof(EszkozResource))]
public string TanuloHozzaferhet_BNAME { get { return TanuloHozzaferhet.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.PedagogusHozzaferhet), ResourceType = typeof(EszkozResource))]
public bool PedagogusHozzaferhet { get; set; }
[Display(Name = nameof(EszkozResource.PedagogusHozzaferhet), ResourceType = typeof(EszkozResource))]
public string PedagogusHozzaferhet_BNAME { get { return PedagogusHozzaferhet.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.Multimedias), ResourceType = typeof(EszkozResource))]
public bool Multimedias { get; set; }
[Display(Name = nameof(EszkozResource.Multimedias), ResourceType = typeof(EszkozResource))]
public string Multimedias_BNAME { get { return Multimedias.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.HalotatiKapcsolat), ResourceType = typeof(EszkozResource))]
public bool HalozatiKapcsolat { get; set; }
[Display(Name = nameof(EszkozResource.HalotatiKapcsolat), ResourceType = typeof(EszkozResource))]
public string HalozatiKapcsolat_BNAME { get { return HalozatiKapcsolat.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.Internetkapcsolat), ResourceType = typeof(EszkozResource))]
public bool InternetKapcsolat { get; set; }
[Display(Name = nameof(EszkozResource.Internetkapcsolat), ResourceType = typeof(EszkozResource))]
public string InternetKapcsolat_BNAME { get { return InternetKapcsolat.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.Hordozhato), ResourceType = typeof(EszkozResource))]
public bool Hordozhato { get; set; }
[Display(Name = nameof(EszkozResource.Hordozhato), ResourceType = typeof(EszkozResource))]
public string Hordozhato_BNAME { get { return Hordozhato.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.Tartozek), ResourceType = typeof(EszkozResource))]
public bool Tartozek { get; set; }
[Display(Name = nameof(EszkozResource.Tartozek), ResourceType = typeof(EszkozResource))]
public string Tartozek_BNAME { get { return Tartozek.GetDisplayName(); } } //Igen, Nem
[Display(Name = nameof(EszkozResource.TartozekHivatkozas), ResourceType = typeof(EszkozResource))]
public string TartozekHivatkozas { get; set; }
[Display(Name = nameof(EszkozResource.Megjegyzes), ResourceType = typeof(EszkozResource))]
[StringLength(255, ErrorMessageResourceName = nameof(ErrorResource.AMegjegyzesMax255KarakterLehet), ErrorMessageResourceType = typeof(ErrorResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(EszkozResource.EszkozFelhasznalas), ResourceType = typeof(EszkozResource))]
public int? Celja { get; set; } //EszkozCelEnum?
[Display(Name = nameof(EszkozResource.EszkozFelhasznalas), ResourceType = typeof(EszkozResource))]
public string CeljaNev { get { return Celja.GetDisplayName<EszkozCelEnum>(ClaimData.SelectedTanevID.Value); } }
[Display(Name = nameof(EszkozResource.Vonalkod), ResourceType = typeof(EszkozResource))]
public string Vonalkod { get; set; }
[Display(Name = nameof(EszkozResource.HibasEszkoz), ResourceType = typeof(EszkozResource))]
public bool NemMukodik { get; set; }
[Display(Name = nameof(EszkozResource.HibasEszkoz), ResourceType = typeof(EszkozResource))]
public string NemMukodik_BNAME { get { return NemMukodik.GetDisplayName(); } } //Igen, Nem
public List<SelectListItem> TipusList { get; set; }
public List<SelectListItem> KategoriaList { get; set; }
public List<SelectListItem> JellegList { get; set; }
public List<SelectListItem> CeljaList { get; set; }
public List<SelectListItem> MertekegysegList { get; set; }
}
}

View File

@@ -0,0 +1,46 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class EszkozSearchModel
{
[Display(Name = nameof(EszkozResource.EszkozMegnevezese), ResourceType = typeof(EszkozResource))]
public string SearchNev { get; set; }
[Display(Name = nameof(EszkozResource.StatisztikaiKategoria), ResourceType = typeof(EszkozResource))]
public int? SearchKategoria { get; set; }
[Display(Name = nameof(EszkozResource.MennyisegtolIg), ResourceType = typeof(EszkozResource))]
[KretaParameterizedRange(0, 99999, ErrorMessageResourceName = nameof(ErrorResource.EszkozAMennyisegCsakEgyParameterekKozottiEgeszSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))] //A darabszám csak egy 1 és 99999 közötti egész szám lehet
public int? SearchMinDarabszam { get; set; }
[Display(Name = nameof(EszkozResource.MennyisegtolIg), ResourceType = typeof(EszkozResource))]
[KretaParameterizedRange(0, 99999, ErrorMessageResourceName = nameof(ErrorResource.EszkozAMennyisegCsakEgyParameterekKozottiEgeszSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))] //A darabszám csak egy 1 és 99999 közötti egész szám lehet
public int? SearchMaxDarabszam { get; set; }
[Display(Name = nameof(EszkozResource.Helyiseg), ResourceType = typeof(EszkozResource))]
public int? SearchTeremID { get; set; }
[Display(Name = nameof(EszkozResource.FelelosSzemely), ResourceType = typeof(EszkozResource))]
public int? SearchFelelosID { get; set; }
public bool IsEszkozKezelesEnabled { get; set; }
public EszkozokSearchCo ConvertToCo(int tanevId)
{
return new EszkozokSearchCo
{
TanevId = tanevId,
TeremId = this.SearchTeremID,
FelelosId = this.SearchFelelosID,
KategoriaId = this.SearchKategoria,
MinDarabszam = this.SearchMinDarabszam,
MaxDarabszam = this.SearchMaxDarabszam,
Nev = this.SearchNev
};
}
}
}

View File

@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using Kreta.Core;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class FaliujsagElem
{
public string Nev { get; set; }
public string Munkakor { get; set; }
public string KepEleresiUtja { get; set; }
public DateTime Idopont { get; set; }
public string EsemenyCime { get; set; }
public string EsemenySzovege { get; set; }
public string DatumNap { get { return Idopont.Day.ToString(); } }
public string DatumHonap { get { return CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(Idopont.Month); } }
public string DatumEv { get { return Idopont.Year.ToString(); } }
}
public class FaliujsagModel
{
public FaliujsagModel()
{
FaliujsagElemek = new List<FaliujsagElem>();
}
public List<FaliujsagElem> FaliujsagElemek { get; set; }
public int ItemCount { get; set; }
public QuadrupleList<string, string, string, string> LegutobbiErtekelesek { get; set; }
public QuintupleList<DateTime?, string, string, string, string> LegutobbiMulasztasok { get; set; }
public QuadrupleList<string, string, string, string> LegutobbiFeljegyzesek { get; set; }
public QuadrupleList<string, string, string, string> LegutobbiBejelentettSzamonkeresek { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using Kreta.BusinessLogic.Interfaces;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class FeladatellatasiHelyAlkalmazottakGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(108)] //Név
public string Nev { get; set; }
[KretaDisplayName(88)] //Munkakör
public string Munkakor_DNAME { get; set; }
[KretaDisplayName(3860)] //Munkaviszony
public string Munkaviszony_DNAME { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
using Kreta.Web.Controllers;
using Kreta.Web.Helpers.TabStrip;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class FeladatellatasiHelyModel
{
public int? ID { get; set; }
public int MukodesiHelyID { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public string MukodesiHelyNev { get; set; }
[Display(Name = nameof(IntezmenyResource.EllatottKoznevelesiFeladat), ResourceType = typeof(IntezmenyResource))]
[Required(ErrorMessageResourceName = nameof(IntezmenyResource.EllatottKoznevelesiFeladatKivalasztasaKotelezo), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? FeladatTipus { get; set; }
[Display(Name = nameof(IntezmenyResource.EllatottKoznevelesiFeladat), ResourceType = typeof(IntezmenyResource))]
public string FeladatTipusNev { get; set; }
[Display(Name = nameof(IntezmenyResource.KIRFeladatellatasiHelySorszama), ResourceType = typeof(IntezmenyResource))]
public string KIRFeladatellatasiHelySorszama { get; set; }
public List<SelectListItem> FeladatList { get; set; }
public List<TabStripItemModel> TabList { get; set; }
public bool IsAMIModuleActive { get; set; }
public bool IsKollegiumModuleActive { get; set; }
public bool IsEGYMIModuleActive { get; set; }
public FeladatellatasiHelyModel()
{
FeladatList = new ComboBoxHelperApiController().GetOktatasiNevelesiFeladatList(true);
TabList = new List<TabStripItemModel>();
}
}
}

View File

@@ -0,0 +1,22 @@
using Kreta.BusinessLogic.Interfaces;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class FeladatellatasiHelyOsztalycsoportokGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(108)] //Név
public string Nev { get; set; }
[KretaDisplayName(262)] //Típus
public string Tipus { get; set; }
[KretaDisplayName(3847)] //Létszám
public string Letszam { get; set; }
[KretaDisplayName(442)] //Évfolyam
public string Evfolyam_DNAME { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class IntezmenyFeladatEllatasiHelyGridModel : IKretaIdentity
{
public string ID { get; set; }
public int? IntezmenyFeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(IntezmenyResource.EllatottKoznevelesiFeladat), ResourceType = typeof(IntezmenyResource))]
public string OktatasiNevelesiFeladatTipus_DNAME { get; set; }
}
}

View File

@@ -0,0 +1,21 @@
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class IntezmenyInfoModel
{
public Info info { get; set; }
public class Info
{
public IntezmenyModel intezmenyInfoModel { get; set; }
public Info(IntezmenyModel intezmenyModel)
{
intezmenyInfoModel = intezmenyModel;
}
}
public IntezmenyInfoModel(IntezmenyModel intezmenyModel)
{
info = new Info(intezmenyModel);
}
}
}

View File

@@ -0,0 +1,71 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
using Kreta.Web.Models;
using static Kreta.Core.Constants;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class IntezmenyModel : CimElerhetosegModel
{
[Display(Name = nameof(CommonResource.IgazgatoNeve), ResourceType = typeof(CommonResource))]
[KretaRequired(typeof(CommonResource), nameof(CommonResource.IgazgatoNeveKotelezo))]
[StringLength(maximumLength: 100, ErrorMessageResourceName = nameof(ErrorResource.Max100Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string IgazgatoNeve { get; set; }
[Display(Name = nameof(CommonResource.IntezmenyHivatalosNev), ResourceType = typeof(CommonResource))]
[KretaRequired(typeof(CommonResource), nameof(CommonResource.IntezmenyHivatalosNevKotelezo))]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.Max255Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string IntezmenyNev { get; set; }
[Display(Name = nameof(CommonResource.OMAzonosito), ResourceType = typeof(CommonResource))]
[KretaRequired(typeof(CommonResource), nameof(CommonResource.OMAzonositoKotelezo))]
[KretaStringLength(6, MinimumLength = 6, ErrorMessageResourceName = nameof(CommonResource.OMAzonosito6Szamjegy), ErrorMessageResourceType = typeof(CommonResource))]
[KretaRegularExpression(RegularExpressions.OMAzonosito, ErrorMessageResourceName = nameof(CommonResource.OMAzonosito6Szamjegy), ErrorMessageResourceType = typeof(CommonResource))]
public string OMKod { get; set; }
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.ATelefonszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Telefonszam), ResourceType = typeof(CommonResource))]
public new string Telefon { get; set; }
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Email), ResourceType = typeof(CommonResource))]
public string Email { get; set; }
[EmailAddressExtended(true, true, ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.AdminEmail), ResourceType = typeof(CommonResource))]
public string AdminEmail { get; set; }
[Display(Name = nameof(CommonResource.RovidNev), ResourceType = typeof(CommonResource))]
[StringLength(50, ErrorMessageResourceName = nameof(ErrorResource.IntezmenyRovidNevTulHosszu), ErrorMessageResourceType = typeof(ErrorResource))]
public string RovidNev { get; set; }
[Range(0, 500, ErrorMessageResourceName = nameof(ErrorResource.AzEngedelyezettAllashelyekSzamaMax500), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(IntezmenyResource.EngedelyezettPedagogusAllashely), ResourceType = typeof(IntezmenyResource))]
public double? EngedelyezettAllashely { get; set; }
[Display(Name = nameof(CommonResource.Cim), ResourceType = typeof(CommonResource))]
public string Cim => string.Format("{0} {1}, {2} {3} {4}{5}", Iranyitoszam_Str, HelysegNev_Str, KozteruletNev, KozteruletTipus_Str, string.IsNullOrWhiteSpace(Hazszam) ? "" : $"{Hazszam.TrimEnd('.')}.", string.IsNullOrWhiteSpace(Emelet) ? "" : string.Format(" {0}. em{1}", Emelet.Trim('.'), string.IsNullOrWhiteSpace(Ajto) ? "" : string.Format("/{0}.", Ajto.TrimEnd('.'))));
public IntezmenyiDokumentumModel AlapitoOkirat { get; set; }
public IntezmenyiDokumentumModel SZMSZ { get; set; }
public IntezmenyiDokumentumModel PedagogiaiProgram { get; set; }
public IntezmenyiDokumentumModel Hazirend { get; set; }
public IntezmenyiDokumentumModel Munkaterv { get; set; }
public IntezmenyiDokumentumModel MukodesiEngedely { get; set; }
[Display(Name = nameof(IntezmenyResource.Szakkepzo), ResourceType = typeof(IntezmenyResource))]
public bool IsSzakkepzo { get; set; }
[Display(Name = nameof(IntezmenyResource.JuttatasHatarnap), ResourceType = typeof(IntezmenyResource))]
public int JuttatasHatarnap { get; set; }
}
}

View File

@@ -0,0 +1,41 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class IntezmenyMukodesiHelyGridModel : IKretaIdentity
{
public string ID { get; set; }
public int? IntezmenyMukodesiHelyId { get; set; }
public int? FeladatEllatasiHelyID { get; set; }
[KretaDisplayName(1992)] /*Tagintézmény*/
public bool Tagintezmeny_BOOL { get; set; }
[KretaDisplayName(1992)] /*Tagintézmény*/
public string Tagintezmeny_BNAME { get; set; }
[KretaDisplayName(3249)] /*Működési hely neve*/
public string Nev { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHelyAzonosito), ResourceType = typeof(IntezmenyResource))]
public string MukodesiHelyAzonosito { get; set; }
[KretaDisplayName(63)] /*Irányítószám*/
public int? Iranyitoszam { get; set; }
[KretaDisplayName(475)] /*Város*/
public string Varos { get; set; }
[KretaDisplayName(66)] /*Telefonszám*/
public string Telefon { get; set; }
[KretaDisplayName(264)] /*E-mail cím*/
public string Email { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHelyTipusa), ResourceType = typeof(IntezmenyResource))]
public string C_MUKODESIHELYTIPUSA_DNAME { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using Kreta.Enums.ManualEnums;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class IntezmenyiDokumentumModel
{
public string Nev { get; set; }
public Enums.DokumentumTipusEnum Tipus { get; set; }
public IntezmenyiDokumentumStatuszEnum Statusz { get; set; }
public string FajlNev { get; set; }
public int IktatottDokumentumId { get; set; }
}
}

View File

@@ -0,0 +1,101 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core.CustomAttributes;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Attributes;
using Kreta.Web.Models;
using Kreta.Web.Security;
using static Kreta.Core.Constants;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class MukodesiHelyModel : CimElerhetosegModel
{
[Display(Name = nameof(IntezmenyResource.MukodesiHelyNeve), ResourceType = typeof(IntezmenyResource))]
[KretaRequired]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.Max255Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Nev { get; set; }
[EmailAddressExtended(ErrorMessageResourceName = nameof(ErrorResource.EMailCimFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[StringLength(General.EmailMaximumKarakterekSzama, ErrorMessageResourceName = nameof(ErrorResource.EmailMax0Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Email), ResourceType = typeof(CommonResource))]
public string Email { get; set; }
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.ATelefonszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(CommonResource.Telefonszam), ResourceType = typeof(CommonResource))]
public string Telefonszam { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHelyAzonosito), ResourceType = typeof(IntezmenyResource))]
[RegularExpression(RegularExpressions.MukodesiHelyAzonosito, ErrorMessageResourceName = nameof(ErrorResource.MukodesiHelyAzonositoCsakSzamLehet), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(3, ErrorMessageResourceName = nameof(ErrorResource.MukodesiHelyAzonositoTulHosszu), ErrorMessageResourceType = typeof(ErrorResource))]
public string MukodesiHelyAzonosito { get; set; }
[KretaDisplayName(3613)] /*Tagintézmény vezetője*/
[StringLength(maximumLength: 100, ErrorMessageResourceName = nameof(ErrorResource.Max100Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string VezetoNeve { get; set; }
[KretaDisplayName(1421)] /*Fax*/
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.AFaxFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
public string Fax { get; set; }
[KretaRequired]
[Display(Name = nameof(IntezmenyResource.MukodesiHelyTipusa), ResourceType = typeof(IntezmenyResource))]
public int? MukodesiHelyTipusa { get; set; }
[Display(Name = nameof(IntezmenyResource.TelephelyAnyaIntezmeny), ResourceType = typeof(IntezmenyResource))]
public int? TelephelyAnyaintezmeny { get; set; }
public MukodesiHelyModel(MukodesiHelyCO co)
{
Email = co.Email;
Fax = co.Fax;
Id = co.ID;
Iranyitoszam_Str = co.Iranyitoszam;
Iranyitoszam = co.Iranyitoszam;
Nev = co.Nev;
MukodesiHelyAzonosito = co.MukodesiHelyAzonosito;
MukodesiHelyTipusa = co.MukodesiHelyTipusa;
Telefonszam = co.Telefonszam;
Orszag = (int)OrszagTipusEnum.Magyarorszag;
HelysegNev = co.Varos;
HelysegNev_Str = co.Varos;
VezetoNeve = co.VezetoNeve;
KozteruletNev = co.Kozterulet;
KozteruletTipus = co.KozteruletJellegeNev;
KozteruletTipus_Str = co.KozteruletJellegeNev;
Hazszam = co.Szam;
Emelet = co.Emelet;
Ajto = co.Ajto;
TelephelyAnyaintezmeny = co.TelephelyAnyaintezmeny;
}
public MukodesiHelyModel() { }
public MukodesiHelyCO ToCo()
{
return new MukodesiHelyCO
{
Email = Email,
Fax = Fax,
ID = Id,
IntezmenyID = ClaimData.IntezmenyId,
Iranyitoszam = Iranyitoszam,
Nev = Nev,
Telefonszam = Telefonszam,
Varos = Orszag == (int)OrszagTipusEnum.Magyarorszag ? HelysegNev : HelysegNev_Str,
VezetoNeve = VezetoNeve,
Szam = Hazszam,
Ajto = Ajto,
KozteruletJellegeNev = KozteruletTipus_Str,
Kozterulet = KozteruletNev,
Emelet = Emelet,
MukodesiHelyAzonosito = MukodesiHelyAzonosito,
MukodesiHelyTipusa = MukodesiHelyTipusa,
TanevId = ClaimData.SelectedTanevID,
TelephelyAnyaintezmeny = TelephelyAnyaintezmeny
};
}
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class NaptariHetGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(HetesResource.Hetirend), ResourceType = typeof(HetesResource))]
public int Hetirend { get; set; }
[Display(Name = nameof(IntezmenyResource.Sorszam), ResourceType = typeof(IntezmenyResource))]
public int HetSorszama { get; set; }
[Display(Name = nameof(HetesResource.HetKezdoNapja), ResourceType = typeof(HetesResource))]
public DateTime HetKezdoNapja { get; set; }
[Display(Name = nameof(HetesResource.HetUtolsoNapja), ResourceType = typeof(HetesResource))]
public DateTime HetUtolsoNapja { get; set; }
}
}

View File

@@ -0,0 +1,94 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
using Kreta.Web.Helpers.TabStrip;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmaInfoModel
{
public OktatottSzakmaInfoModel(UjSzktSzakmajegyzekOsszerendelesItemCo co)
{
var alapadatModel = new AlapadatModel
{
Id = co.Id.Value,
SzakkepesitesMegnevezese = co.SzakkepesitesMegnevezese,
OktatasiNevelesiFeladatNev = co.OktatasiNevelesiFeladatNev,
AgazatiBesorolas = co.AgazatiBesorolas?.ToString("00"),
SzakkepesitesAzonositoszam = co.SzakkepesitesAzonositoszam,
JelenlegZajloKepzes = co.JelenlegZajloKepzes.GetDisplayName(),
KepzesreFogadhatoTanulokSzama = co.KepzesreFogadhatoTanulokSzama.Value,
JelenlegKepzettTanulokSzama = co.JelenlegKepzettTanulokSzama,
IsNyilatkozott = co.IsNyilatkozott.GetDisplayName(),
EszkozallomanyAvultsaga = co.EszkozallomanyAvultsaga,
EszkozokDarabszama = co.EszkozokDarabszama,
EgyebEszkozallomanyInformacio = co.EgyebEszkozallomanyInformacio,
TanmuhelyekSzama = co.TanmuhelyekSzama,
};
TabList = new List<TabStripItemModel>
{
new TabStripItemModel
{
ItemId = "1",
ItemName = UjSzktSzakmajegyzekOsszerendelesResource.Alapadatok,
Model = alapadatModel,
PartialViewName = "Info_Alapadatok_Tab",
IsActive = true
},
new TabStripItemModel
{
ItemId = "2",
ItemName = UjSzktSzakmajegyzekOsszerendelesResource.SzakmatTanulokListaja,
Model = co.Id.Value,
PartialViewName = "Info_SzakmatTanulokListaja_Tab"
}
};
}
public List<TabStripItemModel> TabList { get; }
public class AlapadatModel
{
public int Id { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezese), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezese { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.OktatasiNevelesiFeladatNev), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string OktatasiNevelesiFeladatNev { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.AgazatiBesorolas), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string AgazatiBesorolas { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesAzonositoszam), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesAzonositoszam { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegZajloKepzes), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string JelenlegZajloKepzes { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int KepzesreFogadhatoTanulokSzama { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegKepzettTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int JelenlegKepzettTanulokSzama { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.Nyilatkozat), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string IsNyilatkozott { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozallomanyAvultsaga), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozallomanyAvultsaga { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozokDarabszama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozokDarabszama { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EgyebEszkozallomanyInformacio), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EgyebEszkozallomanyInformacio { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.TanmuhelyekSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string TanmuhelyekSzama { get; set; }
}
}
}

View File

@@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Resources;
using Kreta.Web.Classes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmaModifyModel
{
public OktatottSzakmaModifyModel() { }
public OktatottSzakmaModifyModel(UjSzktSzakmajegyzekOsszerendelesItemCo co)
{
Id = co.Id.Value;
SzakkepesitesMegnevezese = co.SzakkepesitesMegnevezese;
OktatasiNevelesiFeladatNev = co.OktatasiNevelesiFeladatNev;
AgazatiBesorolas = co.AgazatiBesorolas?.ToString("00");
SzakkepesitesAzonositoszam = co.SzakkepesitesAzonositoszam;
JelenlegZajloKepzes = co.JelenlegZajloKepzes.GetDisplayName();
KepzesreFogadhatoTanulokSzama = co.KepzesreFogadhatoTanulokSzama.Value;
JelenlegKepzettTanulokSzama = co.JelenlegKepzettTanulokSzama;
IsNyilatkozott = co.IsNyilatkozott;
FileId = co.FileId;
FileNev = co.TeljesFileNev;
FeltoltesDatum = co.IsFileFeltoltve ? co.FeltoltesDatum : null;
EszkozallomanyAvultsaga = co.EszkozallomanyAvultsaga;
EszkozokDarabszama = co.EszkozokDarabszama;
EgyebEszkozallomanyInformacio = co.EgyebEszkozallomanyInformacio;
TanmuhelyekSzama = co.TanmuhelyekSzama;
}
public int Id { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezese), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezese { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.OktatasiNevelesiFeladatNev), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string OktatasiNevelesiFeladatNev { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.AgazatiBesorolas), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string AgazatiBesorolas { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesAzonositoszam), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesAzonositoszam { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegZajloKepzes), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string JelenlegZajloKepzes { get; set; }
[Required(ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzamaRequired), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Range(0, 1000, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzamaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int KepzesreFogadhatoTanulokSzama { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegKepzettTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int JelenlegKepzettTanulokSzama { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.IsNyilatkozott), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public bool IsNyilatkozott { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.IsNyilatkozott), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? FileId { get; set; }
public bool IsFileFeltoltve => FileId.IsEntityId();
public string FileNev { get; set; }
public FileModel File { get; set; }
public bool IsFileNevTooLong => !string.IsNullOrWhiteSpace(FileNev) && FileNev.Length > 32;
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.FileNev), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string ShortFileNev => string.IsNullOrWhiteSpace(FileNev) || IsFileFeltoltve ? IsFileNevTooLong ? $"{FileNev.Substring(0, 29)}..." : FileNev : string.Empty;
public DateTime? FeltoltesDatum { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.FeltoltesDatum), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string FeltoltesDatumText => FeltoltesDatum.HasValue ? FeltoltesDatum.Value.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds) : string.Empty;
public int MaxAllowedFileSizeInMegaBytes = 15;
public int MaxAllowedFileSizeInBytes => MaxAllowedFileSizeInMegaBytes * 1024 * 1024;
public Dictionary<string, string> AllowedFileExtensions = new Dictionary<string, string>
{
{".pdf", "application/pdf"}
};
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozallomanyAvultsagaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozallomanyAvultsaga), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozallomanyAvultsaga { get; set; }
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozokDarabszamaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozokDarabszama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozokDarabszama { get; set; }
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EgyebEszkozallomanyInformacioOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EgyebEszkozallomanyInformacio), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EgyebEszkozallomanyInformacio { get; set; }
[Required(ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.TanmuhelyekSzamaRequired), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[StringLength(2000, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.TanmuhelyekSzamaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.TanmuhelyekSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string TanmuhelyekSzama { get; set; }
public UjSzktSzakmajegyzekOsszerendelesItemCo ToCo()
{
return new UjSzktSzakmajegyzekOsszerendelesItemCo
{
Id = Id,
FileId = FileId,
File = File,
KepzesreFogadhatoTanulokSzama = KepzesreFogadhatoTanulokSzama,
EszkozallomanyAvultsaga = EszkozallomanyAvultsaga,
EszkozokDarabszama = EszkozokDarabszama,
EgyebEszkozallomanyInformacio = EgyebEszkozallomanyInformacio,
TanmuhelyekSzama = TanmuhelyekSzama
};
}
}
}

View File

@@ -0,0 +1,60 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmaMultipleModifyModel
{
public OktatottSzakmaMultipleModifyModel() { }
public OktatottSzakmaMultipleModifyModel(List<UjSzktSzakmajegyzekOsszerendelesItemCo> coList)
{
IdsString = string.Join(",", coList.Select(x => x.Id).ToList());
SzakkepesitesMegnevezeseListString = string.Join(", ", coList.Select(x => x.SzakkepesitesMegnevezese).Distinct().OrderBy(x => x).ToList());
}
public string IdsString { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezeseList), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezeseListString { get; set; }
[Range(0, 1000, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzamaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? KepzesreFogadhatoTanulokSzama { get; set; }
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozallomanyAvultsagaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozallomanyAvultsaga), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozallomanyAvultsaga { get; set; }
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozokDarabszamaOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EszkozokDarabszama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozokDarabszama { get; set; }
[StringLength(500, ErrorMessageResourceName = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EgyebEszkozallomanyInformacioOutOfRange), ErrorMessageResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.EgyebEszkozallomanyInformacio), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EgyebEszkozallomanyInformacio { get; set; }
public List<UjSzktSzakmajegyzekOsszerendelesItemCo> ToCoList()
{
var result = new List<UjSzktSzakmajegyzekOsszerendelesItemCo>();
var ids = IdsString.Split(',').ToList().Select(int.Parse).ToList();
foreach (var id in ids)
{
result.Add(
new UjSzktSzakmajegyzekOsszerendelesItemCo
{
Id = id,
KepzesreFogadhatoTanulokSzama = KepzesreFogadhatoTanulokSzama,
EszkozallomanyAvultsaga = EszkozallomanyAvultsaga,
EszkozokDarabszama = EszkozokDarabszama,
EgyebEszkozallomanyInformacio = EgyebEszkozallomanyInformacio
});
}
return result;
}
}
}

View File

@@ -0,0 +1,47 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmaTanulokGridModel : IKretaIdentity
{
public OktatottSzakmaTanulokGridModel() { }
public OktatottSzakmaTanulokGridModel(OktatottSzakmaTanuloItemCo itemCo)
{
ID = itemCo.Id.ToString();
Nev = itemCo.Nev;
NevElotagNelkul = itemCo.NevElotagNelkul;
SzakkepesitesMegnevezese = itemCo.SzakkepesitesMegnevezese;
AnyjaNeve = itemCo.AnyjaNeve;
SzuletesiHely = itemCo.SzuletesiHely;
SzuletesiIdo = itemCo.SzuletesiIdo;
OktatasiAzonosito = itemCo.OktatasiAzonosito;
}
public string ID { get; }
public string Nev { get; set; }
[Display(Name = nameof(TanuloResource.Nev), ResourceType = typeof(TanuloResource))]
public string NevElotagNelkul { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezese), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezese { get; set; }
[Display(Name = nameof(TanuloResource.AnyjaNeve), ResourceType = typeof(TanuloResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiHely), ResourceType = typeof(TanuloResource))]
public string SzuletesiHely { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiIdo), ResourceType = typeof(TanuloResource))]
public DateTime SzuletesiIdo { get; set; }
[Display(Name = nameof(TanuloResource.OktatasiAzonosito), ResourceType = typeof(TanuloResource))]
public string OktatasiAzonosito { get; set; }
}
}

View File

@@ -0,0 +1,98 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmakGridModel : IKretaIdentity
{
#region Fields
/// <summary>
/// Technikai paraméter(ek) a reflection-ös exporthoz.
/// </summary>
public const string OktatottSzakmakExportAttributeId = nameof(OktatottSzakmakExportAttributeId);
#endregion Fields
public OktatottSzakmakGridModel() { }
public OktatottSzakmakGridModel(UjSzktSzakmajegyzekOsszerendelesItemCo itemCo)
{
ID = itemCo.Id.ToString();
OktatasiNevelesiFeladatId = itemCo.OktatasiNevelesiFeladatId.Value;
AgazatUjSzktTipusId = itemCo.AgazatUjSzktTipusId.Value;
SzakmaTipusId = itemCo.SzakmaTipusId;
SzakmaIranyTipusId = itemCo.SzakmaIranyTipusId;
SzakkepesitesMegnevezese = itemCo.SzakkepesitesMegnevezese;
OktatasiNevelesiFeladatNev = itemCo.OktatasiNevelesiFeladatNev;
AgazatiBesorolas = itemCo.AgazatiBesorolas?.ToString("00");
SzakkepesitesAzonositoszam = itemCo.SzakkepesitesAzonositoszam;
JelenlegZajloKepzes = itemCo.JelenlegZajloKepzes.GetDisplayName();
KepzesreFogadhatoTanulokSzama = itemCo.KepzesreFogadhatoTanulokSzama.Value;
JelenlegKepzettTanulokSzama = itemCo.JelenlegKepzettTanulokSzama;
IsNyilatkozott = itemCo.IsNyilatkozott.GetDisplayName();
EszkozallomanyAvultsaga = itemCo.EszkozallomanyAvultsaga;
EszkozokDarabszama = itemCo.EszkozokDarabszama;
EgyebEszkozallomanyInformacio = itemCo.EgyebEszkozallomanyInformacio;
TanmuhelyekSzama = itemCo.TanmuhelyekSzama;
}
public string ID { get; }
public int OktatasiNevelesiFeladatId { get; set; }
public int AgazatUjSzktTipusId { get; set; }
public int? SzakmaTipusId { get; set; }
public int? SzakmaIranyTipusId { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 00, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameSzakkepesitesMegnevezese), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezese), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezese { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 01, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameOktatasiNevelesiFeladatNev), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.OktatasiNevelesiFeladatNev), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string OktatasiNevelesiFeladatNev { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 02, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameAgazatiBesorolas), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.AgazatiBesorolas), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string AgazatiBesorolas { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 03, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameSzakkepesitesAzonositoszam), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesAzonositoszam), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesAzonositoszam { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 04, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameJelenlegZajloKepzes), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegZajloKepzes), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string JelenlegZajloKepzes { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 05, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameKepzesreFogadhatoTanulokSzama), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int KepzesreFogadhatoTanulokSzama { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 06, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameJelenlegKepzettTanulokSzama), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegKepzettTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int JelenlegKepzettTanulokSzama { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 07, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameIsNyilatkozott), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string IsNyilatkozott { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 08, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameEszkozallomanyAvultsaga), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozallomanyAvultsaga { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 09, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameEszkozokDarabszama), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EszkozokDarabszama { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 10, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameEgyebEszkozallomanyInformacio), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string EgyebEszkozallomanyInformacio { get; set; }
[SimpleExportColumn(OktatottSzakmakExportAttributeId, 11, nameof(UjSzktSzakmajegyzekOsszerendelesResource.ImportHeaderNameTanmuhelyekSzama), typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string TanmuhelyekSzama { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OktatottSzakmakSearchModel
{
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesMegnevezese), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesMegnevezeseSearch { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.AgazatiBesorolas), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? AgazatiBesorolasSearch { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.SzakkepesitesAzonositoszam), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public string SzakkepesitesAzonositoszamSearch { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegZajloKepzes), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? JelenlegZajloKepzesSearch { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.KepzesreFogadhatoTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? KepzesreFogadhatoTanulokSzamaSearch { get; set; }
[Display(Name = nameof(UjSzktSzakmajegyzekOsszerendelesResource.JelenlegKepzettTanulokSzama), ResourceType = typeof(UjSzktSzakmajegyzekOsszerendelesResource))]
public int? JelenlegKepzettTanulokSzamaSearch { get; set; }
public string ControllerName { get; set; } = Constants.Controllers.OktatottSzakmak;
public string ApiControllerName { get; set; } = Constants.ApiControllers.OktatottSzakmakApi;
public UjSzktSzakmajegyzekOsszerendelesSearchCo ToCo() =>
new UjSzktSzakmajegyzekOsszerendelesSearchCo
{
SzakkepesitesMegnevezese = SzakkepesitesMegnevezeseSearch,
AgazatiBesorolas = AgazatiBesorolasSearch,
SzakkepesitesAzonositoszam = SzakkepesitesAzonositoszamSearch,
JelenlegZajloKepzes = JelenlegZajloKepzesSearch.ToNullableBoolean(),
KepzesreFogadhatoTanulokSzama = KepzesreFogadhatoTanulokSzamaSearch,
JelenlegKepzettTanulokSzama = JelenlegKepzettTanulokSzamaSearch
};
}
}

View File

@@ -0,0 +1,35 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class OrarendiOraGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(OrarendResource.OrarendiNapHetirendje), ResourceType = typeof(OrarendResource))]
public string Hetirend_DNAME { get; set; }
[KretaDisplayName(483)] /*Nap*/
public string Hetnapja_DNAME { get; set; }
[KretaDisplayName(219)] /*Óra*/
public int Ora { get; set; }
[Display(Name = nameof(OrarendResource.OsztalyCsoportVesszovel), ResourceType = typeof(OrarendResource))]
public string OsztalyCsoport { get; set; }
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
public string TantargyNev { get; set; }
[KretaDisplayName(268)] /*Érvényesség kezdete*/
public DateTime ErvenyessegKezdete { get; set; }
[KretaDisplayName(269)] /*Érvényesség vége*/
public DateTime ErvenyessegVege { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using System.Collections.Generic;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class SetHetirendModel
{
public SetHetirendModel()
{
ModifiedHetirendList = new Dictionary<int, int?>();
}
public Dictionary<int, int?> ModifiedHetirendList { get; set; }
}
}

View File

@@ -0,0 +1,71 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeGridModel : IKretaIdentity
{
#region Fields
/// <summary>
/// Technikai paraméter(ek) a reflection-ös exporthoz.
/// </summary>
public const string TanevRendjeExportAttributeId = nameof(TanevRendjeExportAttributeId);
#endregion Fields
public TanevRendjeGridModel() { }
public TanevRendjeGridModel(TanevRendjeItemCo co)
{
ID = co.Id.ToString();
Datum = co.Datum;
TanevNev = co.TanevNev;
NapTipusNev = co.NapTipusNev;
IsOrarendiNapText = co.IsOrarendiNapText;
NapNev = co.NapNev;
HetirendNev = co.HetirendNev;
Megjegyzes = co.Megjegyzes;
ErintettOsztalyCsoportText = co.ErintettOsztalyCsoportText;
}
public string ID { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 00, nameof(TanevResource.Tanev), typeof(TanevResource))]
[KretaDisplayName(450)]
public string TanevNev { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 01, nameof(TanevResource.Datum), typeof(TanevResource))]
[KretaDisplayName(273)]
public DateTime Datum { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 02, nameof(TanevResource.Naptipus), typeof(TanevResource))]
[KretaDisplayName(671)]
public string NapTipusNev { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 03, nameof(TanevResource.OrarendiNap), typeof(TanevResource))]
[KretaDisplayName(672)]
public string IsOrarendiNapText { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 04, nameof(TanevResource.ElteroOrarendSzerintiNap), typeof(TanevResource))]
[Display(Name = nameof(IntezmenyResource.ElteroOrarendSzerintiNap), ResourceType = typeof(IntezmenyResource))]
public string NapNev { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 05, nameof(TanevResource.OrarendiNapHetirendje), typeof(TanevResource))]
[KretaDisplayName(265)]
public string HetirendNev { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 06, nameof(TanevResource.Megjegyzes), typeof(TanevResource))]
[KretaDisplayName(97)]
public string Megjegyzes { get; set; }
[SimpleExportColumn(TanevRendjeExportAttributeId, 07, nameof(TanevResource.ErintettOsztalyCsoport), typeof(TanevResource))]
[Display(Name = nameof(IntezmenyResource.ErintettOsztalyCsoport), ResourceType = typeof(IntezmenyResource))]
public string ErintettOsztalyCsoportText { get; set; }
}
}

View File

@@ -0,0 +1,31 @@
using Kreta.BusinessLogic.Interfaces;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeImportGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(450)]
public string TanevNeve { get; set; }
[KretaDisplayName(273)]
public string Datum { get; set; }
[KretaDisplayName(671)]
public string NapTipNev { get; set; }
[KretaDisplayName(672)]
public string OrarendiNap { get; set; }
[KretaDisplayName(678)]
public string NapNev { get; set; }
[KretaDisplayName(265)]
public string HetirendNev { get; set; }
[KretaDisplayName(97)]
public string Megjegyzes { get; set; }
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeIndexModel
{
public List<int> HetirendList { get; set; }
public string DefaultHetirendValue { get; set; }
public string DefaultCsengetesiRendValue { get; set; }
public DateTime TanevKezdoNap { get; set; }
public DateTime TanevUtolsoNap { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeInfoModel
{
[KretaDisplayName(450)]
public string TanevNeve { get; set; }
[KretaDisplayName(273)]
public string Datum { get; set; }
[KretaDisplayName(671)]
public string NapTipusa { get; set; }
[Display(Name = nameof(IntezmenyResource.ElteroOrarendSzerintiNap), ResourceType = typeof(IntezmenyResource))]
public string Nap { get; set; }
[KretaDisplayName(265)]
public string Hetirend { get; set; }
[Display(Name = nameof(IntezmenyResource.ErintettOsztalyCsoport), ResourceType = typeof(IntezmenyResource))]
public string Csoportok { get; set; }
[KretaDisplayName(14)]
public string CsengetesiRend { get; set; }
[KretaDisplayName(97)]
public string Megjegyzes { get; set; }
[Display(Name = nameof(IntezmenyResource.UresOrarend), ResourceType = typeof(IntezmenyResource))]
public bool UresOrarend { get; set; }
[Display(Name = nameof(IntezmenyResource.ElteroOrarendSzerintiTanitasNapDatum), ResourceType = typeof(IntezmenyResource))]
public string ElteroOrarendSzerintiTanitasNapDatum { get; set; }
}
}

View File

@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeModel
{
public TanevRendjeModel()
{
SelectedOsztalyCsoportIdList = new List<int>();
ModifiedOsztalyCsoportList = new Dictionary<int, bool>();
NapTipusaList = new List<SelectListItem>();
CsengetesiRendList = new List<SelectListItem>();
}
public int? TanevRendjeId { get; set; }
public DateTime TanevKezdoNap { get; set; }
public DateTime TanevUtolsoNap { get; set; }
[KretaDisplayName(273)]
[KretaRequired(StringResourcesId = 2389)] //Dátum megadása kötelező!
[DateRange(ErrorMessageResourceName = nameof(ErrorResource.ATanevRendDatumaNemErvenyes), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? Datum { get; set; }
[KretaDisplayName(671)]
[KretaRequired(StringResourcesId = 2387)] //Naptípus kiválasztása kötelező!
public int? NapTipusa { get; set; }
[KretaDisplayName(678)]
public int? Nap { get; set; }
[KretaDisplayName(265)]
public int? Hetirend { get; set; }
[KretaDisplayName(679)]
public bool OsszesCsop { get; set; }
[KretaDisplayName(14)]
public int? CsengetesiRend { get; set; }
[KretaDisplayName(97)]
[KretaStringLength(255, ErrorMessageResourceName = nameof(IntezmenyResource.MegjegyzesMax), ErrorMessageResourceType = typeof(IntezmenyResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(IntezmenyResource.UresOrarend), ResourceType = typeof(IntezmenyResource))]
public bool UresOrarend { get; set; }
[Display(Name = nameof(IntezmenyResource.OrarendiNap), ResourceType = typeof(IntezmenyResource))]
public bool OrarendiNap { get; set; }
[KretaRequired(ErrorMessageResourceName = nameof(ErrorResource.AzElteroOrarendSzerintiNapDatumKotelezo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(IntezmenyResource.ElteroOrarendSzerintiNapDatum), ResourceType = typeof(IntezmenyResource))]
public DateTime? ElteroOrarendSzerintiTanitasNapDatum { get; set; }
public List<int> SelectedOsztalyCsoportIdList { get; set; }
public Dictionary<int, bool> ModifiedOsztalyCsoportList { get; set; }
public List<SelectListItem> NapTipusaList { get; set; }
public List<SelectListItem> CsengetesiRendList { get; set; }
public bool IsElteroNapModosithato { get; set; }
[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(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public int? MukodesiHelyId { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevRendjeOsztalyCsoportGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(450)]
public string TanevNeve { get; set; }
[KretaDisplayName(2475)]
public string OsztCsopNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztCsop { get; set; }
[KretaDisplayName(26)]
public bool Hozzarendelve { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TanevrendDeleteModel
{
public int TanevrendjeId { get; set; }
public bool EgyediRogzitesTorles { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremBerbeadasIdopontModel : IKretaIdentity
{
public string ID { get; set; }
public int TeremElerhetosegId { get; set; }
[Display(Name = nameof(IntezmenyResource.AHetNapja), ResourceType = typeof(IntezmenyResource))]
public string C_HETNAPJA_DNAME { get; set; }
[Display(Name = nameof(IntezmenyResource.tol), ResourceType = typeof(IntezmenyResource))]
public string Kezdete { get; set; }
[Display(Name = nameof(IntezmenyResource.ig), ResourceType = typeof(IntezmenyResource))]
public string Vege { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremBerbeadhatoStatuszValtozasModel
{
public string KretaIntezmenyAzonosito => ClaimData.IntezmenyAzonosito;
public List<string> Varosok { get; set; }
public DateTime ModositasIdopontja => DateTime.Now;
}
}

View File

@@ -0,0 +1,20 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremEszkozGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(IntezmenyResource.EszkozNeve), ResourceType = typeof(IntezmenyResource))]
public string Nev { get; set; }
[Display(Name = nameof(IntezmenyResource.Tipus), ResourceType = typeof(IntezmenyResource))]
public string TipusId_DNAME { get; set; } //TeremTipusEnums
[Display(Name = nameof(IntezmenyResource.Darabszam), ResourceType = typeof(IntezmenyResource))]
public int Darabszam { get; set; }
}
}

View File

@@ -0,0 +1,75 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremGridModel : IKretaIdentity
{
public const string TeremExportAttributeId = nameof(TeremExportAttributeId);
public const string HelyszinExportAttributeId = nameof(HelyszinExportAttributeId);
public TeremGridModel() { }
public TeremGridModel(TeremItemCo itemCo)
{
ID = itemCo.Id.ToString();
Nev = itemCo.Nev;
JellegNev = itemCo.JellegNev;
MukodesihelyNev = itemCo.MukodesiHelyNev;
Terulet = itemCo.Terulet.HasValue ? itemCo.Terulet.Value.ToString() : string.Empty;
Kapacitas = itemCo.Kapacitas.HasValue ? itemCo.Kapacitas.Value.ToString() : string.Empty;
AktivNev = itemCo.IsAktivNev;
RogzitoId = itemCo.RogzitoId;
SzervezetNeve = itemCo.SzervezetNeve;
SzervezetAzonositoja = itemCo.SzervezetAzonositoja;
Megjegyzes = itemCo.Megjegyzes;
IsSzerkesztheto = itemCo.IsSzerkesztheto;
}
public string ID { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegNev), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 00, nameof(IntezmenyResource.HelyisegNev), typeof(IntezmenyResource))]
[SimpleExportColumn(HelyszinExportAttributeId, 00, nameof(IntezmenyResource.HelyisegNev), typeof(IntezmenyResource))]
public string Nev { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 01, nameof(IntezmenyResource.HelyisegJelleg), typeof(IntezmenyResource))]
public string JellegNev { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 02, nameof(IntezmenyResource.MukodesiHely), typeof(IntezmenyResource))]
public string MukodesihelyNev { get; set; }
[Display(Name = nameof(IntezmenyResource.Alapterulet_nm), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 03, nameof(IntezmenyResource.Alapterulet_nm), typeof(IntezmenyResource))]
public string Terulet { get; set; }
[Display(Name = nameof(IntezmenyResource.Befogadokepesseg), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 04, nameof(IntezmenyResource.Befogadokepesseg), typeof(IntezmenyResource))]
public string Kapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.Aktiv), ResourceType = typeof(IntezmenyResource))]
[SimpleExportColumn(TeremExportAttributeId, 05, nameof(IntezmenyResource.Aktiv), typeof(IntezmenyResource))]
[SimpleExportColumn(HelyszinExportAttributeId, 03, nameof(IntezmenyResource.Aktiv), typeof(IntezmenyResource))]
public string AktivNev { get; set; }
public int? RogzitoId { get; set; }
[Display(Name = nameof(TeremResource.SzervezetNeve), ResourceType = typeof(TeremResource))]
[SimpleExportColumn(HelyszinExportAttributeId, 01, nameof(TeremResource.SzervezetNeve), typeof(TeremResource))]
public string SzervezetNeve { get; set; }
[Display(Name = nameof(TeremResource.SzervezetAzonosito), ResourceType = typeof(TeremResource))]
[SimpleExportColumn(HelyszinExportAttributeId, 02, nameof(TeremResource.SzervezetAzonosito), typeof(TeremResource))]
public string SzervezetAzonositoja { get; set; }
[SimpleExportColumn(HelyszinExportAttributeId, 04, nameof(IntezmenyResource.Megjegyzes), typeof(IntezmenyResource))]
public string Megjegyzes { get; set; }
public bool IsSzerkesztheto { get; set; }
}
}

View File

@@ -0,0 +1,128 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremModModel
{
public int? TeremId { get; set; }
public string TeremIDArray { get; set; }
[Display(Name = nameof(IntezmenyResource.KivalasztottTermek), ResourceType = typeof(IntezmenyResource))]
public string TeremNevArray { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegNev), ResourceType = typeof(IntezmenyResource))]
public string Nev { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
public int? Jelleg { get; set; } //TeremTipusEnum
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
public string JellegNev { get { return Jelleg.HasValue ? Jelleg.Value.GetDisplayName<TeremTipusEnum>(ClaimData.SelectedTanevID.Value) : ""; } }
[Display(Name = nameof(IntezmenyResource.Alapterulet_nm), ResourceType = typeof(IntezmenyResource))]
[Range(1, 9999, ErrorMessageResourceName = nameof(IntezmenyResource.Alapterulet1Tol9999), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? Terulet { get; set; }
[Display(Name = nameof(IntezmenyResource.Befogadokepesseg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.BefogadoKepessegeg0tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? Kapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.VizsgaBefogadokepesseg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.VizsgaBefogadoKepesseg0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? VizsgaKapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.Aktiv), ResourceType = typeof(IntezmenyResource))]
public int? Aktiv { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public int? MukodesiHelyID { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public string MukodesiHelyNev { get; set; }
[Display(Name = nameof(IntezmenyResource.Teremfelelos), ResourceType = typeof(IntezmenyResource))]
public int? Teremfelelos { get; set; }
[Display(Name = nameof(IntezmenyResource.Teremfelelos), ResourceType = typeof(IntezmenyResource))]
public string TeremfelelosNev { get; set; }
[Display(Name = nameof(IntezmenyResource.EgyszerreTobbOratLehetTartani), ResourceType = typeof(IntezmenyResource))]
public int? TobbOratLehetTartani { get; set; }
[Display(Name = nameof(IntezmenyResource.WifiElerheto), ResourceType = typeof(IntezmenyResource))]
public int? WifiLefedett { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInternetkapcsolatElerheto), ResourceType = typeof(IntezmenyResource))]
public int? InternetkapcsolatElerheto { get; set; }
[Display(Name = nameof(IntezmenyResource.TanulokSzamaraHozzaferhInternetesgep), ResourceType = typeof(IntezmenyResource))]
public int? TanulokSzamaraHozzaferhInternetesgep { get; set; }
[Display(Name = nameof(IntezmenyResource.PedagogusHozzaferhInternetesgep), ResourceType = typeof(IntezmenyResource))]
public int? PedagogusHozzaferhInternetesgep { get; set; }
[Display(Name = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzama), ResourceType = typeof(IntezmenyResource))]
public int? OktCelraHasznaltSzamitogepekSzama { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInterakttablavalMunkaallomassalFelszerelt), ResourceType = typeof(IntezmenyResource))]
public int? InterakttablavalMunkaallomassalFelszerelt { get; set; }
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? ModSzervezetId { get; set; } = null;
public bool IsFromSzervezet { get; set; }
public static TeremTobbesModCO ConvertModelToCO(TeremModModel teremModModel)
=> new TeremTobbesModCO()
{
ID = teremModModel.TeremId,
Jelleg = teremModModel.Jelleg,
Terulet = teremModModel.Terulet,
Kapacitas = teremModModel.Kapacitas,
Vizsgakapacitas = teremModModel.VizsgaKapacitas,
Aktiv = teremModModel.Aktiv,
MukodesiHelyID = teremModModel.MukodesiHelyID,
TeremFelelosID = teremModModel.Teremfelelos,
TobbOratLehetTartani = teremModModel.TobbOratLehetTartani,
WifiLefedett = teremModModel.WifiLefedett,
IsInternetkapcsolatElerheto = teremModModel.InternetkapcsolatElerheto,
TanulokSzamaraHozzaferhInternetesgep = teremModModel.TanulokSzamaraHozzaferhInternetesgep,
PedagogusHozzaferhInternetesgep = teremModModel.PedagogusHozzaferhInternetesgep,
OktCelraHasznaltSzamitogepekSzama = teremModModel.OktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = teremModModel.InterakttablavalMunkaallomassalFelszerelt,
SzervezetId = teremModModel.ModSzervezetId,
};
public static TeremModModel ConvertCOToModel(TeremCO teremCO)
=> new TeremModModel()
{
TeremId = teremCO.TeremId,
Aktiv = teremCO.Aktiv.ToNullableInt(),
Jelleg = teremCO.Jelleg,
Kapacitas = teremCO.Kapacitas,
MukodesiHelyID = teremCO.MukodesiHelyID,
MukodesiHelyNev = teremCO.MukodesiHelyNev,
Nev = teremCO.Nev,
Terulet = teremCO.Terulet,
TobbOratLehetTartani = teremCO.TobbOratLehetTartani.ToNullableInt(),
Teremfelelos = teremCO.TeremFelelosID,
TeremfelelosNev = teremCO.TeremFelelos,
VizsgaKapacitas = teremCO.Vizsgakapacitas,
WifiLefedett = teremCO.WifiLefedett.ToNullableInt(),
InternetkapcsolatElerheto = teremCO.IsInternetkapcsolatElerheto.ToNullableInt(),
TanulokSzamaraHozzaferhInternetesgep = teremCO.TanulokSzamaraHozzaferhInternetesgep,
PedagogusHozzaferhInternetesgep = teremCO.PedagogusHozzaferhInternetesgep,
OktCelraHasznaltSzamitogepekSzama = teremCO.OktCelraHasznaltSzamitogepekSzama,
InterakttablavalMunkaallomassalFelszerelt = teremCO.IsInterakttablavalMunkaallomassalFelszerelt.ToNullableInt(),
ModSzervezetId = teremCO.SzervezetId,
};
}
}

View File

@@ -0,0 +1,502 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Net;
using System.Text.RegularExpressions;
using System.Web.Http.ModelBinding;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremModel : TabStripModel
{
public TeremModel()
{
TeremAlapadatokModel = new TeremAlapadatokModel();
TeremBerbeadasModel = new TeremBerbeadasModel();
}
public int? TeremId { get; set; }
public TeremAlapadatokModel TeremAlapadatokModel { get; set; }
public TeremBerbeadasModel TeremBerbeadasModel { get; set; }
public static TeremCO ConvertModelToCO(TeremModel teremModel)
{
var teremCo = new TeremCO()
{
Aktiv = teremModel.TeremAlapadatokModel.Aktiv,
TeremId = teremModel.TeremId,
Jelleg = teremModel.TeremAlapadatokModel.IsFromSzervezet ? (int)TeremTipusEnum.dualis_helyszin : teremModel.TeremAlapadatokModel.Jelleg,
Kapacitas = teremModel.TeremAlapadatokModel.Kapacitas,
MukodesiHelyID = teremModel.TeremAlapadatokModel.MukodesiHelyID,
MukodesiHelyNev = teremModel.TeremAlapadatokModel.MukodesiHelyNev,
Nev = teremModel.TeremAlapadatokModel.Nev,
Terulet = teremModel.TeremAlapadatokModel.Terulet,
TobbOratLehetTartani = teremModel.TeremAlapadatokModel.TobbOratLehetTartani,
TeremFelelosID = teremModel.TeremAlapadatokModel.Teremfelelos,
Vizsgakapacitas = teremModel.TeremAlapadatokModel.VizsgaKapacitas,
WifiLefedett = teremModel.TeremAlapadatokModel.WifiLefedett,
Megjegyzes = teremModel.TeremAlapadatokModel.Megjegyzes,
IsInternetkapcsolatElerheto = teremModel.TeremAlapadatokModel.IsInternetkapcsolatElerheto,
TanulokSzamaraHozzaferhInternetesgep = teremModel.TeremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep,
PedagogusHozzaferhInternetesgep = teremModel.TeremAlapadatokModel.PedagogusHozzaferhInternetesgep,
OktCelraHasznaltSzamitogepekSzama = teremModel.TeremAlapadatokModel.OktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = teremModel.TeremAlapadatokModel.IsInterakttablavalMunkaallomassalFelszerelt,
Berbeadhato = teremModel.TeremBerbeadasModel.Berbeadhato,
Ar = teremModel.TeremBerbeadasModel.Ar,
Leiras = teremModel.TeremBerbeadasModel.Leiras,
FoglalhatoIdoszakKezdete = teremModel.TeremBerbeadasModel.FoglalhatoIdoszakKezdete,
FoglalhatoIdoszakVege = teremModel.TeremBerbeadasModel.FoglalhatoIdoszakVege,
TulajdonTipusaId = teremModel.TeremBerbeadasModel.TulajdonTipusaId,
EmeltAr = teremModel.TeremBerbeadasModel.EmeltAr,
EmeltIdoszakKezdete = teremModel.TeremBerbeadasModel.EmeltIdoszakKezdete,
SzervezetId = teremModel.TeremAlapadatokModel.SzervezetId,
};
if (teremModel.TeremBerbeadasModel.TeremBerbeadasIdopontokListModel != null && teremModel.TeremBerbeadasModel.TeremBerbeadasIdopontokListModel.Count > 0)
{
teremCo.TeremBerbeadasIdopontokCOList = TeremBerbeadasIdopontokModel.ConvertModelToCO(teremModel.TeremBerbeadasModel.TeremBerbeadasIdopontokListModel);
}
return teremCo;
}
public static TeremModel ConvertCoToModel(TeremCO teremCO)
=> new TeremModel()
{
TeremId = teremCO.TeremId,
TeremAlapadatokModel = new TeremAlapadatokModel
{
Aktiv = teremCO.Aktiv,
Jelleg = teremCO.Jelleg,
Kapacitas = teremCO.Kapacitas,
MukodesiHelyID = teremCO.MukodesiHelyID,
MukodesiHelyNev = teremCO.MukodesiHelyNev,
Nev = teremCO.Nev,
Terulet = teremCO.Terulet,
TobbOratLehetTartani = teremCO.TobbOratLehetTartani,
Teremfelelos = teremCO.TeremFelelosID,
TeremfelelosNev = teremCO.TeremFelelos,
VizsgaKapacitas = teremCO.Vizsgakapacitas,
WifiLefedett = teremCO.WifiLefedett,
Megjegyzes = teremCO.Megjegyzes,
IsInternetkapcsolatElerheto = teremCO.IsInternetkapcsolatElerheto,
TanulokSzamaraHozzaferhInternetesgep = teremCO.TanulokSzamaraHozzaferhInternetesgep,
PedagogusHozzaferhInternetesgep = teremCO.PedagogusHozzaferhInternetesgep,
OktCelraHasznaltSzamitogepekSzama = teremCO.OktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = teremCO.IsInterakttablavalMunkaallomassalFelszerelt,
SzervezetId = teremCO.SzervezetId,
},
TeremBerbeadasModel = TeremBerbeadasModel.ConvertCoToModel(teremCO),
};
public static void ValidateModel(TeremModel teremModel, List<string> kapcsolodoOraTipusok, ModelStateDictionary modelState)
{
if (!teremModel.TeremAlapadatokModel.IsFromSzervezet)
{
TeremAlapadatokModel.ValidateModel(teremModel.TeremAlapadatokModel, modelState);
}
if (!teremModel.TeremAlapadatokModel.Aktiv && kapcsolodoOraTipusok.Any())
{
modelState.AddModelError("TeremAlapadatokModel.Aktiv", $"{ErrorResource.AzAlabbiKapcsolodasokMiattATeremInaktivvaTeteleNemLehetseges}{(string.Join(", ", kapcsolodoOraTipusok))}");
}
if (teremModel.TeremBerbeadasModel.Berbeadhato)
{
if (!teremModel.TeremAlapadatokModel.Terulet.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel.Terulet", ErrorResource.AlapteruletMegadasaKotelezoHaATeremBerbeadhato);
}
if (!ClaimData.IsSelectedTanev21_22OrLater || !ClaimData.IsSzakkepzoIntezmeny)
{
if (!teremModel.TeremAlapadatokModel.Kapacitas.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel.Kapacitas", ErrorResource.BefogadokepessegMegadasaKotelezoHaATeremBerbeadhatoas);
}
}
TeremBerbeadasModel.ValidateModel(teremModel.TeremBerbeadasModel, modelState);
}
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
if (teremModel.TeremAlapadatokModel.IsFromSzervezet)
{
if (!teremModel.TeremAlapadatokModel.SzervezetId.IsEntityId())
{
modelState.AddModelError("TeremAlapadatokModel_SzervezetId", ErrorResource.SzervezetKivalasztasaKotelezo);
}
}
}
if (!teremModel.TeremAlapadatokModel.IsFromSzervezet)
{
if (!teremModel.TeremAlapadatokModel.MukodesiHelyID.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel_MukodesiHelyID", IntezmenyResource.MukodesiHelyMegadasaKotelezo);
}
}
}
}
public class TeremAlapadatokModel
{
public TeremAlapadatokModel()
{
Aktiv = true;
TobbOratLehetTartani = false;
}
[Display(Name = nameof(IntezmenyResource.HelyisegNev), ResourceType = typeof(IntezmenyResource))]
[Required(ErrorMessageResourceName = nameof(IntezmenyResource.HelyisegNevMegadasaKotelezo), ErrorMessageResourceType = typeof(IntezmenyResource))]
[StringLength(maximumLength: 255, ErrorMessageResourceName = nameof(ErrorResource.Max255Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Nev { get; set; }
[KretaRequiredIf("IsFromSzervezet", false, ErrorMessageResourceName = nameof(IntezmenyResource.JellegMegadasaKotelezo), ErrorMessageResourceType = typeof(IntezmenyResource))]
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
public int? Jelleg { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
public string JellegNev { get { return Jelleg.HasValue ? Jelleg.Value.GetDisplayName<TeremTipusEnum>(ClaimData.SelectedTanevID.Value) : ""; } }
[Display(Name = nameof(IntezmenyResource.Alapterulet_nm), ResourceType = typeof(IntezmenyResource))]
[Range(1, 9999, ErrorMessageResourceName = nameof(IntezmenyResource.Alapterulet1Tol9999), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? Terulet { get; set; }
[Display(Name = nameof(IntezmenyResource.Befogadokepesseg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.BefogadoKepessegeg0tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? Kapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.VizsgaBefogadokepesseg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.VizsgaBefogadoKepesseg0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? VizsgaKapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.Aktiv), ResourceType = typeof(IntezmenyResource))]
public bool Aktiv { get; set; }
[Display(Name = nameof(IntezmenyResource.Aktiv), ResourceType = typeof(IntezmenyResource))]
public string AktivSzoveg { get { return Aktiv ? CommonResource.Igen : CommonResource.Nem; } }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public int? MukodesiHelyID { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public string MukodesiHelyNev { get; set; }
[Display(Name = nameof(IntezmenyResource.Teremfelelos), ResourceType = typeof(IntezmenyResource))]
public int? Teremfelelos { get; set; }
[Display(Name = nameof(IntezmenyResource.Teremfelelos), ResourceType = typeof(IntezmenyResource))]
public string TeremfelelosNev { get; set; }
[Display(Name = nameof(IntezmenyResource.EgyszerreTobbOratLehetTartani), ResourceType = typeof(IntezmenyResource))]
public bool TobbOratLehetTartani { get; set; }
[Display(Name = nameof(IntezmenyResource.EgyszerreTobbOratLehetTartani), ResourceType = typeof(IntezmenyResource))]
public string TobbOratLehetTartaniSzoveg { get { return TobbOratLehetTartani ? CommonResource.Igen : CommonResource.Nem; } }
[Display(Name = nameof(IntezmenyResource.WifiElerheto), ResourceType = typeof(IntezmenyResource))]
public bool WifiLefedett { get; set; }
[Display(Name = nameof(IntezmenyResource.WifiElerheto), ResourceType = typeof(IntezmenyResource))]
public string WifiLefedettSzoveg { get { return WifiLefedett ? CommonResource.Igen : CommonResource.Nem; } }
[Display(Name = nameof(IntezmenyResource.IsInternetkapcsolatElerheto), ResourceType = typeof(IntezmenyResource))]
public bool IsInternetkapcsolatElerheto { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInternetkapcsolatElerheto), ResourceType = typeof(IntezmenyResource))]
public string IsInternetkapcsolatElerhetoSzoveg { get { return IsInternetkapcsolatElerheto ? CommonResource.Igen : CommonResource.Nem; } }
[Display(Name = nameof(IntezmenyResource.TanulokSzamaraHozzaferhInternetesgep), ResourceType = typeof(IntezmenyResource))]
public int? TanulokSzamaraHozzaferhInternetesgep { get; set; }
[Display(Name = nameof(IntezmenyResource.PedagogusHozzaferhInternetesgep), ResourceType = typeof(IntezmenyResource))]
public int? PedagogusHozzaferhInternetesgep { get; set; }
[Display(Name = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzama), ResourceType = typeof(IntezmenyResource))]
public int? OktCelraHasznaltSzamitogepekSzama { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInterakttablavalMunkaallomassalFelszerelt), ResourceType = typeof(IntezmenyResource))]
public bool IsInterakttablavalMunkaallomassalFelszerelt { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInterakttablavalMunkaallomassalFelszerelt), ResourceType = typeof(IntezmenyResource))]
public string IsInterakttablavalMunkaallomassalFelszereltSzoveg { get { return IsInterakttablavalMunkaallomassalFelszerelt ? CommonResource.Igen : CommonResource.Nem; } }
[Display(Name = nameof(IntezmenyResource.Megjegyzes), ResourceType = typeof(IntezmenyResource))]
[StringLength(maximumLength: 500, ErrorMessageResourceName = nameof(ErrorResource.Max500Karakter), ErrorMessageResourceType = typeof(ErrorResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(SzervezetResource.Szervezet), ResourceType = typeof(SzervezetResource))]
public int? SzervezetId { get; set; }
public bool IsFromSzervezet { get; set; }
public static void ValidateModel(TeremAlapadatokModel teremAlapadatokModel, ModelStateDictionary modelState)
{
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
if (!teremAlapadatokModel.Kapacitas.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel.Kapacitas", ErrorResource.BefogadokepessegMegadasaKotelezo);
}
if (teremAlapadatokModel.IsInternetkapcsolatElerheto)
{
if (!teremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep", IntezmenyResource.TanulokSzamaraHozzaferhInternetesgepKotelezo);
}
if (!teremAlapadatokModel.PedagogusHozzaferhInternetesgep.HasValue)
{
modelState.AddModelError("TeremAlapadatokModel.PedagogusHozzaferhInternetesgep", IntezmenyResource.PedagogusHozzaferhInternetesgepKotelezo);
}
}
}
else
{
if (teremAlapadatokModel.Kapacitas.HasValue && teremAlapadatokModel.Kapacitas < 1)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.ATeremKapacitasaNemLehetKisebbMintEgy);
}
}
if (teremAlapadatokModel.VizsgaKapacitas > teremAlapadatokModel.Kapacitas)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AVizsgaBefogadokepessegNemLehetNagyobbMintABefogadokepesseg);
}
}
}
public class UploadedFile
{
public string ContentAsBase64EncodedString { get; set; }
public string Name { get; set; }
}
public class TeremBerbeadasModel
{
[Display(Name = nameof(IntezmenyResource.Berbeadhato), ResourceType = typeof(IntezmenyResource))]
public bool Berbeadhato { get; set; }
[Display(Name = nameof(IntezmenyResource.Berbeadhato), ResourceType = typeof(IntezmenyResource))]
public string BerbeadhatoSzoveg => Berbeadhato.GetDisplayName();
[Display(Name = nameof(IntezmenyResource.Ar), ResourceType = typeof(IntezmenyResource))]
public int? Ar { get; set; }
[Display(Name = nameof(IntezmenyResource.Leiras), ResourceType = typeof(IntezmenyResource))]
[MaxLength(2000, ErrorMessageResourceName = nameof(ErrorResource.ALeirasSzovegeNemLehet2000KarakternelHosszabb), ErrorMessageResourceType = typeof(ErrorResource))]
public string Leiras { get; set; }
public int? PictureId { get; set; }
public List<UploadedFile> PictureList { get; set; }
public int? DocumentId { get; set; }
public List<UploadedFile> Document { get; set; }
[Display(Name = nameof(IntezmenyResource.FoglalhatoIdoszakKezdete), ResourceType = typeof(IntezmenyResource))]
public DateTime? FoglalhatoIdoszakKezdete { get; set; }
[Display(Name = nameof(IntezmenyResource.FoglalhatoIdoszakKezdete), ResourceType = typeof(IntezmenyResource))]
public string FoglalhatoIdoszakKezdete_Text => FoglalhatoIdoszakKezdete.HasValue ? SDAFormat.GetShortDateFormat(FoglalhatoIdoszakKezdete.Value) : "-";
[Display(Name = nameof(IntezmenyResource.FoglalhatoIdoszakVege), ResourceType = typeof(IntezmenyResource))]
public DateTime? FoglalhatoIdoszakVege { get; set; }
[Display(Name = nameof(IntezmenyResource.FoglalhatoIdoszakVege), ResourceType = typeof(IntezmenyResource))]
public string FoglalhatoIdoszakVege_Text => FoglalhatoIdoszakVege.HasValue ? SDAFormat.GetShortDateFormat(FoglalhatoIdoszakVege.Value) : "-";
public List<TeremBerbeadasIdopontokModel> TeremBerbeadasIdopontokListModel { get; set; }
[Display(Name = nameof(IntezmenyResource.TulajdonTipusa), ResourceType = typeof(IntezmenyResource))]
public int? TulajdonTipusaId { get; set; }
[Display(Name = nameof(IntezmenyResource.EmeltAr), ResourceType = typeof(IntezmenyResource))]
public int? EmeltAr { get; set; }
[Display(Name = nameof(IntezmenyResource.EmeltIdoszakKezdete), ResourceType = typeof(IntezmenyResource))]
public DateTime? EmeltIdoszakKezdete { get; set; }
[Display(Name = nameof(IntezmenyResource.EmeltIdoszakKezdete), ResourceType = typeof(IntezmenyResource))]
public string EmeltIdoszakKezdete_Text => EmeltIdoszakKezdete.HasValue ? SDAFormat.GetShortTimeFormat(EmeltIdoszakKezdete.Value) : "-";
public static void ValidateModel(TeremBerbeadasModel teremBerbeadasModel, ModelStateDictionary modelState)
{
if (!teremBerbeadasModel.Ar.HasValue)
{
modelState.AddModelError("ArError", ErrorResource.AzArMegadasaKotelezo);
}
else if (teremBerbeadasModel.Ar.Value <= 0)
{
modelState.AddModelError("ArNumberError", ErrorResource.ABerbeadasiListaarNagyobbKellLegyenMint0Ft);
}
if (!teremBerbeadasModel.TulajdonTipusaId.HasValue)
{
modelState.AddModelError("TulajdonTipusaIdError", ErrorResource.TulajdonTipusaKotelezo);
}
if (teremBerbeadasModel.EmeltIdoszakKezdete.HasValue)
{
if (!teremBerbeadasModel.EmeltAr.HasValue)
{
modelState.AddModelError("EmeltArError", ErrorResource.AzEmeltArMegadasaKotelezo);
}
else if (teremBerbeadasModel.EmeltAr.Value <= 0)
{
modelState.AddModelError("EmeltArNumberError", ErrorResource.ABerbeadasiEmeltArNagyobbKellLegyenMint0Ft);
}
}
if (teremBerbeadasModel.EmeltAr.HasValue)
{
if (!teremBerbeadasModel.EmeltIdoszakKezdete.HasValue)
{
modelState.AddModelError("EmeltIdoszakKezdeteError", ErrorResource.AzEmeltIdoszakKezdeteMegadasaKotelezo);
}
}
if (string.IsNullOrWhiteSpace(teremBerbeadasModel.Leiras))
{
modelState.AddModelError("LeirasError", ErrorResource.LeirasMegadasaKotelezo);
}
if (!(teremBerbeadasModel.PictureList?.Count > 0) && !teremBerbeadasModel.PictureId.HasValue)
{
modelState.AddModelError("FotoError", ErrorResource.KepFeltolteseKotelezo);
}
if (!teremBerbeadasModel.FoglalhatoIdoszakKezdete.HasValue)
{
modelState.AddModelError("FoglalhatoIdoszakKezdeteNagyobbError", ErrorResource.AFoglalhatoIdoszakKezdetetKotelezoMegadni);
}
else
{
if (teremBerbeadasModel.FoglalhatoIdoszakKezdete.Value < new DateTime(2021, 1, 1))
{
modelState.AddModelError("FoglalhatoIdoszakKezdeteError", ErrorResource.FoglalhatosagKezdeteNemLehetElobbMint20210101);
}
}
if (teremBerbeadasModel.FoglalhatoIdoszakVege.HasValue)
{
if (teremBerbeadasModel.FoglalhatoIdoszakKezdete > teremBerbeadasModel.FoglalhatoIdoszakVege)
{
modelState.AddModelError("FoglalhatoIdoszakKezdeteNagyobbError", ErrorResource.AFoglalhatoIdoszakKezdeteNemLehetNagyobbMintAVege);
}
if (teremBerbeadasModel.FoglalhatoIdoszakVege.Value < new DateTime(2021, 1, 1))
{
modelState.AddModelError("FoglalhatoIdoszakVegeError", ErrorResource.FoglalhatosagVegeNemLehetElobbMint20210101);
}
}
if (teremBerbeadasModel.TeremBerbeadasIdopontokListModel != null && teremBerbeadasModel.TeremBerbeadasIdopontokListModel.Count > 0)
{
TeremBerbeadasIdopontokModel.ValidateModel(teremBerbeadasModel.TeremBerbeadasIdopontokListModel, modelState);
}
else
{
modelState.AddModelError("LegalabbEgyIdointervallumotKotelezoValasztani", ErrorResource.LegalabbEgyIdointervallumotKotelezoValasztani);
}
}
public static TeremBerbeadasModel ConvertCoToModel(TeremCO teremCO)
{
var teremBerbeadasModel = new TeremBerbeadasModel()
{
Berbeadhato = teremCO.Berbeadhato,
Ar = teremCO.Ar,
Leiras = teremCO.Leiras,
FoglalhatoIdoszakKezdete = teremCO.FoglalhatoIdoszakKezdete,
FoglalhatoIdoszakVege = teremCO.FoglalhatoIdoszakVege,
DocumentId = teremCO.DokumentumId,
PictureId = teremCO.KepId,
TulajdonTipusaId = teremCO.TulajdonTipusaId.HasValue ? teremCO.TulajdonTipusaId : (int)TulajdonTipusEnum.allami_tulajdonban_levo_ingatlan,
EmeltAr = teremCO.EmeltAr,
EmeltIdoszakKezdete = teremCO.EmeltIdoszakKezdete
};
return teremBerbeadasModel;
}
}
public class TeremBerbeadasIdopontokModel
{
public int HetNapjaId { get; set; }
public int? TeremElerhetosegId { get; set; }
public string Kezdete { get; set; }
public string Vege { get; set; }
public static void ValidateModel(List<TeremBerbeadasIdopontokModel> teremBerbeadasIdopontokModelList, ModelStateDictionary modelState)
{
foreach (var item in teremBerbeadasIdopontokModelList)
{
var regex = new Regex(Core.Constants.RegularExpressions.TimePicker);
if (string.IsNullOrWhiteSpace(item.Kezdete) || string.IsNullOrWhiteSpace(item.Vege) || !regex.IsMatch(item.Kezdete) || !regex.IsMatch(item.Vege))
{
modelState.AddModelError("TeremBerbeadasIdopontokFormatKotelezoError", ErrorResource.HibasFormatumAzOrakKezdetetEsVegetOoppAlakbanKellMegadni);
break;
}
string[] oraPerc = item.Kezdete.Split(':');
var kezdete = DateTime.Today.AddHours(Convert.ToInt32(oraPerc[0])).AddMinutes(Convert.ToInt32(oraPerc[1]));
oraPerc = item.Vege.Split(':');
var vege = DateTime.Today.AddHours(Convert.ToInt32(oraPerc[0])).AddMinutes(Convert.ToInt32(oraPerc[1]));
if (kezdete > vege)
{
modelState.AddModelError("TeremBerbeadasIdopontokKesobbError", ErrorResource.ATeremBerbeadasIdopontjainakKezdeteNemLehetKesobbMintAVege);
break;
}
}
}
public static List<TeremBerbeadasIdopontokCO> ConvertModelToCO(List<TeremBerbeadasIdopontokModel> teremBerbeadasIdopontokModels)
{
var teremBerbeadasIdopontokCOList = new List<TeremBerbeadasIdopontokCO>();
teremBerbeadasIdopontokModels.ForEach(item =>
{
var teremBerbeadasIdopontokCO = new TeremBerbeadasIdopontokCO
{
TeremElerhetosegId = item.TeremElerhetosegId,
HetNapjaId = item.HetNapjaId
};
string[] oraPerc = item.Kezdete.Split(':');
teremBerbeadasIdopontokCO.Kezdete = DateTime.Today.AddHours(Convert.ToInt32(oraPerc[0])).AddMinutes(Convert.ToInt32(oraPerc[1]));
oraPerc = item.Vege.Split(':');
teremBerbeadasIdopontokCO.Vege = DateTime.Today.AddHours(Convert.ToInt32(oraPerc[0])).AddMinutes(Convert.ToInt32(oraPerc[1]));
teremBerbeadasIdopontokCOList.Add(teremBerbeadasIdopontokCO);
});
return teremBerbeadasIdopontokCOList;
}
}
}

View File

@@ -0,0 +1,157 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Intezmeny.Models
{
public class TeremSearchModel
{
[Display(Name = nameof(IntezmenyResource.HelyisegNev), ResourceType = typeof(IntezmenyResource))]
public string TeremNev { get; set; }
[Display(Name = nameof(IntezmenyResource.HelyisegJelleg), ResourceType = typeof(IntezmenyResource))]
public int? TeremJellegID { get; set; }
[Display(Name = nameof(IntezmenyResource.MukodesiHely), ResourceType = typeof(IntezmenyResource))]
public int? KeresesMukodesiHelyID { get; set; }
[Display(Name = nameof(IntezmenyResource.AlapteruletTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(1, 9999, ErrorMessageResourceName = nameof(IntezmenyResource.Alapterulet1Tol9999), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MinAlapterulet { get; set; }
[Display(Name = nameof(IntezmenyResource.AlapteruletTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(1, 9999, ErrorMessageResourceName = nameof(IntezmenyResource.Alapterulet1Tol9999), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MaxAlapterulet { get; set; }
[Display(Name = nameof(IntezmenyResource.BefogadoKepessegTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.BefogadoKepessegeg0tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MinKapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.BefogadoKepessegTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.BefogadoKepessegeg0tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MaxKapacitás { get; set; }
[Display(Name = nameof(IntezmenyResource.Aktiv), ResourceType = typeof(IntezmenyResource))]
public int? IsAktiv { get; set; }
[Display(Name = nameof(IntezmenyResource.Teremfelelos), ResourceType = typeof(IntezmenyResource))]
public int? TeremfelelosID { get; set; }
[Display(Name = nameof(IntezmenyResource.VizsgaBefogadoKepessegTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.VizsgaBefogadoKepesseg0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MinVizsgaKapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.VizsgaBefogadoKepessegTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.VizsgaBefogadoKepesseg0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MaxVizsgaKapacitas { get; set; }
[Display(Name = nameof(IntezmenyResource.EgyszerreTobbOratLehetTartani), ResourceType = typeof(IntezmenyResource))]
public int? IsTobbOraTarthato { get; set; }
[Display(Name = nameof(IntezmenyResource.WifiElerheto), ResourceType = typeof(IntezmenyResource))]
public int? IsWifiLefedett { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInternetkapcsolatElerheto), ResourceType = typeof(IntezmenyResource))]
public int? IsInternetkapcsolatElerheto { get; set; }
[Display(Name = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzamaTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzama0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MinOktCelraHasznaltSzamitogepekSzama { get; set; }
[Display(Name = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzamaTolIg), ResourceType = typeof(IntezmenyResource))]
[Range(0, 5000, ErrorMessageResourceName = nameof(IntezmenyResource.OktCelraHasznaltSzamitogepekSzama0Tol5000), ErrorMessageResourceType = typeof(IntezmenyResource))]
public int? MaxOktCelraHasznaltSzamitogepekSzama { get; set; }
[Display(Name = nameof(IntezmenyResource.IsInterakttablavalMunkaallomassalFelszerelt), ResourceType = typeof(IntezmenyResource))]
public int? IsInterakttablavalMunkaallomassalFelszerelt { get; set; }
public int? SzervezetId { get; set; }
public bool IsFromSzervezet { get; set; } = false;
[Display(Name = nameof(TeremResource.SzervezetNeve), ResourceType = typeof(TeremResource))]
public string SzervezetNev { get; set; }
[Display(Name = nameof(TeremResource.SzervezetAzonosito), ResourceType = typeof(TeremResource))]
public string SzervezetAzonosito { get; set; }
public string ControllerName { get; set; } = Constants.Controllers.Terem;
public string ApiControllerName { get; set; } = Constants.ApiControllers.TeremApi;
public static TeremSearchCO ConvertModelSearchToCO(TeremSearchModel teremSearchModel)
=> new TeremSearchCO()
{
TeremNev = teremSearchModel.TeremNev,
TeremJellegId = teremSearchModel.TeremJellegID,
KeresesMukodesiHelyID = teremSearchModel.KeresesMukodesiHelyID,
MinAlapterulet = teremSearchModel.MinAlapterulet,
MaxAlapterulet = teremSearchModel.MaxAlapterulet,
MinKapacitas = teremSearchModel.MinKapacitas,
MaxKapacitas = teremSearchModel.MaxKapacitás,
IsAktiv = teremSearchModel.IsAktiv,
TeremFelelosId = teremSearchModel.TeremfelelosID,
MinVizsgaKapacitas = teremSearchModel.MinVizsgaKapacitas,
MaxVizsgaKapacitas = teremSearchModel.MaxVizsgaKapacitas,
IsTobbOraTarthato = teremSearchModel.IsTobbOraTarthato,
IsWifiLefedett = teremSearchModel.IsWifiLefedett,
IsInternetkapcsolatElerheto = teremSearchModel.IsInternetkapcsolatElerheto,
MinOktCelraHasznaltSzamitogepekSzama = teremSearchModel.MinOktCelraHasznaltSzamitogepekSzama,
MaxOktCelraHasznaltSzamitogepekSzama = teremSearchModel.MaxOktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = teremSearchModel.IsInterakttablavalMunkaallomassalFelszerelt,
SzervezetId = teremSearchModel.SzervezetId,
SzervezetNev = teremSearchModel.SzervezetNev,
SzervezetAzonosito = teremSearchModel.SzervezetAzonosito,
};
public static TeremExportSearchCO ConvertModelToExportSearchCO(TeremSearchModel teremSearchModel)
=> new TeremExportSearchCO()
{
TeremNev = teremSearchModel.TeremNev,
TeremJellegID = teremSearchModel.TeremJellegID,
KeresesMukodesiHelyID = teremSearchModel.KeresesMukodesiHelyID,
MinAlapterulet = teremSearchModel.MinAlapterulet,
MaxAlapterulet = teremSearchModel.MaxAlapterulet,
MinKapacitas = teremSearchModel.MinKapacitas,
MaxKapacitás = teremSearchModel.MaxKapacitás,
IsAktiv = teremSearchModel.IsAktiv,
TeremFelelosId = teremSearchModel.TeremfelelosID,
MinVizsgaKapacitas = teremSearchModel.MinVizsgaKapacitas,
MaxVizsgaKapacitas = teremSearchModel.MaxVizsgaKapacitas,
IsTobbOraTarthato = teremSearchModel.IsTobbOraTarthato,
IsWifiLefedett = teremSearchModel.IsWifiLefedett,
IsInternetkapcsolatElerheto = teremSearchModel.IsInternetkapcsolatElerheto,
MinOktCelraHasznaltSzamitogepekSzama = teremSearchModel.MinOktCelraHasznaltSzamitogepekSzama,
MaxOktCelraHasznaltSzamitogepekSzama = teremSearchModel.MaxOktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = teremSearchModel.IsInterakttablavalMunkaallomassalFelszerelt
};
public TeremSearchCO ConvertToCo()
{
return new TeremSearchCO()
{
TeremNev = this.TeremNev,
TeremJellegId = this.TeremJellegID,
KeresesMukodesiHelyID = this.KeresesMukodesiHelyID,
MinAlapterulet = this.MinAlapterulet,
MaxAlapterulet = this.MaxAlapterulet,
MinKapacitas = this.MinKapacitas,
MaxKapacitas = this.MaxKapacitás,
IsAktiv = this.IsAktiv,
TeremFelelosId = this.TeremfelelosID,
MinVizsgaKapacitas = this.MinVizsgaKapacitas,
MaxVizsgaKapacitas = this.MaxVizsgaKapacitas,
IsTobbOraTarthato = this.IsTobbOraTarthato,
IsWifiLefedett = this.IsWifiLefedett,
IsInternetkapcsolatElerheto = this.IsInternetkapcsolatElerheto,
MinOktCelraHasznaltSzamitogepekSzama = this.MinOktCelraHasznaltSzamitogepekSzama,
MaxOktCelraHasznaltSzamitogepekSzama = this.MaxOktCelraHasznaltSzamitogepekSzama,
IsInterakttablavalMunkaallomassalFelszerelt = this.IsInterakttablavalMunkaallomassalFelszerelt,
SzervezetId = SzervezetId,
IsFromSzervezet = IsFromSzervezet,
SzervezetNev = SzervezetNev,
SzervezetAzonosito = SzervezetAzonosito,
};
}
}
}

View File

@@ -0,0 +1,6 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Intezmeny.Models
@model CsengetesiRendModel
@Html.KretaTabStripAjax("tabstrip", Model.TabList)

View File

@@ -0,0 +1,29 @@
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@model CsengetesiRendModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.Nev, 3, 3)
</div>
</div>
<div>
@(
Html.KretaGrid<CsengetesiRendOraGridModel>
(
"CengetesiRendOraGrid",
new GridApiUrl("CsengetesiRendApi", "GetCsengetesiRendOrai", new Dictionary<string, string> { { "csrendID", Model.ID.ToString() }, { "onlyReal", "true" } }),
showSorszam: false
)
.Columns(columns =>
{
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.Kezdete);
columns.Bound(c => c.Vege);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,25 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Framework
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Classes
@model CsengetesiRendModel
<div>
@(
Html.KretaGrid<CsengetesiRendTanevrendGridModel>
(
name: "CengetesiRendTanevrendGrid",
getUrl: new GridApiUrl("CsengetesiRendApi", "GetCsengetesiRendTanevrendAdatai", new Dictionary<string, string> { { "CsRendID", Model.ID.ToString() } })
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Width("20%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Nev);
columns.Bound(c => c.Tipus_DNAME);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,33 @@
@using Kreta.Resources;
@using Kreta.Web.Areas.Intezmeny.Models
@model CsengetesiRendTorlesModel
<div class="container-fluid details">
@using (Html.KretaForm("TorlendoCsengRendForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
<div class="CSREND">
<p>@CsengetesiRendResource.AktivCsengetesiRend
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendListForComboBox"} ), "Text", "Value", serverFilteringFrom: "ID").AutoBind(true).RenderWithName(3, 8)
</div>
}
</div>
<style type="text/css">
div.CSREND {
height: 5em;
position: relative;
}
div.CSREND p {
text-align: center;
margin: 5px auto;
line-height: 145%;
font-size: 10pt;
}
</style>

View File

@@ -0,0 +1,88 @@
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@model CsengetesiRendModel
<div class="container-fluid details">
@using (Html.KretaForm("CsengRendForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.Aktiv)
<div class="row">
@Html.KretaTextBoxFor(x => x.Nev).RenderWithName(3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsVisszamenoleges).RenderWithName(3, 3)
</div>
}
</div>
<div>
@{
var grid = Html.KretaGrid<CsengetesiRendOraGridModel>
(
"CsengetesiRendOraGrid",
new GridApiUrl("CsengetesiRendApi", "GetCsengetesiRendOrai", new Dictionary<string, string> {{ "csrendID", Model.ID.ToString()}, { "onlyReal", "false" } }),
allowFilterable: false,
dataBoundAdditionalFunction: "CsengRendOraHelper.SetActivityLogic();",
showSorszam: false
)
.AutoBind(true)
.Sortable(sortable => sortable.Enabled(false));
grid.ConditionColumn("Aktív", m => m.IsHaveReferences,
grid.CheckBoxColumnTemplate("Aktiv", m => m.IsReal_BOOL, false),
grid.CheckBoxColumnTemplate("Aktiv", m => m.IsReal_BOOL, true)
);
grid.Columns(columns =>
{
columns.Bound(c => c.Oraszam).Width("10%");
})
.TimePickerForColumn(Html, 667, c => c.Kezdete)
.TimePickerForColumn(Html, 668, c => c.Vege);
}
@(grid)
</div>
<script type="text/javascript">
var CsengRendOraHelper = (function () {
var csengRendOraHelper = function () { };
var gridName = "CsengetesiRendOraGrid";
csengRendOraHelper.SetActivityLogic = function () {
$("input[data-rowinputname='Aktiv']").bind("change", function () {
var sender = $(this);
var oraszam = getOraszam($(this));
var checked = sender.is(':checked');
if (oraszam < 1) { return; }
if (checked) {
$.each($("input[data-rowinputname='Aktiv']"), function (i, e) {
var elem = $(e);
var elemOraszam = $(this).attr("id").split("_").reverse()[0];
if (elemOraszam < oraszam && elemOraszam != 0) {
elem.prop('checked', true);
}
});
} else {
$.each($("input[data-rowinputname='Aktiv']"), function (i, e) {
var elem = $(e);
var elemOraszam = getOraszam(elem);
if (elemOraszam > oraszam) {
elem.prop('checked', false);
}
});
}
function getOraszam(elem) {
return parseInt(elem.attr("id").split("_").reverse()[0]);
}
});
}
return csengRendOraHelper;
})();
</script>

View File

@@ -0,0 +1,267 @@
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@model CsengetesiRendGridModel
<style type="text/css">
#CsengetesiRendGrid .rowFunction {
width: 105px;
}
</style>
<div>
@(
Html.KretaGrid<CsengetesiRendGridModel>
(
name: "CsengetesiRendGrid",
getUrl: new GridApiUrl("CsengetesiRendApi", "GetCsengetesiRendGrid", new Dictionary<string, string>() { })
)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.IsAktivText);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { NameResourceId = 116/*Módosítás*/, ClientAction = "CsengRendHelper.openCsengRendModositUj", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { NameResourceId = 118 /*Adatok*/ , ClientAction = "CsengRendHelper.openCsengRendAdatok", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { NameResourceId = 3805 /*Aktivál*/, ClientAction = "CsengRendHelper.setCsengRendToAktivConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Aktival },
new RowFunction { NameResourceId = 117 /*Törlés*/ , ClientAction = "CsengRendHelper.openCsengRendTorles", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand {NameResourceId = 115 /*Új*/, ClientAction = "CsengRendHelper.openCsengRendModositUj" },
new FunctionCommand {Name = ImportExportCommonResource.Export, ClientAction = "CsengRendHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var CsengRendHelper = (function () {
var csengRendHelper = function () { };
var gridName = "CsengetesiRendGrid";
var partialGridName = "CsengetesiRendOraGrid";
var url = {
OpenCsengetesiRendAdatokPopup: "@Url.Action("OpenCsengetesiRendAdatokTab", "CsengetesiRend", new {area = "Intezmeny" })",
OpenCsengRendModositUjPopup: "@Url.Action("OpenCsengRendModositUjPopup", "CsengetesiRend", new { area = "Intezmeny" })",
OpenCsengRendTorlesPopup: "@Url.Action("OpenCsengRendTorlesPopup", "CsengetesiRend", new { area = "Intezmeny" })",
MentesUjModositottCsengRend: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "MentesUjModositottCsengRend" })",
CsengRendTorles: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "CsengRendTorles" })",
CsengRendAktival: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "SetCsengetesiRendAktiv" })",
CsengetesiRendDetails: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "CsengetesiRendDetails" })",
CsengRendTorlesValidacio: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "CsengetesiRendValidacio" })",
CsengRendUpdateAndDel: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CsengetesiRendApi", action = "CsengetesiRendUpdateAndDel" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.CsengetesiRendApi, action = "GetExport" })"
}
//Adatok popup
csengRendHelper.openCsengRendAdatok = function (rowData) {
if (rowData.ID) {
AjaxHelper.DoGet(url.OpenCsengetesiRendAdatokPopup, { CsRendID: rowData.ID }, popUpCsengRendProperties);
}
}
function popUpCsengRendProperties(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(3830))"; /*Csengetési rend adatok*/
config.content = data;
config.maxWidth = "960px";
config.height = "500px";
var modal = KretaWindowHelper.createWindow("CsengRendAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
csengRendHelper.adatokCancel = function () {
KretaWindowHelper.destroyWindow("CsengRendAdatokWindow");
}
//Módosítás/új
csengRendHelper.modifyAddSave = function () {
var preSaveWarrning = false;
var rows = KretaGridHelper.getAllRows(partialGridName);
if (checkNev() && checkData(rows.length)) {
var rowsData = [rows.length];
var csengetesiRendModel = { CsengRendID: $('#ID').val(), CsengRendNev: $('#Nev').val(), CsengRendAktiv: $('#Aktiv').val(), Orak: [], IsVisszamenoleges: $("#IsVisszamenoleges").prop('checked') }
$.each(rows, function (index, value) {
csengetesiRendModel.Orak.push({ Oraszam: value.Oraszam, Kezd: value.ki_Kezdete, Veg: value.ki_Vege, ID: value.CsengetesiRendOraId, Aktiv: value.ki_Aktiv });
if (!preSaveWarrning && ((value.ki_Kezdete != null || value.ki_Vege != null) && value.ki_Aktiv == false)) {
preSaveWarrning = true;
}
});
if (preSaveWarrning) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(160))", "@(CsengetesiRendResource.PreSaveMessage)", postData, csengetesiRendModel);
}
else {
postData(csengetesiRendModel);
}
}
}
function postData(csengetesiRendModel) {
AjaxHelper.DoValidationPost(url.MentesUjModositottCsengRend, "CsengRendForm", csengetesiRendModel, modifyAddSaveFeedBackOk);
}
function checkData(rowData) {
if (rowData == 0) {
KretaWindowHelper.warningWindow("@(CommonResource.Kotelezo)", "@(StringResourcesUtil.GetString(4190))" /*A mentéshez legalább egy csengetési rend óra felvétele kötelező!*/, 'undefined', "dataKotelezo");
return false;
}
else
return true;
}
function checkNev() {
if ($('#Nev').val() == "") {
KretaWindowHelper.warningWindow("@(CommonResource.Kotelezo)", "@(StringResourcesUtil.GetString(4189))" /*A csengetésirend név megadása kötelező!*/, 'undefined', "nevKotelezo");
return false;
}
else
return true;
}
csengRendHelper.openCsengRendModositUj = function (rowdata) {
AjaxHelper.DoGet(url.OpenCsengRendModositUjPopup, { CsengRendID: rowdata.ID }, popUpCsengRendModositUj);
}
csengRendHelper.openCsengRendTorles = function (rowdata) {
AjaxHelper.DoGet(url.CsengetesiRendDetails, { CsengRendID: rowdata.ID }, openCsengetesiRendWindow);
}
csengRendHelper.validationAndSaveCsengRend = function () {
var valaszottCsengRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
var torlendoCsengRendId = $('#ID').val();
if (CommonUtils.isNullOrUndefined(valaszottCsengRendId) || valaszottCsengRendId < 1) {
KretaWindowHelper.warningWindow("@(CommonResource.Kotelezo)", "@(CsengetesiRendResource.NemValasztottCsengetesiRendet)");
}
else {
AjaxHelper.DoGet(url.CsengRendTorlesValidacio, { ValasztottCsengRendId: valaszottCsengRendId, TorlendoCsengRendId: torlendoCsengRendId }, confirmUpDateAndDelCsengRend);
}
}
function confirmUpDateAndDelCsengRend(data) {
var valaszottCsengRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
var torlendoCsengRendId = $('#ID').val();
if (CommonUtils.isNullOrUndefined(valaszottCsengRendId) || valaszottCsengRendId < 1) {
KretaWindowHelper.warningWindow("@(CommonResource.Kotelezo)", "@(CsengetesiRendResource.NemValasztottCsengetesiRendet)");
}
else {
if (data == false) {
KretaWindowHelper.confirmWindow("@(CsengetesiRendResource.BiztosCserel)", "@(CsengetesiRendResource.NemEgyezikAzOraKezdetEsVeg)", upDateAndDelCsengRend);
}
else {
AjaxHelper.DoGet(url.CsengRendUpdateAndDel, { ValasztottCsengRendId: valaszottCsengRendId, TorlendoCsengRendId: torlendoCsengRendId }, deleteCsengRendFeedBackOk);
}
}
}
function upDateAndDelCsengRend() {
var valaszottCsengRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
var torlendoCsengRendId = $('#ID').val();
AjaxHelper.DoGet(url.CsengRendUpdateAndDel, { ValasztottCsengRendId: valaszottCsengRendId, TorlendoCsengRendId: torlendoCsengRendId }, deleteCsengRendFeedBackOk);
}
function openCsengetesiRendWindow(data){
if (data.IsVanKapcsolodoOra == true) {
AjaxHelper.DoGet(url.OpenCsengRendTorlesPopup, { CsengRendID: data.ID }, popUpCsengRendTorles);
}
else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteCsengRend, { ID: data.ID, Aktiv: data.Aktiv });
}
}
csengRendHelper.csengRendTorlesCancel = function () {
KretaWindowHelper.destroyWindow("CsengRendTorles");
}
function popUpCsengRendTorles(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(CsengetesiRendResource.CsengRendTorlese)";
config.content = data;
config.height = "220px";
config.width = "500px";
config.closeFunction = csengRendHelper.modifyAddCancel;
var modal = KretaWindowHelper.createWindow("CsengRendTorles", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpCsengRendModositUj(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(1689))"; /*Csengetési rend adatai*/
config.content = data;
config.height = "600px";
config.closeFunction = csengRendHelper.modifyAddCancel;
var modal = KretaWindowHelper.createWindow("CsengRendModositUj", config);
KretaWindowHelper.openWindow(modal, true);
}
csengRendHelper.modifyAddCancel = function () {
KretaWindowHelper.destroyWindow("CsengRendModositUj");
}
function modifyAddSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(gridName);
}
//Export
csengRendHelper.getExport = function () {
KretaGridHelper.getExport(gridName, url.GetExport)
}
//Törlés
function deleteCsengRend(data) {
AjaxHelper.DoPost(url.CsengRendTorles, data, deleteCsengRendFeedBackOk, FeedbackFail);
KretaGridHelper.refreshGrid(gridName);
}
csengRendHelper.confirmCancel = function () {
KretaWindowHelper.destroyWindow("CsengRendDeleteConfirm");
}
function deleteCsengRendFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(gridName);
}
//Aktiválás
function aktivalCsengRend(data) {
AjaxHelper.DoPost(url.CsengRendAktival, data, aktivalCsengRendFeedBackOk, FeedbackFail);
KretaGridHelper.refreshGrid(gridName);
}
csengRendHelper.setCsengRendToAktivConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(StringResourcesUtil.GetString(3806))" /*Biztosan aktiválja a kiválasztott csengetési rendet?*/, aktivalCsengRend, { ID: rowData.ID });
}
function aktivalCsengRendFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(gridName);
}
//Hiba
function FeedbackFail(data) {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow(Globalization.Hiba /*HIBA*/, message, true, KretaWindowHelper.destroyAllWindow);
}
return csengRendHelper;
})();
</script>

View File

@@ -0,0 +1,92 @@
@using Kreta.Web.Areas.Intezmeny.Models
@model EszkozModel
<div class="container-fluid details">
@using (Html.KretaForm("EszkozForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
<div class="row">
@Html.KretaTextBoxFor(x => x.Nev).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.Jelleg, Model.JellegList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", onChangeFunction: "EszkozHelper.TeremValidacio()", useGroup: false).AutoBind(true).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.SzemelyiFelelos, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Tipus, Model.TipusList).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.Kategoria, Model.KategoriaList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.BeszerzesDatum).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.BeszerzesiAr).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaNumericFor(x => x.Darabszam).Min(0).Max(99999).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.MennyisegiEgyseg, Model.MertekegysegList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaMaskedTextBoxFor(x => x.GyartasiEv, "0000").RenderWithName(3, 3)
@Html.KretaTextBoxFor(x => x.GyariSzam).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Szallito).RenderWithName(3, 3)
@Html.KretaTextBoxFor(x => x.Vonalkod).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.FokonyviSzam).RenderWithName(3, 3)
@Html.KretaTextBoxFor(x => x.LeltariSzam).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Celja, Model.CeljaList).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.Tartozek).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.TartozekHivatkozas).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.PedagogusHozzaferhet).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanuloHozzaferhet).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.Berelt).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Multimedias).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.InternetKapcsolat).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Hordozhato).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.HalozatiKapcsolat).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.NemMukodik).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(3, 3)
</div>
}
</div>
<script type="text/javascript">
$(document).ready(function () {
if ($("#Tartozek").is(':checked')) {
$("#TartozekHivatkozas").attr("disabled", false);
}
else {
$("#TartozekHivatkozas").attr("disabled", true);
$("#TartozekHivatkozas").val("");
}
});
$("#Tartozek").change(function () {
if (this.checked) {
$("#TartozekHivatkozas").attr("disabled", false);
$("#TartozekHivatkozas").val("");
}
else {
$("#TartozekHivatkozas").attr("disabled", true);
$("#TartozekHivatkozas").val("");
}
});
</script>

View File

@@ -0,0 +1,63 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers
@model EszkozCsopModModel
@using (Html.KretaForm("EszkozCsopModForm"))
{
@Html.HiddenFor(x => x.EszkozId);
@Html.HiddenFor(x => x.EszkozNev);
@Html.HiddenFor(x => x.EszkozIdArray);
@Html.HiddenFor(X => X.EszkozNevArray);
<div class="container-fluid details">
@Html.KretaValidationSummary()
@if (string.IsNullOrWhiteSpace(Model.EszkozIdArray))
{
<div class="row">
@Html.KretaLabelFor(x => x.EszkozNev, 3, 9)
</div>
}
else
{
<div class="row">
@Html.KretaLabelFor(x => x.EszkozNevArray, 3, 9)
</div>
}
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", onChangeFunction: "EszkozHelper.TeremValidacioTobbes()", useGroup: false).AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Tipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EszkozokApi", action = "GetTipusList" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.Kategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EszkozokApi", action = "GetKategoriaList" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.BeszerzesDatum).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Darabszam).Min(0).Max(99999).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaMaskedTextBoxFor(x => x.GyartasiEv, "0000").RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.SzemelyiFelelos, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.PedagogusHozzaferhet, Model.IgenNemList).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.Celja, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EszkozokApi", action = "GetFelhasznalasList" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3);
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TanuloHozzaferhet, Model.IgenNemList).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.Berelt, Model.IgenNemList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Multimedias, Model.IgenNemList).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.InternetKapcsolat, Model.IgenNemList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Hordozhato, Model.IgenNemList).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.HalozatiKapcsolat, Model.IgenNemList).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.NemMukodik, Model.IgenNemList).RenderWithName(3, 3)
</div>
</div>
}

View File

@@ -0,0 +1,63 @@

@using Kreta.Web.Areas.Intezmeny.Models
@model EszkozModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.Nev, 3, 3)
@Html.KretaLabelFor(x => x.TeremNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.LeltariSzam, 3, 3)
@Html.KretaLabelFor(x => x.JellegNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KategoriaNev, 3, 3)
@Html.KretaLabelFor(x => x.BeszerzesDatumRovid, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.BeszerzesiAr, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Darabszam, 3, 3)
@Html.KretaLabelFor(x => x.MennyisegiEgysegNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.GyartasiEv, 3, 3)
@Html.KretaLabelFor(x => x.GyariSzam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.FelelosNev, 3, 3)
@Html.KretaLabelFor(x => x.Szallito, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.CeljaNev, 3, 3)
@Html.KretaLabelFor(x => x.FokonyviSzam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Berelt_BNAME, 3, 3)
@Html.KretaLabelFor(x => x.TanuloHozzaferhet_BNAME, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.PedagogusHozzaferhet_BNAME, 3, 3)
@Html.KretaLabelFor(x => x.Multimedias_BNAME, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HalozatiKapcsolat_BNAME, 3, 3)
@Html.KretaLabelFor(x => x.InternetKapcsolat_BNAME, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Hordozhato_BNAME, 3, 3)
@Html.KretaLabelFor(x => x.Tartozek_BNAME, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TartozekHivatkozas, 3, 3)
@Html.KretaLabelFor(x => x.Vonalkod, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.NemMukodik_BNAME, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Megjegyzes, 1, 11)
</div>
</div>

View File

@@ -0,0 +1,286 @@
@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@model EszkozSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
var functionCommandList = new List<FunctionCommand> {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "EszkozHelper.exportEszkozokGrid" },
new FunctionCommand { Name = CommonResource.KijeloltekTorlese, ClientAction = "EszkozHelper.confirmSelectedDelete", Classes = "kendo-gridFunctionKommandRed" }
};
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "EszkozHelper.openEszkozProperties", IconEnum = GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "EszkozHelper.deleteEszkozConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
if (Model.IsEszkozKezelesEnabled)
{
functionCommandList.InsertRange(0, new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Uj, ClientAction="EszkozHelper.openEszkozModifyAdd" },
new FunctionCommand { Name = CommonResource.Modositas, ClientAction="EszkozHelper.openEszkozCsopMod" },
});
rowFunctionList.Insert(0, new RowFunction { Name = CommonResource.Modositas, ClientAction = "EszkozHelper.openEszkozModifyAdd", IconEnum = GridRowFunctionIconEnum.Modositas });
}
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "EszkozGrid"))
{
@Html.KretaTextBoxFor(model => model.SearchNev).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SearchKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "EszkozokApi", action = "GetKategoriaList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(model => model.SearchMinDarabszam, model => model.SearchMaxDarabszam)
@Html.KretaComboBoxFor(x => x.SearchTeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SearchFelelosID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
<div>
@{
var grid = Html.KretaGrid<EszkozGridModel>
(
name: "EszkozGrid",
getUrl: new GridApiUrl("EszkozokApi", "GetEszkozokGrid", new Dictionary<string, string> { }),
allowScrolling: true,
dataParameterFunction: "searchForm"
)
.SelectBoxColumn(Html, 0) /* */
.FunctionCommand(Html, functionCommandList)
.AutoBind(true)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
if (Model.IsEszkozKezelesEnabled)
{
grid.LinkButtonColumn("", c => c.Nev, "EszkozHelper.openEszkozModifyAdd", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.KategoriaId_DNAME);
columns.Bound(c => c.Darabszam).Width("10%");
columns.Bound(c => c.TeremNev);
columns.Bound(c => c.FelelosNev);
});
}
else
{
grid.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.KategoriaId_DNAME);
columns.Bound(c => c.Darabszam).Width("10%");
columns.Bound(c => c.TeremNev);
columns.Bound(c => c.FelelosNev);
});
}
grid.RowFunction(Html, rowFunctionList);
}
@grid
</div>
<script type="text/javascript">
var EszkozHelper = (function () {
var eszkozHelper = function () { };
@if (Model.IsEszkozKezelesEnabled)
{
<text>
var formName = "EszkozForm";
var csopFormName = "EszkozCsopModForm";
</text>
}
var gridName = "EszkozGrid";
var searchFormName = "searchForm";
var url = {
OpenEszkozProperties: "@Url.Action("OpenEszkozProperties", "Eszkozok", new {area = "Intezmeny"})",
DeleteEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "DeleteEszkoz"})",
DeleteSelectedEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "DeleteSelectedEszkoz"})",
ExportEszkozok: "@Url.Action("ExportEszkozok", "Eszkozok", new {area = "Intezmeny"})",
@if (Model.IsEszkozKezelesEnabled)
{
<text>
OpenEszkozModifyAdd: "@Url.Action("OpenEszkozModifyAdd", "Eszkozok", new {area = "Intezmeny"})",
SaveModifiedOrNewEszkoz: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "SaveModifiedOrNewEszkoz"})",
TeremValidacio: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "TeremValidacio"})",
TeremValidacioTobbes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "TeremValidacioTobbes"})",
OpenCsopModify: "@Url.Action("OpenEszkozCsopModify", "Eszkozok", new {area = "Intezmeny"})",
SaveCsopModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "EszkozokApi", action = "SaveCsopModifiedEszkozok"})",
</text>
}
}
eszkozHelper.openEszkozProperties = function (rowData) {
AjaxHelper.DoGet(url.OpenEszkozProperties, { eszkozID: rowData.ID }, popUpEszkozProperties);
}
eszkozHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("EszkozPropertiesWindow");
}
eszkozHelper.openEszkozProperties = function (rowData) {
AjaxHelper.DoGet(url.OpenEszkozProperties, { eszkozID: rowData.ID }, popUpEszkozProperties);
}
eszkozHelper.deleteEszkozConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteEszkoz, rowData.ID);
}
eszkozHelper.confirmSelectedDelete = function() {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function(index, value) {
parameters.push(value.ID);
});
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorolniSzeretneAKijeloltElemeket)", deleteSelectedEszkoz, parameters);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(CommonResource.ValasszonKiLegalabbEgyElemet)", true);
}
}
function deleteSelectedEszkoz(data) {
AjaxHelper.DoPost(url.DeleteSelectedEszkoz, data, deleteSelectedEszkozResponseOk, deleteSelectedEszkozFeedback);
}
function deleteSelectedEszkozFeedback(data) {
AjaxHelper.ShowError(data);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedEszkozResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function popUpEszkozProperties(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozPropertiesWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteEszkoz(data) {
AjaxHelper.DoPost(url.DeleteEszkoz, data, deleteFeedbackOk, deleteFeedbackFail);
}
function deleteFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFeedbackFail(data) {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow(Globalization.Hiba /*HIBA*/, message, true, KretaWindowHelper.destroyAllWindow);
}
eszkozHelper.exportEszkozokGrid = function () {
window.location = url.ExportEszkozok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
@if (Model.IsEszkozKezelesEnabled)
{
<text>
eszkozHelper.modifyAddCancel = function () {
KretaWindowHelper.destroyWindow("EszkozModifyAddWindow");
}
eszkozHelper.modifyAddSave = function () {
AjaxHelper.DoPostElement(url.SaveModifiedOrNewEszkoz, formName, modifyAddSaveFeedBackOk);
}
eszkozHelper.openEszkozModifyAdd = function (rowData) {
if (CommonUtils.isNullOrUndefined(rowData.ID)) {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: rowData.ID }, popUpEszkozAdd);
}
else {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: rowData.ID }, popUpEszkozModify);
}
}
eszkozHelper.confirmCsopModWindow = function () {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanModositaniSzeretneAKijeloltElemeket)", eszkozHelper.modifyCsopSave);
}
function popUpEszkozModify(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozModifyAddWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpEszkozAdd(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozModifyAddWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function modifyAddSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
eszkozHelper.TeremValidacio = function () {
AjaxHelper.DoPostElement(url.TeremValidacio, formName, null);
}
eszkozHelper.TeremValidacioTobbes = function () {
AjaxHelper.DoPostElement(url.TeremValidacioTobbes, csopFormName, null);
}
eszkozHelper.openEszkozCsopMod = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(4212))" /*Kiválasztás*/, "@(StringResourcesUtil.GetString(4554))"/*A csoportos módosításhoz legalább egy elem kiválasztása szükséges!*/);
}
else if (selectedRows.length == 1) {
AjaxHelper.DoGet(url.OpenEszkozModifyAdd, { eszkozID: selectedRows[0].ID }, popUpEszkozModify);
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ EszkozId: value.ID, EszkozNev: value.Nev });
});
AjaxHelper.DoPost(url.OpenCsopModify, parameters, openModPopUp);
}
}
function openModPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EszkozAdatokModositasa)";
config.content = data;
var modal = KretaWindowHelper.createWindow("EszkozCsopModWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
eszkozHelper.modifyCsopCancel = function () {
KretaWindowHelper.destroyWindow("EszkozCsopModWindow");
}
eszkozHelper.modifyCsopSave = function () {
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoPostElement(url.SaveCsopModify, csopFormName, modifyAddSaveFeedBackOk);
}
</text>
}
return eszkozHelper;
})();
</script>

View File

@@ -0,0 +1,274 @@
@using Kreta.BusinessLogic.Classes;
@using Kreta.Framework;
@using Kreta.Resources
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers
@model FaliujsagModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
int range = 10;
}
@section AddCss {
@Styles.Render("~/Content/Faliujsag")
}
<div id="informaciosResz" class="col-xs-12">
<div id="legutobbiErtekelesekContainer" class="col-xs-12 col-sm-6 col-md-3">
<table id="legutobbiErtekelesek" class="table table-condensed table-bordered table-hover">
<tr onclick="document.location='@Url.Action("Index","Osztalyzatok",new {area= "TanuloErtekeles" })'">
<th>@IntezmenyResource.LegutobbiErtekelesek</th>
</tr>
@if (Model.LegutobbiErtekelesek == null || Model.LegutobbiErtekelesek.Count == 0)
{
<tr onclick="document.location = '@Url.Action("Index","Osztalyzatok",new {area= "TanuloErtekeles" })'">
<td class="k-link">
<div>
@IntezmenyResource.NincsenekMegjelenithetoErtekelesek
</div>
</td>
</tr>
}
else
{
foreach (var ertekeles in Model.LegutobbiErtekelesek)
{
<tr onclick="document.location = '@Url.Action("Index","Osztalyzatok",new {area= "TanuloErtekeles",id=ertekeles.Item4 })'">
<td class="k-link">
<span style="font-size: 200%">
@ertekeles.Item1
</span>
<span style="float: right; text-align: right">@ertekeles.Item2<br />@ertekeles.Item3</span>
<br />
</td>
</tr>
}
}
</table>
</div>
<div id="legutobbiMulasztasokContainer" class="col-xs-12 col-sm-6 col-md-3">
<table id="legutobbiMulasztasok" class="table table-condensed table-bordered table-hover">
<tr onclick="document.location='@Url.Action("Index","Hianyzasok",new {area= "Hianyzas" })'">
<th>@IntezmenyResource.LegutobbiMulasztasok</th>
</tr>
@if (Model.LegutobbiMulasztasok == null || Model.LegutobbiMulasztasok.Count == 0)
{
<tr onclick="document.location = '@Url.Action("Index","Hianyzasok",new {area= "Hianyzas" })'">
<td class="k-link">
@IntezmenyResource.NincsenekMegjelenithetoMulasztasok
</td>
</tr>
}
else
{
foreach (var mulasztas in Model.LegutobbiMulasztasok)
{
<tr onclick="document.location='@Url.Action("Index","Hianyzasok",new {area= "Hianyzas",id= mulasztas.Item5 })'">
<td class="k-link">
<span>
@mulasztas.Item1.Value.ToString("MMMM dd.")
</span>
<span style="float: right">
@mulasztas.Item2
</span>
<br />
<span>
@mulasztas.Item3
</span>
<span style="float: right">
@mulasztas.Item4
</span>
</td>
</tr>
}
}
</table>
</div>
<div id="legutobbiFeljegyzesekContainer" class="col-xs-12 col-sm-12 col-md-3">
<table id="legutobbiFeljegyzesek" class="table table-condensed table-bordered table-hover">
<tr onclick="document.location='@Url.Action("Index","InformaciokFeljegyzesek",new {area= "TanuloErtekeles" })'">
<th>@IntezmenyResource.LegutobbiFeljegyzesek</th>
</tr>
@if (Model.LegutobbiFeljegyzesek == null || Model.LegutobbiFeljegyzesek.Count == 0)
{
<tr onclick="document.location = '@Url.Action("Index","InformaciokFeljegyzesek",new {area= "TanuloErtekeles" })'">
<td class="k-link">
<div>
@IntezmenyResource.NincsenekMegjelenithetoFeljegyzesek
</div>
</td>
</tr>
}
else
{
foreach (var feljegyzes in Model.LegutobbiFeljegyzesek)
{
<tr onclick="document.location='@Url.Action("Index","InformaciokFeljegyzesek",new {area= "TanuloErtekeles",id=feljegyzes.Item4 })'">
<td class="k-link">
<span>
@feljegyzes.Item1
</span>
<br />
<span>
@feljegyzes.Item2
</span>
<span style="float: right">
@feljegyzes.Item3
</span>
</td>
</tr>
}
}
</table>
</div>
<div id="legutobbiBejelentettSzamonkeresContainer" class="col-xs-12 col-sm-12 col-md-3">
<table id="legutobbiBejelentettSzamonkeres" class="table table-condensed table-bordered table-hover">
<tr onclick="document.location='@Url.Action("Index","TanuloBejelentettSzamonkeresek",new {area= "Tanulo" })'">
<th>@IntezmenyResource.LegutobbiBejelentettSzamonkeresek</th>
</tr>
@if (Model.LegutobbiBejelentettSzamonkeresek == null || Model.LegutobbiBejelentettSzamonkeresek.Count == 0)
{
<tr onclick="document.location = '@Url.Action("Index","TanuloBejelentettSzamonkeresek",new {area= "Tanulo" })'">
<td class="k-link">
<div>
@IntezmenyResource.NincsenekMegjelenithetoBejelentettSzamonkeres
</div>
</td>
</tr>
}
else
{
foreach (var feljegyzes in Model.LegutobbiBejelentettSzamonkeresek)
{
<tr onclick="document.location='@Url.Action("Index","TanuloBejelentettSzamonkeresek",new {area= "Tanulo"})'">
<td class="k-link">
<span>
@feljegyzes.Item1
</span>
<span style="float: right">
@feljegyzes.Item3
</span>
<br />
<span>
@feljegyzes.Item2
</span>
<span style="float: right">
@feljegyzes.Item4
</span>
</td>
</tr>
}
}
</table>
</div>
</div>
<script id="TimeBoardsElements" type="text/x-jQuery-tmpl">
{%each(i, elem) FaliujsagElemek%}
<div class='nb-item highlighted row row-eq-height'>
<div class='nb-date col-xs-2'>
<span class='year'>${elem.DatumEv}</span>
<span class='month'>${elem.DatumHonap}</span>
<span class='day'>${elem.DatumNap}</span>
</div>
<div class='nb-timeline col-xs-1'>
<div class='nb-line'></div>
<div class='nb-circle'></div>
</div>
<div class='nb-content col-xs-9'>
<div class='subject'>
<h4>${elem.EsemenyCime}</h4>
</div>
<div class='content'>{{html elem.EsemenySzovege}}</div>
<div class='footer'>
<div class='author'>
<img class='userimg-sm' src='${elem.KepEleresiUtja}' />
<div class='info'>
<span class='auth-name'>
<span>${elem.Nev}</span>
</span>
</div>
</div>
</div>
</div>
</div>
{%/each%}
</script>
<script id="TimeBoardEmpty" type="text/x-jQuery-tmpl">
<div class='nb-item highlighted row row-eq-height'>
<div class='nb-date col-xs-2'>
</div>
<div class='nb-timeline col-xs-1'>
<div class='nb-line'></div>
<div class='nb-circle'></div>
</div>
<div class='nb-content col-xs-9'>
<div class='subject'>
<h4> @Kreta.Framework.StringResourcesUtil.GetString(4192)@*Nincs Bejegyzés*@</h4>
</div>
<div class='content'>@Kreta.Framework.StringResourcesUtil.GetString(4193) @*A faliujsag jelenleg üres*@</div>
<div class='footer'>
<div class='author'>
<div class='info'>
</div>
</div>
</div>
</div>
</div>
</script>
@section AddJs {
<script type="text/javascript">
var FaliujsagHelper = (function () {
var faliujsagHelper = function () { };
var requestedRange = -1;
var itemCount = parseInt(@Model.ItemCount);
faliujsagHelper.GetMoreEntries = function (range) {
requestedRange = range;
GetMoreEntries(range);
};
function SuccessFunction(data) {
var faliujsagLista = $('#faliujsagLista');
if (data.ItemCount !== requestedRange) {
$('#btnTovabb').attr('disabled', true);
if(data.ItemCount == 0) {
$('#TimeBoardEmpty').tmpl(data).appendTo(faliujsagLista);
}
if (data.ItemCount == 0) {
$('#btnTovabb').hide();
return;
}
}
$('#TimeBoardsElements').tmpl(data).appendTo(faliujsagLista);
itemCount += parseInt(data.ItemCount);
};
function GetMoreEntries(range) {
AjaxHelper.DoGet('@Url.Action("GetMoreEntries", "Faliujsag")', { startindex:itemCount, range:10 }, SuccessFunction);
};
return faliujsagHelper;
})();
$(document).ready(function(){FaliujsagHelper.GetMoreEntries(@range)});
</script>
}
<div>
<div id="faliujsagLista" class='col-xs-12 main faliujsagLista'>
<div id='upFunction container noticeboard'>
</div>
</div>
@Html.KretaButton("btnTovabb", CommonResource.Tovabb).Events(e => e.Click(string.Format("function(){{FaliujsagHelper.GetMoreEntries({0})}}", range)))
</div>

View File

@@ -0,0 +1,78 @@
@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Intezmeny.Models;
@using Kreta.Web.Helpers;
@model IntezmenyModel
<div id="Intezmeny_Adatok_Partial">
@Html.Partial("Intezmeny_Adatok_Partial", Model)
</div>
<div>
<h3>@StringResourcesUtil.GetString(3247 /*Működési helyek*/)</h3>
</div>
<div>
@(Html.KretaGrid<IntezmenyMukodesiHelyGridModel>
(
name: "IntezmenyMukodesiHelyGrid",
getUrl: new GridApiUrl("IntezmenyApi", "GetIntezmenyMukodesiHelyGrid", new Dictionary<string, string> { }),
clientTemplate: "detailGrid-template",
allowScrolling: true,
clientTemplateUrl: @Url.Action("IntezmenyFeladatEllatasiHelyDetailGrid", "Intezmeny", new { area = "Intezmeny" })
)
.LinkButtonColumn(string.Empty, c => c.Nev, "IntezmenyHelper.onInfoMukodesiHely", Kreta.Enums.ManualEnums.GridButtonsEnum.Kivalasztas)
.Columns(columns =>
{
columns.Bound(c => c.Iranyitoszam).Width("10%");
columns.Bound(c => c.Varos);
columns.Bound(c => c.Telefon).Width("15%");
columns.Bound(c => c.Email);
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "IntezmenyHelper.onInfoMukodesiHely" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<script type="text/javascript">
var IntezmenyHelper = (function () {
var intezmenyHelper = function () { };
var _url = {
InfoMukodesiHelyPopUp: "@Url.Action("InfoMukodesiHelyPopUp", "Intezmeny", new { area = "Intezmeny" })",
}
var _window = {
InfoMukodesiHelyWindow: "infoMukodesiHelyWindow",
}
intezmenyHelper.onInfoMukodesiHely = function (data) {
var postData = { pID: parseInt(data.ID) };
AjaxHelper.DoPost(_url.InfoMukodesiHelyPopUp, postData, infoMukodesiHelyPopUp);
}
intezmenyHelper.infoMukodesiHelyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(_window.InfoMukodesiHelyWindow);
}
function infoMukodesiHelyPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(3258))"; /*Működési hely adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow(_window.InfoMukodesiHelyWindow, config);
KretaWindowHelper.openWindow(modal, true);
}
return intezmenyHelper;
})();
$(document).ready(function () {
KretaGridHelper.openAllGrid();
});
</script>

View File

@@ -0,0 +1,5 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Intezmeny.Models
@model FeladatellatasiHelyModel
@Html.KretaTabStripAjax("tabstrip", Model.TabList)

View File

@@ -0,0 +1,11 @@
@using Kreta.Web.Areas.Intezmeny.Models
@model FeladatellatasiHelyModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.MukodesiHelyNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.FeladatTipusNev, 3, 3)
</div>
</div>

View File

@@ -0,0 +1,22 @@
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@model FeladatellatasiHelyModel
<div>
@(
Html.KretaGrid<FeladatellatasiHelyAlkalmazottakGridModel>
(
name: "FeladatellHelyAlkalmazottGrid",
getUrl: new GridApiUrl("IntezmenyApi", "GetFeladatellatasiHelyAlkalmazottjai", new Dictionary<string, string> { { "Id", Model.ID.ToString() } })
)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.Munkakor_DNAME);
columns.Bound(c => c.Munkaviszony_DNAME);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,22 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Resources;
@model FeladatellatasiHelyModel
@using (Html.KretaForm("FeladatForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.MukodesiHelyID)
@Html.HiddenFor(x => x.IsAMIModuleActive)
@Html.HiddenFor(x => x.IsKollegiumModuleActive)
@Html.HiddenFor(x => x.IsEGYMIModuleActive)
<div class="container-fluid details">
<div class="row">
@Html.KretaComboBoxFor(x => x.FeladatTipus, Model.FeladatList, new Dictionary<string, object>() { { "class", "fullwidth" } }).RenderWithName(tooltipResource: IntezmenyResource.EllatottOktatasiNevelesiFeladatTooltip)
</div>
<div class="row">
@Html.KretaMaskedTextBoxFor(x => x.KIRFeladatellatasiHelySorszama, "000").RenderWithName()
</div>
</div>
}

View File

@@ -0,0 +1,23 @@
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Intezmeny.Models
@model FeladatellatasiHelyModel
<div>
@(
Html.KretaGrid<FeladatellatasiHelyOsztalycsoportokGridModel>
(
name: "FeladatellHelyOsztalyCsopGrid",
getUrl: new GridApiUrl("IntezmenyApi", "GetFeladatellatasiHelyOsztalycsoportjai", new Dictionary<string, string> { { "Id", Model.ID.ToString() } })
)
.Columns(columns =>
{
columns.Bound(c => c.Nev);
columns.Bound(c => c.Tipus);
columns.Bound(c => c.Evfolyam_DNAME).Width("10%");
columns.Bound(c => c.Letszam).Width("10%");
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,497 @@
@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Intezmeny.Models;
@using Kreta.Web.Helpers;
@using Kreta.Web.Security;
@using Kreta.Resources;
@model IntezmenyModel
@section AddTip {
<ul id="tipList" style="display: none;">
<li>@(StringResourcesUtil.GetString(4136)) @(StringResourcesUtil.GetString(4137))</li>
<li>@(StringResourcesUtil.GetString(4136)) @(StringResourcesUtil.GetString(4138))</li>
<li>@(StringResourcesUtil.GetString(4136)) @(StringResourcesUtil.GetString(4139))</li>
</ul>
}
<div id="Intezmeny_AdatokInfo_Partial">
@{
IntezmenyInfoModel intezmenyInfoModel = new IntezmenyInfoModel(Model);
@Html.Partial("Intezmeny_AdatokInfo_Partial", intezmenyInfoModel.info)
}
</div>
@{if (ClaimManager.HasPackage("Adminisztrator") && !ClaimData.IsSelectedTanevIsElozo)
{
<div class="container-fluid section-function">
<div class="row">
@Html.KretaButton("ButtonModIntezmeny", IntezmenyResource.IntezmenyAdatainakSzerkesztese, clickEventName: "IntezmenyHelper.onModIntezmeny")
</div>
</div>
<div>
<hr />
</div>
@Html.Partial("Intezmeny_Dokumentumok_Partial", Model)
}
}
<div>
<hr />
</div>
<div>
<h3>@StringResourcesUtil.GetString(3247 /*Működési helyek*/)</h3>
</div>
<div>
@{ List<RowFunction> MukodesiHelyRowFunctionList = new List<RowFunction>();
List<FunctionCommand> MukodesiHelyFunctionCommandList = new List<FunctionCommand>();
if (ClaimManager.HasPackage("Adminisztrator") && !ClaimData.IsSelectedTanevIsElozo)
{
MukodesiHelyRowFunctionList.Add(new RowFunction { Name = IntezmenyResource.UjEllatottKoznevelesiFeladat, ClientAction = "IntezmenyHelper.onNewFeladat", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Uj, SendSender = true });
MukodesiHelyRowFunctionList.Add(new RowFunction {Name = CommonResource.Modositas, ClientAction = "IntezmenyHelper.onModMukodesiHely", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas });
}
MukodesiHelyRowFunctionList.Add(new RowFunction { Name = CommonResource.Adatok, ClientAction = "IntezmenyHelper.onInfoMukodesiHely", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok });
if (ClaimManager.HasPackage("Adminisztrator") && !ClaimData.IsSelectedTanevIsElozo)
{
MukodesiHelyRowFunctionList.Add(new RowFunction { Name = CommonResource.Torles, ClientAction = "IntezmenyHelper.onDeleteMukodesiHely", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles });
MukodesiHelyFunctionCommandList.Add(new FunctionCommand { Name=IntezmenyResource.MukodesiHelyFelvetele, ClientAction = "IntezmenyHelper.onNewMukodesiHely" });
}
MukodesiHelyFunctionCommandList.Add(
new FunctionCommand
{
Name = ImportExportCommonResource.Export.ToUpper(),
NestedCommands = new List<FunctionCommand> {
new FunctionCommand { Name = IntezmenyResource.MukodesiHelyekAdatai, ClientAction = "IntezmenyHelper.exportMukodesiHelyekAdatai" }
}
}
);
}
@(Html.KretaGrid<IntezmenyMukodesiHelyGridModel>
(
name: "IntezmenyMukodesiHelyGrid",
getUrl: new GridApiUrl("IntezmenyApi", "GetIntezmenyMukodesiHelyGrid", new Dictionary<string, string> { }),
clientTemplate: "detailGrid-template",
allowScrolling: true,
clientTemplateUrl: @Url.Action("IntezmenyFeladatEllatasiHelyDetailGrid", "Intezmeny", new { area = "Intezmeny" })
)
.LinkButtonColumn(string.Empty, c => c.Nev, "IntezmenyHelper.onInfoMukodesiHely", Kreta.Enums.ManualEnums.GridButtonsEnum.Kivalasztas)
.Columns(columns =>
{
columns.Bound(c => c.MukodesiHelyAzonosito).HeaderHtmlAttributes(new { data_gridheadertooltip = IntezmenyResource.MukodesiHelyAzonositoTooltip });
columns.Bound(c => c.Varos);
columns.Bound(c => c.C_MUKODESIHELYTIPUSA_DNAME).HeaderHtmlAttributes(new { data_gridheadertooltip = IntezmenyResource.MukodesihelyHelyTipusaTooltip });
})
.RowFunction(Html, MukodesiHelyRowFunctionList)
.FunctionCommand(Html, MukodesiHelyFunctionCommandList)
.AutoBind(true)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<script type="text/javascript">
var IntezmenyHelper = (function () {
var intezmenyHelper = function () { };
var _url = {
ModIntezmenyPopUp: "@Url.Action("ModIntezmenyPopUp", "Intezmeny", new { area = "Intezmeny" })",
ModMukodesiHelyPopUp: "@Url.Action("ModMukodesiHelyPopUp", "Intezmeny", new { area = "Intezmeny" })",
InfoMukodesiHelyPopUp: "@Url.Action("InfoMukodesiHelyPopUp", "Intezmeny", new { area = "Intezmeny" })",
ModFeladatPopUp: "@Url.Action("ModFeladatPopUp", "Intezmeny", new { area = "Intezmeny" })",
RefreshIntezmenyAdatokPartial: "@Url.Action("GetIntezmenyAdatokPartial", "Intezmeny", new { area = "Intezmeny" })",
OpenFeladatellatasiHelyAdatok: "@Url.Action("OpenFeladatellatasiHelyTab", "Intezmeny", new { area = "Intezmeny" })",
ExportMukodesiHelyekAdatai: "@Url.Action("ExportMukodesiHelyekAdatai", "Intezmeny", new {area = "Intezmeny" })",
SaveIntezmeny: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "SaveIntezmeny" })",
SaveMukodesiHely: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "SaveMukodesiHely" })",
SaveFeladat: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "SaveFeladat" })",
DeleteMukodesiHely: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "DeleteMukodesiHely" })",
DeleteFeladat: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "DeleteFeladat" })",
SetSzekhely: "@Url.HttpRouteUrl("ActionApi", new { controller = "IntezmenyApi", action = "SetSzekhely" })"
}
var _form = {
IntezmenyForm: "IntezmenyForm",
MukodesiHelyForm: "MukodesiHelyForm",
FeladatForm: "FeladatForm"
}
var _grid = {
IntezmenyMukodesiHelyGrid: "IntezmenyMukodesiHelyGrid",
IntezmenyFeladatEllatasiHelyDetailGrid: ""
}
var _window = {
ModIntezmenyWindow: "modIntezmenyWindow",
InfoMukodesiHelyWindow: "infoMukodesiHelyWindow",
ModMukodesiHelyWindow: "modMukodesiHelyWindow",
ModFeladatWindow: "modFeladatWindow",
}
var originalFeladatTipus;
var newFeladatTipus;
var isAMIModuleActive;
var isKollegiumModuleActive;
var isEGYMIModuleActive;
// Intezmeny : Mod
intezmenyHelper.onModIntezmeny = function () {
AjaxHelper.DoPost(_url.ModIntezmenyPopUp, null, modIntezmenyPopUp);
}
intezmenyHelper.modIntezmenyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(_window.ModIntezmenyWindow);
}
intezmenyHelper.modIntezmenyPopUpSave = function () {
var rovidnev = $("#RovidNev").val();
if (rovidnev != null && rovidnev.length > 0) {
$("#layout_organizationName").text($("#OMKod").val() + ' - ' + $("#RovidNev").val());
$("#layout_organizationName2").text($("#OMKod").val() + ' - ' + $("#RovidNev").val());
}
else {
$("#layout_organizationName").text($("#OMKod").val() + ' - ' + $("#IntezmenyNev").val());
$("#layout_organizationName2").text($("#OMKod").val() + ' - ' + $("#IntezmenyNev").val());
}
AjaxHelper.DoPostElement(_url.SaveIntezmeny, _form.IntezmenyForm, modIntezmenySaveFeedBackOk, modIntezmenySaveFeedBackError);
}
// MukodesiHely : Info
intezmenyHelper.onInfoMukodesiHely = function (data) {
var postData = { pID: parseInt(data.ID) };
AjaxHelper.DoPost(_url.InfoMukodesiHelyPopUp, postData, infoMukodesiHelyPopUp);
}
intezmenyHelper.infoMukodesiHelyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(_window.InfoMukodesiHelyWindow);
}
// MukodesiHely : Mod
intezmenyHelper.onNewMukodesiHely = function () {
var postData = null;
newMukodesiHelyDoPost(postData);
}
intezmenyHelper.onModMukodesiHely = function (data) {
var postData = { pID: data.ID };
mukodesiHelyDoPost(postData);
}
// MukodesiHely : Mod
intezmenyHelper.modMukodesiHelyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(_window.ModMukodesiHelyWindow);
}
intezmenyHelper.modMukodesiHelyPopUpSave = function () {
AjaxHelper.DoPostElement(_url.SaveMukodesiHely, _form.MukodesiHelyForm, modMukodesiHelySaveFeedBackOk);
}
// Feladat : Mod
intezmenyHelper.onNewFeladat = function (sender, data) {
if (sender[0].parentElement != null &&
sender[0].parentElement.parentElement != null &&
sender[0].parentElement.parentElement.nextSibling != null &&
sender[0].parentElement.parentElement.nextSibling.lastChild != null &&
sender[0].parentElement.parentElement.nextSibling.lastChild.firstElementChild != null &&
sender[0].parentElement.parentElement.nextSibling.lastChild.firstElementChild.firstElementChild != null)
{
_grid.IntezmenyFeladatEllatasiHelyDetailGrid = sender[0].parentElement.parentElement.nextSibling.lastChild.firstElementChild.firstElementChild.id
}
var postData = { MukodesiHelyID: data.ID };
newFeladatDoPost(postData);
}
intezmenyHelper.onModFeladat = function (sender, data) {
_grid.IntezmenyFeladatEllatasiHelyDetailGrid = sender[0].parentElement.dataset.rowfunctionparent;
var postData = { ID: data.ID };
feladatDoPost(postData);
}
intezmenyHelper.modFeladatPopUpCancel = function () {
KretaWindowHelper.destroyWindow(_window.ModFeladatWindow);
}
intezmenyHelper.modFeladatPopUpSave = function () {
newFeladatTipus = $("#FeladatTipus", "#" + _form.FeladatForm).val();
isAMIModuleActive = $("#IsAMIModuleActive", "#" + _form.FeladatForm).val();
isKollegiumModuleActive = $("#IsKollegiumModuleActive", "#" + _form.FeladatForm).val();
isEGYMIModuleActive = $("#IsEGYMIModuleActive", "#" + _form.FeladatForm).val();
AjaxHelper.DoPostElement(_url.SaveFeladat, _form.FeladatForm, modFeladatSaveFeedBackOk);
}
// MukodesiHely : Delete
intezmenyHelper.onDeleteMukodesiHely = function (data) {
var postData = parseInt(data.ID);
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteMukodesiHely, postData);
}
// Feladat : Delete
intezmenyHelper.onDeleteFeladat = function (sender, data) {
_grid.IntezmenyFeladatEllatasiHelyDetailGrid = sender[0].parentElement.dataset.rowfunctionparent;
var postData = parseInt(data.ID);
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFeladat, postData);
}
intezmenyHelper.exportMukodesiHelyekAdatai = function () {
AjaxHelper.DownloadFile(_url.ExportMukodesiHelyekAdatai);
}
// Intezmeny : Info
function getIntezmenyAdatokPartial() {
AjaxHelper.DoGet(_url.RefreshIntezmenyAdatokPartial, undefined, successGetIntezmenyAdatokPartial);
}
function successGetIntezmenyAdatokPartial(data) {
$('#Intezmeny_AdatokInfo_Partial').html(data);
}
// Intezmeny : Mod
function modIntezmenyPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@IntezmenyResource.IntezmenyAdatainakSzerkesztese"; /*Intézmény adatainak szerkesztése*/
config.content = data;
var modal = KretaWindowHelper.createWindow(_window.ModIntezmenyWindow, config);
KretaWindowHelper.openWindow(modal, true);
}
function modIntezmenySaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
getIntezmenyAdatokPartial();
}
function modIntezmenySaveFeedBackError(data) {
var modelState = data.responseJSON.ModelState;
if (!CommonUtils.isUndefined(modelState)) {
AjaxHelper.CallRemoteErrors($("#" + _form.IntezmenyForm), modelState)
}
else {
var message = data.responseJSON.Message;
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", message, true);
}
}
// MukodesiHely : Info
function infoMukodesiHelyPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(3258))"; /*Működési hely adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow(_window.InfoMukodesiHelyWindow, config);
KretaWindowHelper.openWindow(modal, true);
}
// MukodesiHely : New
function newMukodesiHelyDoPost(data) {
AjaxHelper.DoPost(_url.ModMukodesiHelyPopUp, data, newMukodesiHelyPopUp);
}
function newMukodesiHelyPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.MukodesiHelyFelvetele)";
config.content = data;
var modal = KretaWindowHelper.createWindow(_window.ModMukodesiHelyWindow, config);
KretaWindowHelper.openWindow(modal, true);
}
// MukodesiHely : Mod
function mukodesiHelyDoPost(data) {
AjaxHelper.DoPost(_url.ModMukodesiHelyPopUp, data, modMukodesiHelyPopUp);
}
function modMukodesiHelyPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.MukodesiHelyAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow(_window.ModMukodesiHelyWindow, config);
KretaWindowHelper.openWindow(modal, true);
}
function modMukodesiHelySaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(_grid.IntezmenyMukodesiHelyGrid);
}
// Feladat : New
function newFeladatDoPost(postData) {
AjaxHelper.DoPost(_url.ModFeladatPopUp, postData, newFeladatPopUp);
}
function newFeladatPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EllatottKoznevelesiFeladatHozzaadasa)";
config.content = data;
config.maxWidth = "800px";
config.height = "250px";
var modal = KretaWindowHelper.createWindow(_window.ModFeladatWindow, config);
KretaWindowHelper.openWindow(modal, true);
originalFeladatTipus = $("#FeladatTipus", "#" + _form.FeladatForm).val();
}
// Feladat : Mod
function feladatDoPost(postData) {
AjaxHelper.DoPost(_url.ModFeladatPopUp, postData, modFeladatPopUp);
}
function modFeladatPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EllatottOktatasNevelesiFeladatModositasa)";
config.content = data;
config.maxWidth = "800px";
config.height = "250px";
var modal = KretaWindowHelper.createWindow(_window.ModFeladatWindow, config);
KretaWindowHelper.openWindow(modal, true);
originalFeladatTipus = $("#FeladatTipus", "#" + _form.FeladatForm).val();
}
function modFeladatSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(_grid.IntezmenyFeladatEllatasiHelyDetailGrid);
specialisModulFigyelmeztetes();
}
function specialisModulFigyelmeztetes() {
if (originalFeladatTipus != newFeladatTipus) {
if (
(isAMIModuleActive == "True" &&
(newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium)"))
||
(isKollegiumModuleActive == "True" &&
(newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.kollegium)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.GyermekotthoniFeladatok)"))
||
(isEGYMIModuleActive == "True" &&
(newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.OvodaGyogypedagogia)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.AltalanosIskolaGyogypedagogia)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.UtazoGyogypedagogusiHalozat)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.KonduktivPedagogiaiEllatas)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.keszsegfejleszto_iskola)"
|| newFeladatTipus == "@((int)Kreta.Enums.OktatasiNevelesiFeladatEnum.FejlesztoNevelesOktatas)"))
) {
KretaWindowHelper.feedbackWindow("@CommonResource.Figyelmeztetes", "@IntezmenyResource.ModositasokErvenyesiteshezUjrabejelentkezes", false);
}
}
}
// MukodesiHely : Delete
function deleteMukodesiHely(data) {
AjaxHelper.DoPost(_url.DeleteMukodesiHely, data, deleteMukodesiHelyFeedbackOk);
}
function deleteMukodesiHelyFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(_grid.IntezmenyMukodesiHelyGrid);
}
// Feladat : Delete
function deleteFeladat(data) {
AjaxHelper.DoPost(_url.DeleteFeladat, data, deleteFeladatFeedbackOk);
}
function deleteFeladatFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(_grid.IntezmenyFeladatEllatasiHelyDetailGrid);
specialisModulFigyelmeztetes();
}
@*// Error feedback
Itt nem kell használni, nem jelenik meg miatta az a hibaüzenet, ami jelzi, hogy ilyen nevű müködési hely létezik
function feedbackError(data) {
var dataJson = data.responseJSON;
var msg = dataJson.Message;
// Ha van ModelState error, akkor rakjuk azt az msg-be.
var modelStateObject = dataJson.ModelState;
if (typeof modelStateObject !== "undefined" && modelStateObject !== null) {
//Hibaüzenetek debugoláshoz,az üzenetek már hozzá vannak adva a validationsummaryhoz az ApiControllerben.
msg = '';
var modelStateTagintezmenyiKodUres = modelStateObject['Tagintezmeny'];
var modelStateTagintezmenyiKodLetezik = modelStateObject['TagintezmenyLetezik'];
msg += modelStateTagintezmenyiKodUres;
if (msg == '') {
msg += ', ';
}
msg += modelStateTagintezmenyiKodLetezik;
}
// Az msg-ben benne van ugyan, de a ModelState error-t ne jelenítse meg felugró ablak, mert a ValidationSummary amúgy is jelzi...
if (CommonUtils.isNullOrUndefined(modelStateObject)) {
KretaWindowHelper.feedbackWindow("@(StringResourcesUtil.GetString(367))" /*Hiba*/, msg, true, KretaWindowHelper.destroyAllWindow);
}
}*@
// Működési hely székhely beállítás
function setSzekhely(data) {
AjaxHelper.DoPost(_url.SetSzekhely, data, setSzekhelyFeedBackOk);
KretaGridHelper.refreshGrid(_grid.IntezmenyMukodesiHelyGrid);
}
intezmenyHelper.setSzekhelyConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(StringResourcesUtil.GetString(3844))" /*Biztosan beállítja ezt a működési helyet székhelynek?*/, setSzekhely, rowData.ID);
}
function setSzekhelyFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid(_grid.IntezmenyMukodesiHelyGrid);
}
//Feladatellátási hely adatok popup
intezmenyHelper.openFeladatAdatok = function (rowData) {
if (rowData.ID) {
AjaxHelper.DoGet(_url.OpenFeladatellatasiHelyAdatok, { FeladellHelyID: rowData.ID }, popupFeladellHelyAdat);
}
}
function popupFeladellHelyAdat(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(IntezmenyResource.EllatottOktatasNevelesiFeladatAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("FeladatellatasiHelyAdatok", config);
KretaWindowHelper.openWindow(modal, true);
}
intezmenyHelper.cancelFeladatellatasiHelyAdatok = function () {
KretaWindowHelper.destroyWindow("FeladatellatasiHelyAdatok");
}
return intezmenyHelper;
})();
$(document).ready(function () {
KretaGridHelper.openAllGrid();
});
</script>

View File

@@ -0,0 +1,50 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Controllers
@model IntezmenyModel
@{
var isNevOMKodModosithatoClass = "";
if (ApplicationData.SystemType != SystemType.AZURE || ApplicationData.SystemType != SystemType.NSZFH_EMA) { isNevOMKodModosithatoClass = "disabledItem"; }
}
<div class="container-fluid details">
@using (Html.KretaForm("IntezmenyForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
<div class="row @isNevOMKodModosithatoClass">
@Html.KretaTextBoxFor(x => x.IntezmenyNev).RenderWithName(3,3,tooltipResource: IntezmenyResource.IntezmenyNevAlapitoOkiratabanTooltip)
@Html.KretaMaskedTextBoxFor(x => x.OMKod, "000000").RenderWithName(3,3,tooltipResource: IntezmenyResource.IntezmenyHatszamjegyuAzonositoKodjaTooltip)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.IgazgatoNeve).RenderWithName(3,3)
</div>
@Html.Partial("_Cim_Elerhetoseg_Partial", Model)
<div class="row">
@Html.KretaTextBoxFor(x => x.RovidNev).RenderWithName(3,3,tooltipResource: IntezmenyResource.IntezmenyRovidNevAlapitoOkiratbanTooltip)
@Html.KretaTextBoxFor(x => x.Telefon).RenderWithName(3,3,tooltipResource: IntezmenyResource.TelefonszamTooltip)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Email).RenderWithName(3,3,tooltipResource: IntezmenyResource.EmailCimTooltip)
@if (ClaimData.IsKretaAdministrator)
{
@Html.KretaTextBoxFor(x => x.AdminEmail).RenderWithName(3,3,tooltipResource: IntezmenyResource.AzIntezmenyAdminEmailCimeTooltip)
}
</div>
<div class="row">
@Html.KretaNumericFor(x => x.EngedelyezettAllashely).Step(0.5).Max(500).RenderWithName(3, 3)
@if (Model.IsSzakkepzo)
{
<div class="disabledItem">
@Html.KretaNumericFor(x => x.JuttatasHatarnap).Min(1).Max(28).Step(1).RenderWithName(3, 3, tooltipResource: IntezmenyResource.JuttatasHatarnapTooltip)
</div>
}
</div>
}
</div>

View File

@@ -0,0 +1,75 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums
@using Kreta.Resources;
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Controllers
@model MukodesiHelyModel
<div class="container-fluid details">
@using (Html.KretaForm("MukodesiHelyForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
<div class="row">
@Html.KretaTextBoxFor(x => x.Nev).RenderWithName(tooltipResource: IntezmenyResource.MukodesiHelyNeveTooltip)
</div>
<div class="row">
@Html.KretaMaskedTextBoxFor(x => x.MukodesiHelyAzonosito, "000", new Dictionary<string, object> { { "maxlength", 3 } }).RenderWithName(tooltipResource: IntezmenyResource.MukodesiHelyAzonositoTooltip)
</div>
@Html.Partial("_Cim_Elerhetoseg_Partial", Model)
<div class="row">
@Html.KretaTextBoxFor(x => x.Telefonszam).RenderWithName(tooltipResource: IntezmenyResource.MukodesiHelyTelefonszamTooltip)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Fax).RenderWithName(tooltipResource: IntezmenyResource.MukodesihelyFaxSzamaTooltip)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Email).RenderWithName(tooltipResource: IntezmenyResource.MukodesihelyEmailcimeTooltip)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.MukodesiHelyTipusa, EnumController.Cache.MukodesiHelyTipusaSelectList).RenderWithName(tooltipResource: IntezmenyResource.MukodesihelyTipusaTooltip)
</div>
<div class="row" id="vezetoNeveContainer">
@Html.KretaTextBoxFor(x => x.VezetoNeve).RenderWithName()
</div>
<div class="row" id="anyaIntezmenyContainer">
@Html.KretaComboBoxFor(x => x.TelephelyAnyaintezmeny, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTelephelyAnyaintezmenyList", id = Model.Id.HasValue ? Model.Id : -1 })).AutoBind(true).RenderWithName(tooltipResource: IntezmenyResource.TelephelyAnyaintezmenyTooltip)
</div>
}
</div>
<script>
var mukodesiHelyEditor = {
setVezetoNeveContainerVisibility: function() {
var value = $("#MukodesiHelyTipusa").data("kendoComboBox").value();
var tagintezmeny = @MukodesiHelyTipusEnum.Tagintezmeny.AsInt();
var telephely = @MukodesiHelyTipusEnum.Telephely.AsInt();
if (value == tagintezmeny) {
$("#vezetoNeveContainer").show();
} else {
$("#vezetoNeveContainer").hide();
$("#VezetoNeve").val('');
}
if (value == telephely) {
$("#anyaIntezmenyContainer").show();
} else {
$("#anyaIntezmenyContainer").hide();
$("#TelephelyAnyaintezmeny").data("kendoComboBox").value('');
}
}
}
$(document)
.ready(function() {
mukodesiHelyEditor.setVezetoNeveContainerVisibility();
$("#MukodesiHelyTipusa")
.on("change", mukodesiHelyEditor.setVezetoNeveContainerVisibility);
});
</script>

View File

@@ -0,0 +1,46 @@
@using Kreta.Resources;
@using Kreta.Web.Areas.Intezmeny.Models
@model MukodesiHelyModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.Nev).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesiHelyNeveTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Iranyitoszam).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyIranyitoszamTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HelysegNev_Str).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyHelysegnevTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KozteruletNev).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyKozteruletTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KozteruletTipus_Str).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyKozteruletJellegTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Hazszam).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyHazszamTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Emelet).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesiHelyEmeletTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Ajto).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyAjtoTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Telefonszam).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesiHelyTelefonszamTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Fax).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyFaxSzamaTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Email).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesihelyEmailcimeTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.MukodesiHelyAzonosito).RenderWithTooltip(tooltipResource: IntezmenyResource.MukodesiHelyAzonositoTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.VezetoNeve)
</div>
</div>

View File

@@ -0,0 +1,307 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Intezmeny.Controllers
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers.Grid
@model OktatottSzakmakSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var gridName = OktatottSzakmakController.GridName;
var searchFormName = OktatottSzakmakController.SearchFormName;
var downloadFileFormName = OktatottSzakmakController.DownloadFileFormName;
var multipleModifyPopUpId = OktatottSzakmakController.MultipleModifyPopUpId;
var modifyPopUpId = OktatottSzakmakController.ModifyPopUpId;
var infoPopUpId = OktatottSzakmakController.InfoPopUpId;
var modifyFormName = OktatottSzakmakController.ModifyFormName;
var multipleModifyFormName = OktatottSzakmakController.MultipleModifyFormName;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaTextBoxFor(x => x.SzakkepesitesMegnevezeseSearch).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.AgazatiBesorolasSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzakkepesitesAzonositoszamSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.JelenlegZajloKepzesSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.KepzesreFogadhatoTanulokSzamaSearch).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.JelenlegKepzettTanulokSzamaSearch).RenderSearchPanelSideBar()
}
}
@{
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "OktatottSzakmakHelper.getExport" }
};
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Modositas, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaMultipleModifyPopUp" },
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
};
List<RowFunction> rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaModifyPopUp", IconEnum = GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Adatok, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok }
};
}
<div>
@(
Html.KretaGrid<OktatottSzakmakGridModel>(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetOktatottSzakmakGrid"),
allowScrolling: true,
dataParameterFunction: searchFormName,
sort: sort => sort.Add(m => m.SzakkepesitesMegnevezese).Ascending()
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.SzakkepesitesMegnevezese);
columns.Bound(c => c.OktatasiNevelesiFeladatNev).Width("15%");
columns.Bound(c => c.AgazatiBesorolas).Width("10%");
columns.Bound(c => c.SzakkepesitesAzonositoszam).Width("10%");
columns.Bound(c => c.JelenlegZajloKepzes).Width("10%");
columns.Bound(c => c.KepzesreFogadhatoTanulokSzama).Width("10%");
columns.Bound(c => c.JelenlegKepzettTanulokSzama).Width("10%");
})
.FunctionCommand(Html, functions)
.RowFunction(Html, rowFunctionList)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@using (Html.KretaForm("DownloadFile", Model.ControllerName, FormMethod.Post, downloadFileFormName))
{
<div style="float:right;display:none;">
@Html.KretaButton("kretaDownloadSubmit", NyomtatvanyokResource.Letoltes, "submit")
<div style="float:right;">
@Html.Hidden("FileIdHiddenField");
</div>
</div>
}
<script type="text/javascript">
var OktatottSzakmakHelper = (function() {
var oktatottSzakmakHelper = function() {};
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var multipleModifyPopUpId = "@multipleModifyPopUpId";
var modifyPopUpId = "@modifyPopUpId";
var infoPopUpId = "@infoPopUpId";
var modifyFormName = "@modifyFormName";
var multipleModifyFormName = "@multipleModifyFormName";
var url = {
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExport" })",
OpenOktatottSzakmaMultipleModifyPopUp: "@Url.Action("OpenOktatottSzakmaMultipleModifyPopUp", Model.ControllerName, new { area = "Intezmeny" })",
OktatottSzakmaMultipleModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "OktatottSzakmaMultipleModify" })",
OpenOktatottSzakmaModifyPopUp: "@Url.Action("OpenOktatottSzakmaModifyPopUp", Model.ControllerName, new { area = "Intezmeny" })",
OktatottSzakmaModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "OktatottSzakmaModify" })",
OpenOktatottSzakmaInfoPopUp: "@Url.Action("OpenOktatottSzakmaInfoPopUp", Model.ControllerName, new { area = "Intezmeny" })"
}
oktatottSzakmakHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
oktatottSzakmakHelper.openOktatottSzakmaMultipleModifyPopUp = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(CommonResource.Kivalasztas)", "@(CommonResource.ACsoportosModositashozLegalabbEgyElemKivalasztasaSzukseges)");
} else if (selectedRows.length == 1) {
var postData = {
Id: selectedRows[0].ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaModifyPopUp, postData, function(data) { popUpModifyWindow(data, selectedRows[0].SzakkepesitesMegnevezese); });
} else {
var postData = [];
$.each(selectedRows,
function(index, value) {
postData.push(value.ID);
});
AjaxHelper.DoPost(url.OpenOktatottSzakmaMultipleModifyPopUp, postData, popUpMultipleModifyWindow);
}
}
oktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpSave = function() {
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoPostElement(url.OktatottSzakmaMultipleModify, multipleModifyFormName, successCallBack, errorCallBack);
}
oktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpCancel = function() {
KretaWindowHelper.destroyWindow(multipleModifyPopUpId);
}
oktatottSzakmakHelper.openOktatottSzakmaModifyPopUp = function(rowData) {
var postData = {
Id: rowData.ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaModifyPopUp, postData, function(data) { popUpModifyWindow(data, rowData.SzakkepesitesMegnevezese); });
}
oktatottSzakmakHelper.onSelectEvent = function(e, allowedFileExtensionArray, attachmentMaxFileSizeInBytes) {
KretaFileUpload.StopAnimation();
var isValid = true;
var attachments = e.files;
for (var i = 0; i < attachments.length; i++) {
if (attachmentMaxFileSizeInBytes < attachments[i].size) {
e.preventDefault();
var errorMessage = "@ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete";
errorMessage = errorMessage.replace("{0}", attachmentMaxFileSizeInBytes / (1024 * 1024));
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
isValid = false;
break;
}
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray) === -1) {
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
isValid = false;
break;
}
}
if (isValid) {
var isUjFile = CommonUtils.isNullOrWhiteSpace($("#FileId").val());
$("#FileId").val(null);
$("#downloadFile").removeClass("btn-primary");
$("#downloadFile").addClass("btn-default disabled");
$("#deleteFile").removeClass("btn-primary");
$("#deleteFile").addClass("btn-default disabled");
var feltoltesText;
if (isUjFile) {
feltoltesText = "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatMentesUj";
} else {
feltoltesText = "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatMentesModositas";
}
$("div.fileInfo").html('<label class="windowInputLabel">' + feltoltesText + '</label>');
}
}
oktatottSzakmakHelper.oktatottSzakmaModifyPopUpSave = function () {
var uploadedFile = $("#Nyilatkozat").data('kendoUpload').wrapper.find("input[type='file']")[0].files[0];
if (!CommonUtils.isNullOrUndefined(uploadedFile)) {
var reader = new FileReader();
reader.onloadend = function() {
var file = {
Name: uploadedFile.name,
Size: uploadedFile.size,
Type: uploadedFile.type,
ContentAsBase64EncodedString: reader.result
}
oktatottSzakmaSave(file);
}
reader.readAsDataURL(uploadedFile);
} else {
oktatottSzakmaSave(null);
}
}
oktatottSzakmakHelper.oktatottSzakmaModifyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(modifyPopUpId);
}
oktatottSzakmakHelper.openOktatottSzakmaInfoPopUp = function (rowData) {
var postData = {
Id: rowData.ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaInfoPopUp, postData, function (data) { popUpInfoWindow(data, rowData.SzakkepesitesMegnevezese); });
}
oktatottSzakmakHelper.oktatottSzakmaInfoPopUpCancel = function() {
KretaWindowHelper.destroyWindow(infoPopUpId);
}
function popUpMultipleModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakmakTobbesModositasa";
config.content = data;
var modal = KretaWindowHelper.createWindow(multipleModifyPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyWindow(data, SzakkepesitesMegnevezese) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakmaModositasa" + ": " + SzakkepesitesMegnevezese;
config.content = data;
var modal = KretaWindowHelper.createWindow(modifyPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function oktatottSzakmaSave(file) {
var modifyForm = $("#" + modifyFormName);
if (modifyForm.valid()) {
var formObject = modifyForm.toObject();
var isFajlFeltoltve = !CommonUtils.isNullOrUndefined(formObject.FileId) || !CommonUtils.isNullOrUndefined(file)
if (!formObject.IsNyilatkozott && isFajlFeltoltve) {
KretaWindowHelper.warningWindow("@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetes", "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetesTextFajlNyilatkozat");
} else if (formObject.IsNyilatkozott && !isFajlFeltoltve) {
KretaWindowHelper.warningWindow("@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetes", "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetesTextNyilatkozatFajl");
} else {
var data = {
Id: formObject.Id,
FileId: formObject.FileId,
FileNev: formObject.FileNev,
File: file,
SzakkepesitesMegnevezese: formObject.SzakkepesitesMegnevezese,
OktatasiNevelesiFeladatNev: formObject.OktatasiNevelesiFeladatNev,
AgazatiBesorolas: formObject.AgazatiBesorolas,
SzakkepesitesAzonositoszam: formObject.SzakkepesitesAzonositoszam,
JelenlegZajloKepzes: formObject.JelenlegZajloKepzes,
KepzesreFogadhatoTanulokSzama: formObject.KepzesreFogadhatoTanulokSzama,
JelenlegKepzettTanulokSzama: formObject.JelenlegKepzettTanulokSzama,
IsNyilatkozott: formObject.IsNyilatkozott,
ShortFileNev: formObject.ShortFileNev,
FeltoltesDatumText: formObject.FeltoltesDatumText,
EszkozallomanyAvultsaga: formObject.EszkozallomanyAvultsaga,
EszkozokDarabszama: formObject.EszkozokDarabszama,
EgyebEszkozallomanyInformacio: formObject.EgyebEszkozallomanyInformacio,
TanmuhelyekSzama: formObject.TanmuhelyekSzama
};
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoValidationPost(url.OktatottSzakmaModify, modifyFormName, data, successCallBack, errorCallBack);
}
}
}
function popUpInfoWindow(data, SzakkepesitesMegnevezese) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakma" + ": " + SzakkepesitesMegnevezese;
config.content = data;
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function successCallBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function errorCallBack() {
var message = "@(ErrorResource.EgyebVaratlanNemKezeltHiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true);
}
return oktatottSzakmakHelper;
})();
</script>

View File

@@ -0,0 +1,42 @@
@using Kreta.Web.Areas.Intezmeny.Models
@model OktatottSzakmaInfoModel.AlapadatModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.SzakkepesitesMegnevezese, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OktatasiNevelesiFeladatNev, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.AgazatiBesorolas, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.SzakkepesitesAzonositoszam, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.JelenlegZajloKepzes, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KepzesreFogadhatoTanulokSzama, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.JelenlegKepzettTanulokSzama, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.IsNyilatkozott, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.EszkozallomanyAvultsaga, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.EszkozokDarabszama, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.EgyebEszkozallomanyInformacio, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanmuhelyekSzama, 6, 6)
</div>
</div>

View File

@@ -0,0 +1,7 @@
@using Kreta.Web.Areas.Intezmeny.Models
@model OktatottSzakmaInfoModel
<div id="MulasztasInfoTabStrip">@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)</div>
@Html.KretaTabStrip("MulasztasInfoTabStrip").Animation(false).RenderOnModal()

View File

@@ -0,0 +1,34 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Areas.Intezmeny.Controllers
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers.Grid
@model int
@{
var gridName = OktatottSzakmakController.OktatottSzakmaTanulokGridName;
var searchFormName = OktatottSzakmakController.OktatottSzakmaTanulokSearchFormName;
}
<div>
@(
Html.KretaGrid<OktatottSzakmaTanulokGridModel>(
gridName,
new GridApiUrl("OktatottSzakmakApi", "GetOktatottSzakmaTanuloGrid", new Dictionary<string, string> { { "Id", Model.ToString() } }),
sort: sort => sort.Add(m => m.NevElotagNelkul).Ascending(),
useToolBar: false
)
.Columns(columns =>
{
columns.Bound(c => c.NevElotagNelkul).SetDisplayProperty("Nev");
columns.Bound(c => c.SzakkepesitesMegnevezese).Width("15%");
columns.Bound(c => c.AnyjaNeve).Width("15%");
columns.Bound(c => c.SzuletesiHely).Width("15%");
columns.Bound(c => c.SzuletesiIdo).Width("15%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.OktatasiAzonosito).Width("15%");
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,194 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Intezmeny.Controllers
@using Kreta.Web.Areas.Intezmeny.Models
@model OktatottSzakmaModifyModel
@using (Html.KretaForm(OktatottSzakmakController.ModifyFormName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.FileId)
@Html.HiddenFor(x => x.FileNev)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.SzakkepesitesMegnevezese, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OktatasiNevelesiFeladatNev, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.AgazatiBesorolas, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.SzakkepesitesAzonositoszam, 6, 6)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.JelenlegZajloKepzes, 6, 6)
</div>
<div class="row">
@Html.KretaNumericFor(x => x.KepzesreFogadhatoTanulokSzama).Min(0).Max(1000).RenderWithName(6, 2)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.JelenlegKepzettTanulokSzama, 6, 6)
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6">
<label class="windowInputLabel">@UjSzktSzakmajegyzekOsszerendelesResource.Nyilatkozat</label>
</div>
<div class="col-xs-12 col-sm-12 col-md-6">
@Html.KretaCheckBoxFor(x => x.IsNyilatkozott).Label(UjSzktSzakmajegyzekOsszerendelesResource.IsNyilatkozott)
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 nyilatkozatLabelDiv">
<label class="windowInputLabel">@Html.Raw(string.Format(UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFeltoltese, Model.MaxAllowedFileSizeInMegaBytes, string.Join(", ", Model.AllowedFileExtensions.Select(x => x.Key))))</label>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 padding0">
<div class="col-xs-12 col-sm-12 col-md-12" style="padding-top: 0;">
<div class="padding0 floatleft" style="padding-right: 15px;">
<a id="downloadFile" href="#" class="btn @((!Model.IsFileFeltoltve) ? "btn-default disabled" : "btn-primary")">
<i class="fa fa-2x fa-download dokumentum-item-padding" aria-hidden="true"></i>
</a>
<a id="deleteFile" href="#" class="btn @((!Model.IsFileFeltoltve) ? "btn-default disabled" : "btn-primary")">
<i class="fa fa-2x fa-trash dokumentum-item-padding" aria-hidden="true"></i>
</a>
</div>
<div class="padding0 floatleft fileInfo">
@if (Model.IsFileFeltoltve && !string.IsNullOrWhiteSpace(Model.FileNev))
{
if (Model.IsFileNevTooLong)
{
@Html.KretaLabelFor(x => x.ShortFileNev).RenderWithTooltip(4, 8, true, tooltipResource: Model.FileNev)
}
else
{
@Html.KretaLabelFor(x => x.ShortFileNev, 4, 8, true)
}
@Html.KretaLabelFor(x => x.FeltoltesDatumText, 4, 8, true)
}
else
{
<label class="windowInputLabel">@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatNincsFeltoltve</label>
}
</div>
</div>
<div id="FileInputContainer" class="col-xs-12 col-sm-12 col-md-12" style="padding-top: 0px;">
@Html.KretaFileUpload(
"Nyilatkozat",
onSelectEvent: "function(e){ onSelectEvent(e); }",
allowMultiple: false,
selectText: (!Model.IsFileFeltoltve) ? "Feltöltés" : "Új feltöltés",
htmlAttributes: new Dictionary<string, object> { { "accept", string.Join(",", Model.AllowedFileExtensions.Select(x => x.Value)) } })
</div>
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EszkozallomanyAvultsaga).RenderWithName(6, 6)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EszkozokDarabszama).RenderWithName(6, 6)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EgyebEszkozallomanyInformacio).RenderWithName(6, 6)
</div>
<div class="row">
@Html.KretaTextAreaFor(x => x.TanmuhelyekSzama).RenderWithName(6, 6)
</div>
</div>
}
<script type="text/javascript">
$(document).ready(function() {
$("#downloadFile").click(function() {
var id = parseInt(@Model.FileId);
if (CommonUtils.isNullOrUndefined(id)) {
KretaWindowHelper.warningWindow("@(CommonResource.FajlLetoltes)", "@(CommonResource.NincsFeltoltottFajlEzertNemLehetLetolteni)");
} else {
downloadFile(id);
}
});
$("#deleteFile").click(function(id) {
var id = parseInt(@Model.FileId);
if (CommonUtils.isNullOrUndefined(id)) {
KretaWindowHelper.warningWindow("@(CommonResource.FajlTorles)", "@(CommonResource.NincsFeltoltottFajlEzertNemLehetTorolni)");
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(CommonResource.FajlTorlesFigyelmeztetesMentessel)", deleteFile);
}
});
});
function downloadFile(fileId) {
$("#FileIdHiddenField").val(fileId);
$("#kretaDownloadSubmit").click();
}
function deleteFile() {
$("#FileId").val(null);
$("#downloadFile").removeClass("btn-primary");
$("#downloadFile").addClass("btn-default disabled");
$("#deleteFile").removeClass("btn-primary");
$("#deleteFile").addClass("btn-default disabled");
$("div.fileInfo").html('<label class="windowInputLabel">Csak a mentés gomb megnyomása után törlődik a feltöltött nyilatkozat</label>')
}
function onSelectEvent(e) {
var allowedFileExtensions = @Html.Raw(Json.Encode(Model.AllowedFileExtensions.Select(x => x.Key)));
var maxAllowedFileSizeInBytes = parseInt("@Model.MaxAllowedFileSizeInBytes");
OktatottSzakmakHelper.onSelectEvent(e, allowedFileExtensions, maxAllowedFileSizeInBytes);
}
</script>
<style>
.k-checkbox-label::before {
top: -2px;
}
.k-checkbox-label {
font-weight: 600;
top: -2px;
}
i.dokumentum-item-padding {
padding-top: 10px;
padding-bottom: 10px;
display: block;
background-color: transparent;
width: 51px
}
a[id^="download"], a[id^="delete"] {
margin-top: 10px;
margin-bottom: 10px;
padding: 0px;
}
.padding0 {
padding: 0 0 0 0;
}
.padding0.fileInfo div {
padding: 0 0 0 0;
min-height: 25px;
height: 25px;
}
div.nyilatkozatLabelDiv {
padding-top: 13px !important;
}
div.nyilatkozatLabelDiv label.windowInputLabel {
display: inline;
}
div.nyilatkozatLabelDiv label.windowInputLabel span {
display: block;
}
</style>

View File

@@ -0,0 +1,29 @@
@using Kreta.Web.Areas.Intezmeny.Controllers
@using Kreta.Web.Areas.Intezmeny.Models
@model OktatottSzakmaMultipleModifyModel
@using (Html.KretaForm(OktatottSzakmakController.MultipleModifyFormName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.IdsString)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.SzakkepesitesMegnevezeseListString, 6, 6)
</div>
<div class="row">
@Html.KretaNumericFor(x => x.KepzesreFogadhatoTanulokSzama).Min(0).Max(1000).RenderWithName(6, 2)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EszkozallomanyAvultsaga).RenderWithName(6, 6)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EszkozokDarabszama).RenderWithName(6, 6)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.EgyebEszkozallomanyInformacio).RenderWithName(6, 6)
</div>
</div>
}

View File

@@ -0,0 +1,104 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Security
@model TeremModel
@Html.HiddenFor(x => x.TeremAlapadatokModel.IsFromSzervezet)
<div class="container-fluid details">
<div class="row">
@Html.KretaTextBoxFor(x => x.TeremAlapadatokModel.Nev).RenderWithName()
</div>
@if(!Model.TeremAlapadatokModel.IsFromSzervezet)
{
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremAlapadatokModel.Jelleg, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetTeremJellegList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremAlapadatokModel.MukodesiHelyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetMukodesiHelyList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremAlapadatokModel.Teremfelelos, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetTeremFelelosList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.Terulet).Max(9999).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.Kapacitas).Min(ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny ? 0 : 1).Max(5000).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.VizsgaKapacitas).Max(5000).RenderWithName()
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeremAlapadatokModel.Aktiv).RenderWithName()
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeremAlapadatokModel.TobbOratLehetTartani).RenderWithName()
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeremAlapadatokModel.WifiLefedett).RenderWithName()
</div>
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeremAlapadatokModel.IsInternetkapcsolatElerheto).RenderWithName()
</div>
<div class="row" id="internetkapcsolatElerhetoContainer1">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep).Min(0).Max(9999).RenderWithName()
</div>
<div class="row" id="internetkapcsolatElerhetoContainer2">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.PedagogusHozzaferhInternetesgep).Min(0).Max(9999).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.TeremAlapadatokModel.OktCelraHasznaltSzamitogepekSzama).Min(0).Max(9999).RenderWithName()
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeremAlapadatokModel.IsInterakttablavalMunkaallomassalFelszerelt).RenderWithName()
</div>
}
}
else
{
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremAlapadatokModel.SzervezetId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetDualisKepzohelyek }), "Text", "Value", useGroup: true, showUnknownValueMessage: false).AutoBind(true).RenderWithName()
</div>
@Html.HiddenFor(x => x.TeremAlapadatokModel.Kapacitas)
}
<div class="row">
@Html.KretaTextBoxFor(x => x.TeremAlapadatokModel.Megjegyzes).RenderWithName()
</div>
</div>
<script>
$(document).ready(function () {
if (CommonUtils.parseBool("@(!Model.TeremAlapadatokModel.SzervezetId.HasValue)")) {
$("[for*='TeremAlapadatokModel_MukodesiHelyID']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
}
if (CommonUtils.parseBool("@(ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny && !Model.TeremAlapadatokModel.SzervezetId.HasValue)")) {
$("[for*='TeremAlapadatokModel.Kapacitas']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
$("[for*='TeremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
$("[for*='TeremAlapadatokModel.PedagogusHozzaferhInternetesgep']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
SetBasicControls();
$('#TeremAlapadatokModel_IsInternetkapcsolatElerheto').change(function () {
SetBasicControls();
});
}
if (CommonUtils.parseBool("@(ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny && Model.TeremAlapadatokModel.IsFromSzervezet)")) {
$("[for*='TeremAlapadatokModel_SzervezetId']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
$("[for*='TeremAlapadatokModel_HelyszinTipusId']").append($("<span>", { "class": "required-indicator", "style": "padding-left:4px" }).text("*"));
}
});
function SetBasicControls() {
if ($('#TeremAlapadatokModel_IsInternetkapcsolatElerheto').is(':checked')) {
$('#internetkapcsolatElerhetoContainer1').show();
$('#internetkapcsolatElerhetoContainer2').show();
}
else {
$('#internetkapcsolatElerhetoContainer1').hide();
$('#internetkapcsolatElerhetoContainer2').hide();
}
}
</script>

View File

@@ -0,0 +1,70 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Security
@model TeremModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.Nev)
</div>
@if (!Model.TeremAlapadatokModel.IsFromSzervezet)
{
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.JellegNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.MukodesiHelyNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.TeremfelelosNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.Terulet)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.Kapacitas)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.VizsgaKapacitas)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.AktivSzoveg)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.TobbOratLehetTartaniSzoveg)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.WifiLefedettSzoveg)
</div>
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny && !Model.TeremAlapadatokModel.IsFromSzervezet)
{
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.IsInternetkapcsolatElerhetoSzoveg)
</div>
if (Model.TeremAlapadatokModel.IsInternetkapcsolatElerheto)
{
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.TanulokSzamaraHozzaferhInternetesgep)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.PedagogusHozzaferhInternetesgep)
</div>
}
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.OktCelraHasznaltSzamitogepekSzama)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.IsInterakttablavalMunkaallomassalFelszereltSzoveg)
</div>
}
}
else
{
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremAlapadatokModel.SzervezetId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetDualisKepzohelyek }), "Text", "Value").AutoBind(true).Enable(false).RenderWithName()
</div>
}
<div class="row">
@Html.KretaLabelFor(x => x.TeremAlapadatokModel.Megjegyzes)
</div>
</div>

View File

@@ -0,0 +1,27 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes
@model TeremModel
<div>
@(
Html.KretaGrid<OrarendiOraGridModel>
(
name: "OrarendiOraGrid",
getUrl: new GridApiUrl(Constants.ApiControllers.TeremApi, "GetTeremOrarendiOrai", new Dictionary<string, string> { { "teremID", Model.TeremId.ToString() } })
)
.Columns(columns =>
{
columns.Bound(c => c.Hetirend_DNAME).Width("10%");
columns.Bound(c => c.Hetnapja_DNAME).Width("10%").Sortable(false);
columns.Bound(c => c.Ora).Width("10%");
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.ErvenyessegKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.ErvenyessegVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View File

@@ -0,0 +1,41 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Intezmeny.Models;
@using Kreta.BusinessLogic.Security;
@using Kreta.Web.Security
@model int?
@{
var grid = Html.KretaGrid<IntezmenyFeladatEllatasiHelyGridModel>(
name: "IntezmenyFeladatEllatasiHelyDetailGrid_" + Model.ToString(),
getUrl: new GridApiUrl("IntezmenyApi", "GetIntezmenyFeladatEllatasiHelyGrid", new Dictionary<string, string> { { "Id", Model.ToString() } }),
useToolBar: false
);
if (ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue))
{
grid.Columns(columns =>
{
columns.Bound(c => c.OktatasiNevelesiFeladatTipus_DNAME);
});
}
else
{
var rowFunctionList = new List<RowFunction>();
if (ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue) && !ClaimData.IsSelectedTanevIsElozo)
{
rowFunctionList.Add(new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction = "IntezmenyHelper.onModFeladat", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas, SendSender = true });
}
rowFunctionList.Add(new RowFunction {NameResourceId = 118 /*Adatok*/, ClientAction = "IntezmenyHelper.openFeladatAdatok", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok});
if (ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue) && !ClaimData.IsSelectedTanevIsElozo)
{
rowFunctionList.Add(new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "IntezmenyHelper.onDeleteFeladat", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles, SendSender = true });
}
grid.LinkButtonColumn(string.Empty, c => c.OktatasiNevelesiFeladatTipus_DNAME, "IntezmenyHelper.openFeladatAdatok", Kreta.Enums.ManualEnums.GridButtonsEnum.Kivalasztas)
.RowFunction(Html, rowFunctionList);
}
}
<div id="partialDetailGrid_@Model.ToString()">
@(grid)
</div>

View File

@@ -0,0 +1,22 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Resources
@model IntezmenyInfoModel.Info
<div class="container-fluid details section-title">
<div class="row">
<h3>@IntezmenyResource.IntezmenyiAdatok</h3>
</div>
<div class="row">
@Html.KretaLabelFor(x => x.intezmenyInfoModel.IntezmenyNev, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.IntezmenyNevAlapitoOkiratabanTooltip)
@Html.KretaLabelFor(x => x.intezmenyInfoModel.Telefon, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.TelefonszamTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.intezmenyInfoModel.RovidNev, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.IntezmenyRovidNevAlapitoOkiratbanTooltip)
@Html.KretaLabelFor(x => x.intezmenyInfoModel.Email, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.EmailCimTooltip)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.intezmenyInfoModel.OMKod, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.IntezmenyHatszamjegyuAzonositoKodjaTooltip)
@Html.KretaLabelFor(x => x.intezmenyInfoModel.Cim, labelWidth: 3, inputWidth: 3).RenderWithTooltip(tooltipResource: IntezmenyResource.AzIntezmenyPostaiCime)
</div>
</div>

View File

@@ -0,0 +1,45 @@
@using Kreta.Web.Areas.Intezmeny.Models
@model IntezmenyModel
<div class="container-fluid details section-title">
<div class="row">
<h3>@StringResourcesUtils.GetString(482)</h3>
</div>
<div class="row">
@Html.KretaLabelFor(x => x.IntezmenyNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.RovidNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OMKod)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Telefon)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Email)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Iranyitoszam_Str)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HelysegNev_Str)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KozteruletNev)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KozteruletTipus_Str)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Hazszam)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Emelet)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Ajto)
</div>
</div>

View File

@@ -0,0 +1,63 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Enums.ManualEnums
@model IntezmenyiDokumentumModel
@{ var idPost = Model.Tipus.ToString(); }
<div id="@(Model.Tipus.ToString())" class="col-lg-2 col-md-3 col-sm-6 col-xs-12" style="text-align: center;">
@Html.HiddenFor(x => x.IktatottDokumentumId)
@Html.HiddenFor(x => x.Tipus)
<strong>
<span class="col-md-12 dokumentum-item-padding dokumentum-item-type">@Model.Nev</span>
</strong>
<i class="fa fa-3x @((Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? " fa-times" : "fa-check-circle") dokumentum-item-padding col-md-12" aria-hidden="true"
style="color:@((Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? "red" : "green");"></i>
<span class="col-md-12 dokumentum-item-padding dokumentum-item-filename">@Model.FajlNev</span>
<a id="download@(idPost)" href="#" class="btn @((Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? "btn-default disabled" : "btn-primary")">
<i class="fa fa-3x @((Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? " fa-upload" : "fa-download") dokumentum-item-padding col-md-12" aria-hidden="true"
@((Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? "" : "")></i>
</a>
<div id="DokumentumokInputContainer@(idPost)">
@Html.KretaAsyncFileUpload("KotelezoDokumentum" + idPost,
onSelectEvent: "function(e){ KotelezoDokumentumFileUploadHelper.onSelect('" + @Model.Tipus + "', e); }",
onUploadEvent: "function(e) { KotelezoDokumentumFileUploadHelper.uploadDokumentum('" + @Model.Tipus + "', e);}",
onErrorEvent: "function(e) { KotelezoDokumentumFileUploadHelper.onError('" + @Model.Tipus + "', e); }",
onCompleteEvent: "function(e) { KotelezoDokumentumFileUploadHelper.onComplete('" + Model.Tipus + "', e); }", allowMultiple: false,
selectText: (@Model.Statusz == IntezmenyiDokumentumStatuszEnum.NincsFeltoltve) ? "Feltöltés" : "Új feltöltés",
htmlAttributes: new Dictionary<string, object> { { "accept", ".pdf,.doc,.docx" } })
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#IktatottDokumentumId").attr('id', 'IktatottDokumentumId@(idPost)')
.attr('name', 'IktatottDokumentumId@(idPost)')
$("#Tipus").attr('id', 'Tipus@(idPost)')
.attr('name', 'Tipus@(idPost)')
KretaFileUpload.DisplayValidationInfo("DokumentumokInputContainer@(idPost)", "allowedFiles@(idPost)");
var allowedFileExtensionArray = ["Megengedett típusok: ",
".pdf,.doc,.docx",
" Maximális méret: @((Model.Tipus == Kreta.Enums.DokumentumTipusEnum.PedagogiaiProgram)?"15":"5")MB"
];
var uploadButton = $("#DokumentumokInputContainer@(idPost)");
$("#allowedFiles@(idPost)").css({ "display" : "block", "height" : "4rem" });
$(".k-widget.k-upload.k-header").css({ 'position': 'initial', 'background-color': 'transparent', 'border-color' : 'transparent' });
uploadButton.mouseenter(function () {
KretaFileUpload.StartAnimation();
KretaFileUpload.VaidationInfoExtensionContainerAnimation("allowedFiles@(idPost)", allowedFileExtensionArray, 0);
});
uploadButton.mouseleave(function(){
$("#allowedFiles@(idPost)").text("");
KretaFileUpload.StopAnimation();
});
$("#download@(idPost)").click(function (e) {
var url = "@Url.Action("DownloadFile", "Intezmeny", new { area = "Intezmeny" })";
var id = $("#IktatottDokumentumId@(idPost)").val();
AjaxHelper.DownloadFile(url, { id });
});
});
</script>

View File

@@ -0,0 +1,128 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Resources
@model IntezmenyModel
<script type="text/javascript">
kendo.ui.Upload.fn._supportsDrop = function () { return false; }
</script>
<style type="text/css">
.dokumentum-item-padding {
padding-top: 10px;
padding-bottom: 10px;
display: block;
}
i.dokumentum-item-padding.col-md-12 {
background-color: transparent;
}
a[id^="download"] {
margin-top: 10px;
margin-bottom: 10px;
padding: 0px;
}
.dokumentum-item-type {
height: 50px;
}
.dokumentum-item-filename {
word-wrap: break-word;
font-size: 12px;
line-height: 2;
height: 70px;
padding-left: 0;
padding-right: 0;
overflow: hidden auto;
}
.k-upload-status {
position: relative;
left: 5px;
}
</style>
<div class="container-fluid details section-title">
<div class="row">
<h3>@IntezmenyResource.KotelezoDokumentumok</h3>
</div>
<div class="@BootsrapHelper.GetOffsetSizeClasses(0)">
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.AlapitoOkirat)
</div>
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.SZMSZ)
</div>
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.PedagogiaiProgram)
</div>
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.Hazirend)
</div>
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.Munkaterv)
</div>
<div>
@Html.Action("IntezmenyiDokumentumPartial", "Intezmeny", Model.MukodesiEngedely)
</div>
</div>
</div>
<script type="text/javascript">
var KotelezoDokumentumFileUploadHelper = (function () {
var url = {
saveDokumentum: "@Url.Action("UploadFile", "Intezmeny", new { area = "Intezmeny" })"
};
var kotelezoDokumentumFileUploadHelper = function () { };
kotelezoDokumentumFileUploadHelper.onSelect = function (tipus, e) {
KretaFileUpload.StopAnimation();
var allowedFileExtensionArray = [".pdf", ".doc", ".docx"];
const megaByte = 1024 * 1024;
var attachmentMaxFileSizeInBytes = ((tipus === "@Model.PedagogiaiProgram.Tipus") ? 15 * megaByte : 5 * megaByte);
var attachments = e.files;
for(var i = 0; i<attachments.length;i++){
if (attachmentMaxFileSizeInBytes<attachments[i].size){
e.preventDefault();
var errorMessage = "@ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete";
errorMessage=errorMessage.replace("{0}",attachmentMaxFileSizeInBytes/(1024*1024));
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
break;
}
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray)===-1){
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba","@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
break;
}
}
}
kotelezoDokumentumFileUploadHelper.uploadDokumentum = function (dokumentumTipus, e) {
var csrfToken = $("input[name='__RequestVerificationToken']").val();
e.sender.options.async.saveUrl = url.saveDokumentum;
e.data = { dokumentumTipus: dokumentumTipus };
var xhr = e.XMLHttpRequest;
if (xhr) {
xhr.addEventListener("readystatechange", function (e) {
if (xhr.readyState == 1 /* OPENED */) {
xhr.setRequestHeader("X-Request-Verification-Token", csrfToken);
}
});
}
}
kotelezoDokumentumFileUploadHelper.onComplete = function (dokumentumTipus, e) {
var url = "@(Html.Raw(Url.Action("IntezmenyiDokumentumPartial", "Intezmeny")))";
$('#' + dokumentumTipus).parent().load(url, { model: { "Nev": "", "Tipus": dokumentumTipus, "Statusz": 0, "FajlNev": "", "IktatottDokumentumId": 0 } });
}
kotelezoDokumentumFileUploadHelper.onError = function (dokumentumTipus, e) {
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.SikertelenFeltoltesKotelezoDokumentumon", true);
}
return kotelezoDokumentumFileUploadHelper;
})();
</script>

View File

@@ -0,0 +1,151 @@
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers
@using Kreta.Resources
@using Kreta.Web.Security
@model TeremModModel
<style>
#TeremTabstrip {
height: 90%;
margin-left: 20px;
margin-top: 5px;
}
#TobbesTeremModKivalasztottTeremNevek {
min-height: 36px;
max-height: 5%;
width: calc(100% - 205px);
display: inline-flex;
font-weight: bold;
overflow-y: auto;
overflow-x: hidden;
}
#TobbesTeremModKivalasztottTeremNevekCim {
padding-left: 13px;
padding-top: 13px;
min-height: 36px;
max-height: 5%;
width: 188px;
display: inline-block;
font-weight: bold;
}
#TobbesTeremModPopUpContainer {
height: calc(100% - 40px);
width: 97%;
}
#TeremModWindow .modalContainer .modalContent > .k-content {
overflow-y: hidden;
}
</style>
@using (Html.KretaForm("TeremModForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.TeremId)
@Html.HiddenFor(x => x.TeremIDArray)
@Html.HiddenFor(x => x.IsFromSzervezet)
<div id="TobbesTeremModPopUpContainer" class="container-fluid details">
<div id="TobbesTeremModKivalasztottTeremNevekCim">
@IntezmenyResource.KivalasztottTermek
</div>
<div id="TobbesTeremModKivalasztottTeremNevek">
@if (string.IsNullOrWhiteSpace(Model.TeremIDArray))
{
@Model.Nev
}
else
{
@Model.TeremNevArray
}
</div>
<div id="TeremTabstrip">
@if (!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaComboBoxFor(x => x.Jelleg, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetTeremJellegList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.MukodesiHelyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetMukodesiHelyList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Teremfelelos, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetTeremFelelosList }), "Text", "Value").AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.Terulet).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.Kapacitas).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.VizsgaKapacitas).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Aktiv, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TobbOratLehetTartani, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.WifiLefedett, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
if (ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny)
{
<div class="row">
@Html.KretaComboBoxFor(x => x.InternetkapcsolatElerheto, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
<div class="row" id="internetkapcsolatElerhetoContainer1">
@Html.KretaNumericFor(x => x.TanulokSzamaraHozzaferhInternetesgep).RenderWithName()
</div>
<div class="row" id="internetkapcsolatElerhetoContainer2">
@Html.KretaNumericFor(x => x.PedagogusHozzaferhInternetesgep).RenderWithName()
</div>
<div class="row">
@Html.KretaNumericFor(x => x.OktCelraHasznaltSzamitogepekSzama).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.InterakttablavalMunkaallomassalFelszerelt, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
}
}
else
{
<div class="row">
@Html.KretaComboBoxFor(x => x.Aktiv, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = Constants.ComboBoxHelperEnumApiActions.GetIgenNemEnumSelectList })).RenderWithName()
</div>
<div class="row @(ClaimData.IsAdministrator ? "" : "disabledItem")">
@Html.KretaComboBoxFor(x => x.ModSzervezetId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Constants.ComboBoxHelperApiActions.GetDualisKepzohelyek }), "Text", "Value", isSingleElementSet: false).AutoBind(true).RenderWithName()
</div>
}
</div>
</div>
}
<script>
$(document).ready(function () {
if (@Json.Encode(ClaimData.IsSelectedTanev21_22OrLater && ClaimData.IsSzakkepzoIntezmeny && !Model.IsFromSzervezet)) {
SetControls();
$('#InternetkapcsolatElerheto').change(function () {
SetControls();
});
}
});
function SetControls() {
if ($('#InternetkapcsolatElerheto').data('kendoComboBox').value() == "1") {
$('#internetkapcsolatElerhetoContainer1').show();
$('#internetkapcsolatElerhetoContainer2').show();
}
else {
$('#internetkapcsolatElerhetoContainer1').hide();
$('#internetkapcsolatElerhetoContainer2').hide();
}
}
</script>

View File

@@ -0,0 +1,5 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Intezmeny.Models
@model TeremModel
@Html.KretaTabStripAjax("tabstrip", Model.TabList)

View File

@@ -0,0 +1,17 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Intezmeny.Models
@model TeremModel
@using (Html.KretaForm("TeremForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.TeremId)
@Html.HiddenFor(x => x.TeremBerbeadasModel.DocumentId)
@Html.HiddenFor(x => x.TeremBerbeadasModel.PictureId)
<div id="TeremTabStrip">
@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)
</div>
@Html.KretaTabStrip("TeremTabStrip").RenderOnModal();
}

Some files were not shown because too many files have changed in this diff Show More