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

944 lines
40 KiB
Text

@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models;
@using OfficeOpenXml.FormulaParsing.Excel.Functions.Math
@model KozpontiOraModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
<div id="kozpontiOrak">
@Html.KretaTabStripAjax("KozpontiOraTabStrip", Model.TabList, "KozpontiOra.OnTabStripActivate", "KozpontiOra.OnTabStripSelect")
</div>
@section AddCss{
<style type="text/css">
#kozpontiOrak .fc-orasorszam:hover {
opacity: 1;
}
#kozpontiOrak .fc-time-grid-event:hover {
background-color: rgba(0,255,0,0.5) !important;
}
#errorMsg {
color: #ff4350;
padding-bottom: 20px;
font-weight: 800;
}
.small-padding-left {
padding-left: 20px;
}
</style>
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
const KozpontiOra = (() => {
const kozpontiOra = () => { };
let activeStart;
let activeEnd;
let activeHanyadikOra;
let sender;
const selectPopupId = "kozpontiOraSelectWindow";
const deleteOrarendiOrakPopupId = "deleteOrarendiOrakWindow";
const modositasPopupId = "modositaskWindow";
const orarendiOrakVisszaallitasaPopupId = "orarendiOrakVisszaallitasaWindow";
const createPopupId = "kozpontiOraCreateWindow";
const createGrid = "AdminKozpontiOrakRogzitesGrid";
const utkozoOrakGrid = "KozpontiOraUtkozoOrarendiOrakGrid";
const nemUtkozoOrakGrid = "KozpontiOraNemUtkozoOrarendiOrakGrid";
const orarendiOrakTorleseKozpontilagGrid = "orarendiOrakTorleseKozpontilagGrid";
const orarendiOrakVisszaallitasaKozpontilagGrid = "orarendiOrakVisszaallitasaKozpontilagGrid";
const modositasgrid = "modositasGrid";
const modositasDetailsGrid = "KozpontiOrak-";
let rogzitesTanoraiAdatokFormAdatok;
let kozpontiOrakFormAdatok = [];
let orarendiOrakVisszaAllitasra = [];
let reloadKozpontiOrakForm = false;
const kozpontiOraPropertyNames = [
"Sorszamozando",
"ParhuzamosOra",
"Tulora",
"TAMOPOra",
"KIPOra",
"VEKOP73317",
"KAPOra",
"NemSzakrendszeruOra",
"IKTTanora",
"NemzetisegiOra",
"IsFelnottoktatasiSzerzodes",
"MindennaposTestneveles",
"IPRTanora",
"Differencialt",
"Kooperativ",
"Meres",
"OnlineOra",
"Drama",
"Tiop",
"Bontott",
"Multikulturalis",
"EFOP32317",
"KomplexOra",
"GINOP623",
"EFOP31716EselyteremtesAKoznevelesben",
"EFOP33717",
"TIOP11112120120001",
"DFHT",
"Rahangolodas",
"Testmozgas",
"Muveszet",
"Eletgyakorlat",
"Logika",
"TeOrad",
"DigitalisAlapProgram",
"EFOP23517201700038Miapalya",
];
const getDate = () => {
let date = new Date(activeStart);
let month = date.getMonth() + 1;
let day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return date.getFullYear() + "." + month + "." + day;
}
var tanarok = @Html.Raw(Model.Tanarok);
var tantargyak = @Html.Raw(Model.Tantargyak);
var termek = @Html.Raw(Model.Termek);
var teremutkozesFigyeles = true;
var deleteOrarendiOrak = false;
const selectPopUpWindow = (data) => {
const config = KretaWindowHelper.getWindowConfigContainer();
config.title = '@CommonResource.ValasszonMunkafolyamatot';
config.width = "500px";
config.height = "295px";
config.content = data;
const modal = KretaWindowHelper.createWindow(selectPopupId, config);
KretaWindowHelper.openWindow(modal, true);
};
const deleteOrarendiOrakPopUpWindow = (data) => {
const config = KretaWindowHelper.getWindowConfigContainer();
config.title = `@KozpontiOrakResource.KozpontilagTorlendoOrak [${getDate()}. - ${activeHanyadikOra
}. óra]`;
config.width = "80%";
config.height = "70%";
config.content = data;
const modal = KretaWindowHelper.createWindow(deleteOrarendiOrakPopupId, config);
KretaWindowHelper.openWindow(modal, true);
};
const modositasPopUpWindow = (data) => {
const config = KretaWindowHelper.getWindowConfigContainer();
config.title = `@KozpontiOrakResource.KozpontiOraModositasa [${getDate()}. - ${activeHanyadikOra
}. óra]`;
config.width = "80%";
config.height = "70%";
config.content = data;
const modal = KretaWindowHelper.createWindow(modositasPopupId, config);
KretaWindowHelper.openWindow(modal, true);
};
const orarendiOrakVisszaallitasaPopUpWindow = (data) => {
const config = KretaWindowHelper.getWindowConfigContainer();
config.title = `@KozpontiOrakResource.KozpontilagToroltOrakVisszaallitasa [${getDate()}. - ${activeHanyadikOra}. óra]`;
config.width = "80%";
config.height = "70%";
config.content = data;
const modal = KretaWindowHelper.createWindow(orarendiOrakVisszaallitasaPopupId, config);
KretaWindowHelper.openWindow(modal, true);
};
const calendarContainer = {
activeTabIndex: null,
view: null
};
const url = {
OpenKozpontiOraSelectPopUp:
"@Url.Action("OpenSelectPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenKozpontiOraCreatePopUpTanoraAdatok:
"@Url.Action("OpenCreateTanoraAdatok", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenKozpontiOraCreatePopup:
"@Url.Action("OpenCreate", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenKozpontiOraUtkozoOrarendiOrakPopup:
"@Url.Action("OpenUtkozoOrak", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenOrarendiOrakTorleseKozpontilagPopup:
"@Url.Action("OpenOrarendiOrakTorleseKozpontilagPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenModositasPopup:
"@Url.Action("OpenModositasPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
OpenOrarendiOrakVisszaallitasaPopup:
"@Url.Action("OpenOrarendiOrakVisszaallitasaPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
SaveKozpontiOrak:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "CreateKozpontiOra"})",
DeleteOrarendiOrak:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteOrarendiOrak"})",
OrarendiOrakVisszaallitasa:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "OrarendiOrakVisszaallitasa"})",
OrarendiOrakVisszaallitasaValidacio:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "OrarendiOrakVisszaallitasaValidacio"})",
DeleteKozpontiOra:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteKozpontiOra"})",
DeleteAllKozpontiOraByGroupId:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteAllKozpontiOraByGroupId"})",
WizardContentUrl: "@Url.Action("LoadKozpontiOraWizardContent", "Wizard", new {area = ""})"
};
const saveKozpontiOra = () => {
let orarendiOrakTorlesre = [];
let kozpontiOrakRogzitesre = [];
if (deleteOrarendiOrak) {
KretaGridHelper.getAllRows(utkozoOrakGrid).forEach(val => {
if (val.ki_chk === true) {
orarendiOrakTorlesre.push(val.ID);
}
});
KretaGridHelper.getAllRows(nemUtkozoOrakGrid).forEach(val => {
if (val.ki_chk === true) {
orarendiOrakTorlesre.push(val.ID);
}
});
}
for (var i = 0; i < kozpontiOrakFormAdatok.length; i++) {
if (kozpontiOrakFormAdatok[i].ki_chk === true) {
let kozpontiOra = {
OsztalyId: kozpontiOrakFormAdatok[i].ID,
TanarID: kozpontiOrakFormAdatok[i].TanarID,
TantargyID: kozpontiOrakFormAdatok[i].TantargyID,
TeremID: kozpontiOrakFormAdatok[i].TeremID
};
kozpontiOraPropertyNames.forEach(prop => {
kozpontiOra[prop] = kozpontiOrakFormAdatok[i][prop];
});
kozpontiOrakRogzitesre.push(kozpontiOra);
}
}
let model = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikora: activeHanyadikOra,
orarendiOrakTorlesre: orarendiOrakTorlesre,
kozpontiOrakRogzitesre: kozpontiOrakRogzitesre
};
if (teremutkozesFigyeles) {
model.IsTeremutkozesFigyelese = teremutkozesFigyeles;
AjaxHelper.DoPost(url.SaveKozpontiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForCreate, kozpontiOra.saveErrorCallback);
} else {
model.IsTeremutkozesFigyelese = teremutkozesFigyeles;
AjaxHelper.DoPost(url.SaveKozpontiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForCreate, kozpontiOra.saveErrorCallback);
}
}
kozpontiOra.SetDefaultTanar = (e) => {
var selectedValue = e.value();
var selectedText = e.text();
KretaGridHelper.getAllRows(createGrid).forEach(val => {
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tanar]`);
row.textContent = selectedText;
val.TanarID = selectedValue;
});
}
kozpontiOra.GetTanarok = () => {
return tanarok;
}
kozpontiOra.GetTanar = (tanarId) => {
var selectedTanar = tanarok.find(i => i.Value === tanarId.toString());
if (selectedTanar) {
return selectedTanar.Text;
}
return "";
}
kozpontiOra.SetDefaultTantargy = (e) => {
var selectedValue = e.value();
var selectedText = e.text();
KretaGridHelper.getAllRows(createGrid).forEach(val => {
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tantargy]`);
row.textContent = selectedText;
val.TantargyID = selectedValue;
});
}
kozpontiOra.GetTantargyak = () => {
return tantargyak;
}
kozpontiOra.GetTantargy = (tantargyId) => {
var selectedTantargy = tantargyak.find(i => i.Value === tantargyId.toString());
if (selectedTantargy) {
return selectedTantargy.Text;
}
return "";
}
kozpontiOra.SetDefaultTerem = (e) => {
var selectedValue = e.value();
var selectedText = e.text();
KretaGridHelper.getAllRows(createGrid).forEach(val => {
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-terem]`);
row.textContent = selectedText;
val.TeremID = selectedValue;
});
}
kozpontiOra.GetTermek = () => {
return termek;
}
kozpontiOra.GetTerem = (teremId) => {
var selectedTerem = termek.find(i => i.Value === teremId.toString());
if (selectedTerem) {
return selectedTerem.Text;
}
return "";
}
kozpontiOra.GetCalendarContainer = () => calendarContainer;
kozpontiOra.SetCalendarContainerActiveTabIndex = (value) => {
calendarContainer.activeTabIndex = value;
};
kozpontiOra.SetCalendarContainerView = (value) => {
calendarContainer.view = value;
};
const CreateCalendar = (calendarName) => {
$(`#${calendarName}`).fullCalendar("destroy");
activeCalendar = calendarName;
const calendar = new SDAFullCalendar();
const pram = calendar.getParameters();
pram.calendar = calendarName;
pram.minTime = "@Model.CalendarMinTime";
pram.maxTime = "@Model.CalendarMaxTime";
pram.hetirendek = "@Model.HetirendJson";
pram.naptariHetekHetirend = "@Model.NaptariHetekHetirendJson";
pram.selectHelper = true;
pram.selectOverlapAllowed = false;
pram.naptariHetekUrl =
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "CalendarApi", action = "GetTanevHetek"})";
if (calendarContainer.view) {
pram.defaultView = calendarContainer.view.name;
pram.calendarStartDate = calendarContainer.view.intervalStart.format();
} else {
pram.calendarStartDate = "@DateTime.Now.ToString("yyyy-MM-dd")";
}
pram.serviceURL =
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "CalendarApi", action = "GetAdminKozpontiOrak"})";
pram.clickEvent = KozpontiOra.CalendarClickEvent;
pram.minTime = "@Model.CsengetesiRendMinTime";
pram.maxTime = "@Model.CsengetesiRendMaxTime";
pram.orarendView = true;
pram.kellCsengetesiRendMegjelenites = true;
pram.isNewEventEnabled = false;
calendar.initialize(pram);
};
kozpontiOra.CreateCalendar = (calendarName) => {
CreateCalendar(calendarName);
};
kozpontiOra.OnTabStripActivate = ({ sender }) => {
KozpontiOra.SetCalendarContainerActiveTabIndex(sender.select().index());
const fullCalendarId = `FullCalendar-${KozpontiOra.GetCalendarContainer().activeTabIndex}`;
KozpontiOra.CreateCalendar(fullCalendarId);
};
kozpontiOra.refreshCalendar = () => {
const calendarId = `FullCalendar-${calendarContainer.activeTabIndex}`;
const calendar = $(`#${calendarId}`);
const view = calendar.fullCalendar("getView");
calendarContainer.view = view;
CreateCalendar(calendarId);
};
kozpontiOra.CalendarClickEvent = ({ start, end, hanyadikora, oraType }) => {
if (oraType == 5) {
return; /*TanevRendjeEsemeny*/
}
activeStart = moment(start, CalendarDateTimeChangeHelper.dateTimeFormatWithoutSetTimezone).format();
activeEnd = moment(end, CalendarDateTimeChangeHelper.dateTimeFormatWithoutSetTimezone).format();
activeHanyadikOra = hanyadikora;
AjaxHelper.DoPost(url.OpenKozpontiOraSelectPopUp, null, selectPopUpWindow);
};
kozpontiOra.OpenKozpontiOraRogzitese = () => {
KozpontiOra.selectPopUpWindowCancel();
var json = {};
json.actualStepId = 1;
var wizard = new KretaWizard(url.OpenKozpontiOraCreatePopUpTanoraAdatok, json, true, true);
wizard.overrideWindowSize = true;
wizard.onReadyEvent = kozpontiOra.readyEvent;
wizard.onNextEvent = kozpontiOra.nextEvent;
wizard.onBackEvent = kozpontiOra.backEvent;
wizard.Open(url.WizardContentUrl, '');
}
kozpontiOra.edit = function (e) {
var osztalyElement = e.container.find("input[name=Osztaly]");
if (osztalyElement.length) {
KretaGridHelper.getKendoGridData(createGrid).closeCell(e.container);
return;
}
};
kozpontiOra.readyEvent = (sender) => {
if (sender.baseModel.actualStepId !== 3) {
$("#kozpontiOraMenteseTorlesNelkulBtn").addClass("hidden");
$("#kozpontiOraMenteseTorlesselBtn").addClass("hidden");
$("#wizardNextBtn").removeClass("hidden");
}
if (sender.baseModel.actualStepId === 1) {
$("#wizardWindow").data("kendoWindow").title('@OrarendResource.TanoraAdatai');
return;
}
if (sender.baseModel.actualStepId === 2) {
$("#wizardWindow").data("kendoWindow").title(`@KozpontiOrakResource.KozpontilagRogzitendoOrak [${getDate()}. - ${activeHanyadikOra}. óra]`);
return;
}
if (sender.baseModel.actualStepId === 3) {
$("#wizardWindow").data("kendoWindow").title(`@KozpontiOrakResource.KozpontilagTorlendoOrak [${getDate()}. - ${activeHanyadikOra}. óra]`);
$("#kozpontiOraMenteseTorlesNelkulBtn").removeClass("hidden");
$("#kozpontiOraMenteseTorlesselBtn").removeClass("hidden");
$("#wizardNextBtn").addClass("hidden");
return;
}
};
kozpontiOra.nextEvent = (sender) => {
if (sender.baseModel.actualStepId === 1) {
rogzitesTanoraiAdatokFormAdatok = sender.GetModel();
rogzitesTanoraiAdatokFormAdatok.OraDatum = getDate();
rogzitesTanoraiAdatokFormAdatok.Oraszam = activeHanyadikOra;
sender.dataToBeSentOnNextPage = rogzitesTanoraiAdatokFormAdatok;
sender.currentUrl = url.OpenKozpontiOraCreatePopup;
}
if (sender.baseModel.actualStepId === 2) {
// List to be passed the utkozes grid
let selectList = [];
// Clear the existing list
kozpontiOrakFormAdatok = [];
let hasSelectedRow = false;
let allSelectedRowAreValid = true;
let hasMissingTanar = false;
let hasMissingTantargy = false;
let hasMissingTerem = false;
$("#errorMsg").text("");
KretaGridHelper.getAllRows(createGrid).forEach(val => {
if (val.ki_chk === true) {
hasSelectedRow = true;
let createdModel = {
OsztalyId: val.id,
TanarId: val.TanarID,
TantargyId: val.TantargyID,
TeremId: val.TeremID
}
selectList.push(createdModel);
}
let dataToBeSaved = val;
kozpontiOrakFormAdatok.push(dataToBeSaved);
});
// Validate selected classes
for (var i = 0; i < selectList.length; i++) {
if (hasMissingTanar === false && selectList[i].TanarId === 0) {
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TanarKitolteseKotelezo)');
allSelectedRowAreValid = false;
hasMissingTanar = true;
}
if (hasMissingTantargy === false && selectList[i].TantargyId === 0) {
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TantargyKitolteseKotelezo)');
allSelectedRowAreValid = false;
hasMissingTantargy = true;
}
if (hasMissingTerem === false && selectList[i].TeremId === 0) {
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TeremKitolteseKotelezo)');
allSelectedRowAreValid = false;
hasMissingTerem = true;
}
}
if (allSelectedRowAreValid === false) {
return false;
}
if (hasSelectedRow === false) {
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
return false;
}
let postData = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd),
hanyadikora: activeHanyadikOra,
list: selectList
};
sender.dataToBeSentOnNextPage = postData;
sender.currentUrl = url.OpenKozpontiOraUtkozoOrarendiOrakPopup;
}
sender.baseModel.actualStepId++;
};
kozpontiOra.backEvent = (sender) => {
if (sender.baseModel.actualStepId === 1) {
}
if (sender.baseModel.actualStepId === 2) {
sender.dataToBeSentOnNextPage = rogzitesTanoraiAdatokFormAdatok;
reloadKozpontiOrakForm = true;
}
};
kozpontiOra.HandleTanariOraAdatok = () => {
};
kozpontiOra.EditDropDown = function (e) {
};
kozpontiOra.SaveDropDown = function (e) {
var tanarElement = e.container.find("input[name=TanarID]");
var tantargyElement = e.container.find("input[name=TantargyID]");
var teremElement = e.container.find("input[name=TeremID]");
if (tanarElement.length) {
var tanarCustomId = tanarElement.data("kendoDropDownList").value();
var tanarElem = tanarok.find(i => i.Value === tanarCustomId);
if (!tanarElem) {
return;
}
e.model.TanarID = tanarElem.Value;
tanarElement.textContent = tanarElem.Text;
e.preventDefault();
}
if (tantargyElement.length) {
var tantargyCustomId = tantargyElement.data("kendoDropDownList").value();
var tantargyElem = tantargyak.find(i => i.Value === tantargyCustomId);
if (!tantargyElem) {
return;
}
e.model.TantargyID = tantargyElem.Value;
tantargyElement.textContent = tantargyElem.Text;
e.preventDefault();
}
if (teremElement.length) {
var teremCustomId = teremElement.data("kendoDropDownList").value();
var teremElem = termek.find(i => i.Value === teremCustomId);
if (!teremElem) {
return;
}
e.model.TeremID = teremElem.Value;
teremElement.textContent = teremElem.Text;
e.preventDefault();
}
};
kozpontiOra.OrarendOrakTorleseKozpontilag = () => {
var orarendiOrakList = [];
let hasSelectedRow = false;
$("#errorMsg").text('');
KretaGridHelper.getAllRows(orarendiOrakTorleseKozpontilagGrid).forEach(val => {
if (val.ki_chk === true) {
hasSelectedRow = true;
orarendiOrakList.push(val.ID);
}
});
if (hasSelectedRow === false) {
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
return;
}
let model = {
orarendiOrakIdList: orarendiOrakList,
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
}
AjaxHelper.DoPost(url.DeleteOrarendiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForDelete, null);
};
kozpontiOra.OrarendOrakVisszaallitasa = () => {
var orarendiOrakList = [];
let hasSelectedRow = false;
$("#errorMsg").text('');
KretaGridHelper.getAllRows(orarendiOrakVisszaallitasaKozpontilagGrid).forEach(val => {
if (val.ki_chk === true) {
hasSelectedRow = true;
orarendiOrakList.push(val.ID);
}
});
if (hasSelectedRow === false) {
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
return;
}
let model = {
orarendiOrakIdList: orarendiOrakList
}
orarendiOrakVisszaAllitasra = orarendiOrakList;
AjaxHelper.DoPost(url.OrarendiOrakVisszaallitasaValidacio,
model,
kozpontiOra.handleVisszaAllitasaValidacioResponse,
kozpontiOra.refreshPageAndDisplayMsgForRestoreError);
};
kozpontiOra.OpenKozpontiOraModositasa = () => {
kozpontiOra.selectPopUpWindowCancel();
let model = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikOra: activeHanyadikOra
}
AjaxHelper.DoPost(url.OpenModositasPopup, model, modositasPopUpWindow);
}
kozpontiOra.OpenOrakTorleseKozpontilag = () => {
kozpontiOra.selectPopUpWindowCancel();
let model = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikOra: activeHanyadikOra
}
AjaxHelper.DoPost(url.OpenOrarendiOrakTorleseKozpontilagPopup, model, deleteOrarendiOrakPopUpWindow);
}
kozpontiOra.OpenKozpontilagToroltOrakVisszaallitasa = () => {
kozpontiOra.selectPopUpWindowCancel();
let model = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikOra: activeHanyadikOra
}
AjaxHelper.DoPost(url.OpenOrarendiOrakVisszaallitasaPopup,
model,
orarendiOrakVisszaallitasaPopUpWindow);
}
kozpontiOra.selectPopUpWindowCancel = () => {
KretaWindowHelper.destroyWindow(selectPopupId);
};
kozpontiOra.modositasPopUpWindowCancel = () => {
KretaWindowHelper.destroyWindow(modositasPopupId);
};
kozpontiOra.deleteOrarendiOrakKozpontilagPopUpWindowCancel = () => {
KretaWindowHelper.destroyWindow(deleteOrarendiOrakPopupId);
};
kozpontiOra.OrarendiOrakVisszaallitasaPopUpWindowCancel = () => {
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
};
kozpontiOra.createPopUpWindowCancel = () => {
KretaWindowHelper.destroyWindow(createPopupId);
};
kozpontiOra.handleWhichOrarendiOrakMustBeDeleted = () => {
let hasAMustBeDeletedRow = false;
KretaGridHelper.getAllRows(utkozoOrakGrid).forEach(val => {
if (val.MustBeDeleted) {
hasAMustBeDeletedRow = true;
let checkBox =
document.querySelector(
`tr[data-uid="${val.uid}"] td[data-inputparentgrid] input[data-selectgroup]`);
checkBox.disabled = true;
$("#KozpontiOraUtkozoOrarendiOrakGrid_chk").attr("disabled", true);
}
});
if (hasAMustBeDeletedRow) {
$("#kozpontiOraMenteseTorlesNelkulBtn").attr("disabled", true);
} else {
$("#kozpontiOraMenteseTorlesNelkulBtn").attr("disabled", false);
}
};
kozpontiOra.changeRogzitesGirdView = () => {
if (reloadKozpontiOrakForm) {
KretaGridHelper.getAllRows(createGrid).forEach(val => {
let savedData = kozpontiOrakFormAdatok.find(i => i.ID === val.ID);
if (savedData) {
val.ID = savedData.ID;
val.TanarID = savedData.TanarID;
val.TantargyID = savedData.TantargyID;
val.TeremID = savedData.TeremID;
if (savedData.ki_chk === true) {
$(`#${createGrid}_chk_${val.ID}`).click();
}
kozpontiOraPropertyNames.forEach(prop => {
if (savedData[prop] === true) {
val[prop] = true;
var tanoraAdatRow =
document.querySelector(`tr[data-uid="${val.uid}"] td[data-${prop}]`);
tanoraAdatRow.textContent = 'Igen';
}
});
var tanarRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tanar]`);
tanarRow.textContent = kozpontiOra.GetTanar(val.TanarID);
var tantargyRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tantargy]`);
tantargyRow.textContent = kozpontiOra.GetTantargy(val.TantargyID);
var teremRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-terem]`);
teremRow.textContent = kozpontiOra.GetTerem(val.TeremID);
}
});
reloadKozpontiOrakForm = false;
}
};
kozpontiOra.savekozpontiOrakWithDeleteOrarendiOrak = () => {
deleteOrarendiOrak = true;
saveKozpontiOra();
};
kozpontiOra.savekozpontiOrakWithoutDeleteOrarendiOrak = () => {
deleteOrarendiOrak = false;
saveKozpontiOra();
};
kozpontiOra.deleteAllKozpontiOraConfirmation = (sender) => {
kozpontiOra.setSender(sender);
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
"@(KozpontiOrakResource.BiztosanTorliEztAKozpontiOraCsoportot)",
kozpontiOra.deleteAllKozpontiOra);
}
kozpontiOra.deletelKozpontiOraConfirmation = (sender) => {
kozpontiOra.setSender(sender);
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
"@(KozpontiOrakResource.BiztosanTorliEztAKozpontiOrat)",
kozpontiOra.deleteKozpontiOra);
}
kozpontiOra.setSender = (sender) => {
kozpontiOra.sender = sender;
}
kozpontiOra.deleteAllKozpontiOra = () => {
const model = {
kozpontiOraGroupId: kozpontiOra.sender.KozpontiOraGroupId,
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikOra: activeHanyadikOra
}
AjaxHelper.DoPost(url.DeleteAllKozpontiOraByGroupId, model, kozpontiOra.handleDeletedKozpontiOra);
}
kozpontiOra.handleVisszaAllitasaValidacioResponse = (response) => {
// There is no conflicting orarendi ora, restore can go on
if (response.length === 0) {
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel();
} else {
let text = "<br>@KozpontiOrakResource.IdopontraMarRogzitettekUgyanezenAdatokkalOrat";
for (var i = 0; i < response.length; i++) {
text += `<br>${response[i]}`;
}
text += `<br><br><strong>@OrarendResource.FolytatasEsetenTorles</strong>`;
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
text,
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel);
}
}
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel = () => {
let model = {
orarendiOrakIdList: orarendiOrakVisszaAllitasra
}
AjaxHelper.DoPost(url.OrarendiOrakVisszaallitasa,
model,
kozpontiOra.refreshPageAndDisplayMsgForRestore,
kozpontiOra.refreshPageAndDisplayMsgForRestoreError);
}
kozpontiOra.handleDeletedKozpontiOra = (response) => {
KretaWindowHelper.destroyWindow(modositasPopupId);
let model = {
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
hanyadikOra: activeHanyadikOra
}
kozpontiOra.refreshCalendar();
if (response === true) {
AjaxHelper.DoPost(url.OpenOrarendiOrakVisszaallitasaPopup,
model,
orarendiOrakVisszaallitasaPopUpWindow);
}
}
kozpontiOra.deleteKozpontiOra = () => {
const model = {
orarendiOraId: kozpontiOra.sender.ID
}
AjaxHelper.DoPost(url.DeleteKozpontiOra, model, kozpontiOra.handleDeletedKozpontiOraElem);
}
kozpontiOra.handleDeletedKozpontiOraElem = () => {
kozpontiOra.refreshCalendar();
var rows = KretaGridHelper.getAllRows(modositasDetailsGrid + kozpontiOra.sender.KozpontiOraGroupId);
if (rows.length === 1) {
kozpontiOra.modositasPopUpWindowCancel();
} else {
KretaGridHelper.refreshGrid(modositasgrid);
}
}
kozpontiOra.refreshPageAndDisplayMsgForDelete = (response) => {
if (response) {
KretaWindowHelper.destroyWindow(deleteOrarendiOrakPopupId);
kozpontiOra.refreshCalendar();
KretaWindowHelper.notification("Az órák sikeresen törölve lettek", "success");
} else {
KretaWindowHelper.notification("Hiba történt az órák törlése közben, kérlek próbáld újra.",
"error");
}
}
kozpontiOra.refreshPageAndDisplayMsgForRestore = () => {
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
kozpontiOra.refreshCalendar();
KretaWindowHelper.notification("Az órák sikeresen vissza lettek állítva", "success");
}
kozpontiOra.refreshPageAndDisplayMsgForRestoreError = () => {
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
kozpontiOra.refreshCalendar();
KretaWindowHelper.notification("Az órák visszaállítása közben hiba történt, kérem próbálja újra",
"error");
}
kozpontiOra.refreshPageAndDisplayMsgForCreate = (response) => {
if (response) {
KretaWindowHelper.destroyWindow("wizardWindow");
kozpontiOra.refreshCalendar();
KretaWindowHelper.notification("A központi óra sikeresen el lett mentve", "success");
} else {
KretaWindowHelper.notification("Hiba történt a központi óra elmentése közben, kérlek próbáld újra.",
"error");
}
teremutkozesFigyeles = true;
}
kozpontiOra.saveErrorCallback = (response) => {
if (!CommonUtils.isNullOrUndefined(response.responseJSON) && !CommonUtils.isNullOrUndefined(response.responseJSON.Message)) {
var responseData = $.parseJSON(response.responseJSON.Message);
if (responseData.isTeremutkozesConfirm == true) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(KozpontiOrakResource.TeremutkozesKerdes)", saveKozpontiOra, null, KozpontiOra.setTeremutkozesFlagToDefault);
teremutkozesFigyeles = false;
} else {
KretaWindowHelper.warningWindow("@(CommonResource.Hiba)", responseData.errorMessage);
}
}
}
kozpontiOra.setTeremutkozesFlagToDefault = () => {
teremutkozesFigyeles = true;
}
return kozpontiOra;
})();
</script>
}