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

236 lines
No EOL
12 KiB
Text

@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.OsztalyCsoport.Models;
@using Kreta.Resources;
@model AktTanevBesorolasSearchModel
@{ Layout = "~/Views/Shared/_MasterLayout.cshtml"; }
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "BesorolasModOsztalybolKiirtTanulokGrid"))
{
@Html.KretaTextBoxFor(model => model.TanuloSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.OsztalyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyListForCascadeCB" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.BelepesiDatumTol, model => model.BelepesiDatumIg)
@Html.KretaRangeDatePickerSideBar(model => model.KilepesiDatumTol, model => model.KilepesiDatumIg)
@Html.KretaRangeNumericSideBar(model => model.ZaradekokSzamaTol, model => model.ZaradekokSzamaIg, precision: 0)
@Html.KretaComboBoxFor(model => model.KiVagyAtSorolasiZaradek, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetVanNincs" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(model => model.NaplosorszamTol, model => model.NaplosorszamIg, precision: 0)
@Html.KretaTextBoxFor(model => model.Torzslapszam).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.KileptetesiDatumTol, model => model.KileptetesiDatumIg)
@Html.KretaRangeDatePickerSideBar(model => model.UtolsoModositasDatumTol, model => model.UtolsoModositasDatumIg)
}
}
@{
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = BesorolasResource.KiirtTanulokListaja, ClientAction = "BesorolasExportHelper.exportOsztalyKiirt" },
};
}
<div>
@(
Html.KretaGrid<BesorolasModOsztalybolKiirtTanulokGridModel>(
name: "BesorolasModOsztalybolKiirtTanulokGrid",
getUrl: new GridApiUrl("BesorolasModOsztalybolKiirtTanulokApi", "GetBesorolasModOsztalybolKiirtTanulokGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: (sort =>
{
sort.Add(m => m.OsztalyNev).Ascending();
sort.Add(m => m.NevElotagNelkul).Ascending();
})
)
.SelectBoxColumn(Html, 0) /* */
.Columns(columns =>
{
columns.Bound(c => c.Tanev).Width("8%");
columns.Bound(c => c.OsztalyNev);
columns.Bound(c => c.NevElotagNelkul).SetDisplayProperty("TanuloNev");
columns.Bound(c => c.BelepesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.KilepesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.ZaradekokSzama);
columns.Bound(c => c.Vegzaradek);
columns.Bound(c => c.NaploSorszam).Width("8%");
columns.Bound(c => c.TorzslapSzam).Width("8%");
columns.Bound(c => c.KilepesRogzitesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.UtolsoModositas).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction= "BesorolasModOsztalybolKiirtTanulokHelper.openModWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "BesorolasModOsztalybolKiirtTanulokHelper.openDeleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { NameResourceId = 116 /*Módosítás*/, ClientAction="BesorolasModOsztalybolKiirtTanulokHelper.openSelectModWindow" },
new FunctionCommand { Name = BesorolasResource.ZaradekokKezelese, ClientAction="BesorolasModOsztalybolKiirtTanulokHelper.openZaradekTobbesModositasPopUp" },
new FunctionCommand { NameResourceId = 4392 /*Besorolás dátum frissítés szeptember 1-re*/, ClientAction="BesorolasModOsztalybolKiirtTanulokHelper.openUpdateConfirmWindow" },
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@Html.Partial("_BesorolasPartial", Model)
<script type="text/javascript">
var BesorolasModOsztalybolKiirtTanulokHelper = (function () {
var besorolasModOsztalybolKiirtTanulokHelper = function () { };
var gridName = "BesorolasModOsztalybolKiirtTanulokGrid";
var formName = "BesorolasModOsztalybolKiirtTanulokForm";
var url = {
OpenModPopUp: "@Url.Action("OpenModPopUp", "BesorolasModOsztalybolKiirtTanulok", new { area = "OsztalyCsoport" })",
OpenTobbesModPopUp: "@Url.Action("OpenTobbesModPopUp", "BesorolasModOsztalybolKiirtTanulok", new { area = "OsztalyCsoport" })",
SaveData: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModOsztalybolKiirtTanulokApi", action = "SaveData" })",
SaveDataTobbes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModOsztalybolKiirtTanulokApi", action = "SaveDataTobbes" })",
UpdateDatum: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModOsztalybolKiirtTanulokApi", action = "UpdateDatum" })",
DeleteBesorolas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModOsztalybolKiirtTanulokApi", action = "DeleteBesorolas" })",
OpenZaradekTobbesModositasPopUp: "@Url.Action("OpenZaradekTobbesModositasPopUp", "Zaradek", new { area = "OsztalyCsoport" })",
}
besorolasModOsztalybolKiirtTanulokHelper.openModWindow = function (data) {
AjaxHelper.DoPost(url.OpenModPopUp, { TanuloCsoportId: data.ID }, openModPopUp);
}
besorolasModOsztalybolKiirtTanulokHelper.openSelectModWindow = function (data) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName("BesorolasModOsztalybolKiirtTanulokGrid");
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ TanuloId: value.TanuloId, OsztalyId: value.OsztalyId, TanuloCsoportId: value.ID, TanuloNev: value.TanuloNev });
});
if (parameters.length > 1) {
AjaxHelper.DoPost(url.OpenTobbesModPopUp, parameters, openModPopUp);
} else {
AjaxHelper.DoPost(url.OpenModPopUp, parameters[0], openModPopUp);
}
}
else {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(368))" /*Figyelmeztetés*/, "@(StringResourcesUtil.GetString(4937))" /*Nincs kijelölve tanuló!*/);
}
}
besorolasModOsztalybolKiirtTanulokHelper.modifyCancel = function () {
KretaWindowHelper.destroyWindow("OsztalyTanuloModWindow");
refreshGrid();
}
besorolasModOsztalybolKiirtTanulokHelper.modifySave = function () {
AjaxHelper.DoPostElement(url.SaveData, formName, saveFeedBackOk);
}
besorolasModOsztalybolKiirtTanulokHelper.modifyTobbesSave = function () {
AjaxHelper.DoPostElement(url.SaveDataTobbes, formName, saveFeedBackOk, feedbackErrorWithMessage);
}
function feedbackErrorWithMessage(data) {
var messageJson = CommonUtils.JSONparse(data.responseText);
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", messageJson.Message, true);
refreshGrid();
}
besorolasModOsztalybolKiirtTanulokHelper.openUpdateConfirmWindow = function (rowData) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName("BesorolasModOsztalybolKiirtTanulokGrid");
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(string.Format(OsztalyCsoportResource.BiztosanFrissitiAKivalasztottTanulokEsetebenAzAktualis0LepesDatumokatSzeptember1Re, "osztály"))", UpdateDatum, selectedRows);
} else {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(368))" /*Figyelmeztetés*/, "@(StringResourcesUtil.GetString(4937))" /*Nincs kijelölve tanuló!*/);
}
}
besorolasModOsztalybolKiirtTanulokHelper.openDeleteConfirmWindow = function (rowData) {
var postData = { tanuloCsoportId: rowData.ID, osztalyId: rowData.OsztalyId, tanuloId: rowData.TanuloId };
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(OsztalyCsoportResource.HaTorliATanulotEbbolAzOsztalybolTorlodniFogAzOsztalybontottCsoportokbolIs)", deleteBesorolas, postData);
}
function deleteBesorolas(postData) {
AjaxHelper.DoPostQuery(url.DeleteBesorolas, null, postData, deleteFeedBackOk, deleteBesorolasErrorHandler);
}
function UpdateDatum(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.UpdateDatum, parameters, updateFeedBackOk);
}
function openModPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(string.Format(OsztalyCsoportResource.OCS0TanuloAdatok, "Osztály"))";
config.content = data;
config.closeFunction = refreshGrid;
var modal = KretaWindowHelper.createWindow("OsztalyTanuloModWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function refreshGrid() {
KretaGridHelper.refreshGrid(gridName);
}
function saveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
function updateFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
function deleteFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
besorolasModOsztalybolKiirtTanulokHelper.openZaradekTobbesModositasPopUp = function (data) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
var tanuloCsoportIdList = []
var tanuloNevList = [];
$.each(selectedRows, function (index, value) {
tanuloCsoportIdList.push(value.ID);
tanuloNevList.push(value.TanuloNev);
});
var parameters = {};
parameters.tanuloCsoportIdList = tanuloCsoportIdList;
parameters.tanuloNevArray = tanuloNevList.join(', ');
parameters.gridName = gridName;
parameters.isOsztalyList = true;
if (parameters.tanuloCsoportIdList.length > 1) {
AjaxHelper.DoPost(url.OpenZaradekTobbesModositasPopUp, parameters, openModPopUp);
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ TanuloId: value.TanuloId, isZaradekTabAktiv: true, OsztalyId: value.OsztalyId, TanuloCsoportId: value.ID, TanuloNev: value.TanuloNev });
});
AjaxHelper.DoPost(url.OpenModPopUp, parameters[0], openModPopUp);
}
}
else {
KretaWindowHelper.warningWindow("@(CommonResource.Figyelmeztetes)" /*Figyelmeztetés*/, "@(ErrorResource.NincsKijelolveTanulo)" /*Nincs kijelölve tanuló!*/);
}
}
function deleteBesorolasErrorHandler(response) {
var errorMessage = "";
if (!CommonUtils.isNullOrUndefined(response.responseJSON.Json)) {
errorMessage = response.responseJSON.Json.message;
}
else {
errorMessage = response.responseJSON.Message;
}
KretaWindowHelper.warningWindow("@(CommonResource.Figyelmeztetes)", errorMessage);
}
besorolasModOsztalybolKiirtTanulokHelper.getHtmlNewLinesString = function (text) {
return (text || "").replace(CommonUtils.LineBreakRegex, '<br/>');
}
return besorolasModOsztalybolKiirtTanulokHelper;
})();
</script>