kreta/KretaWeb/Areas/Intezmeny/Views/CsengetesiRend/Index.cshtml
2024-03-13 00:33:46 +01:00

267 lines
13 KiB
Text

@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>