185 lines
8.4 KiB
C#
185 lines
8.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using Kreta.BusinessLogic.Classes.ExcelHelpers;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Feljegyzes.Models;
|
|
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Models.EditorTemplates;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.Feljegyzes.Controllers
|
|
{
|
|
[MvcRoleClaimsAuthorize(true)]
|
|
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
|
[MvcRolePackageAuthorize(
|
|
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
|
|
KretaClaimPackages.Osztalyfonok.ClaimValue,
|
|
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue
|
|
)]
|
|
public class KozossegiSzolgalatokController : Controller
|
|
{
|
|
|
|
#region Properties
|
|
|
|
public static string StartPopupFormName => "KozossegiSzolgalatokStartPopupForm";
|
|
public static string StartPopupId => "KozossegiSzolgalatokStartWindow";
|
|
|
|
public static string GridName => "KozossegiSzolgalatokGrid";
|
|
public static string DetailGridNamePrefix => "KozossegiSzolgalatokReszletekGrid_";
|
|
|
|
public static string NewModifyPopupName => "New_Modify_Popup";
|
|
public static string NewModifyFormName => "KozossegiSzolgalatNewModifyForm";
|
|
|
|
#endregion Properties
|
|
|
|
public ActionResult Index()
|
|
{
|
|
var helper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
var model = new KozossegiSzolgalatokSearchModel();
|
|
List<SelectListItem> osztalyList = new List<SelectListItem>();
|
|
if (ClaimManager.HasPackage(
|
|
KretaClaimPackages.Adminisztrator.ClaimValue
|
|
, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue
|
|
, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue))
|
|
{
|
|
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL().ToSelectListItemList();
|
|
}
|
|
else
|
|
{
|
|
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL("", ClaimData.FelhasznaloId).ToSelectListItemList();
|
|
}
|
|
model.OsztalyCsoportList = osztalyList;
|
|
if (osztalyList.Count == 1)
|
|
{
|
|
var csoportId = Convert.ToInt32(osztalyList.Single().Value);
|
|
model.CsoportIdSearch = csoportId;
|
|
model.OsztalyCsoportId = csoportId;
|
|
model.OsztalyCsoportNev = osztalyList.Single().Text;
|
|
}
|
|
else
|
|
{
|
|
model.OsztalyCsoportId = null;
|
|
model.OsztalyCsoportNev = string.Empty;
|
|
}
|
|
return View(model);
|
|
}
|
|
|
|
#region Popup actions
|
|
|
|
[HttpPost]
|
|
[MvcValidateAjaxAntiForgeryToken]
|
|
public ActionResult OpenStartPopup()
|
|
{
|
|
var model = new KozossegiSzolgalatokModel();
|
|
return PartialView("Start_Popup", model);
|
|
}
|
|
|
|
[HttpPost]
|
|
[MvcValidateAjaxAntiForgeryToken]
|
|
[MvcRolePackageAuthorize(Enums.ManualEnums.TanevEnum.Mind,
|
|
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
|
|
KretaClaimPackages.Osztalyfonok.ClaimValue,
|
|
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
|
KretaClaimPackages.Adminisztrator.ClaimValue,
|
|
KretaClaimPackages.IsSzirIntezmeny.ClaimValue
|
|
)]
|
|
public ActionResult OpenNewModifyPopup(int? id, int tanuloId)
|
|
{
|
|
bool isModify = id.IsEntityId();
|
|
KozossegiSzolgalatModel kozossegiSzolgalatModel;
|
|
|
|
if (isModify)
|
|
{
|
|
//NOTE: Az id az IdEntityId vizsgálat miatt nem lehet null!
|
|
KozossegiSzolgalatCo co = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetKozossegiSzolgalatById(id.Value);
|
|
kozossegiSzolgalatModel = new KozossegiSzolgalatModel(co);
|
|
}
|
|
else
|
|
{
|
|
kozossegiSzolgalatModel = new KozossegiSzolgalatModel
|
|
{
|
|
TanuloId = tanuloId,
|
|
IntervallumKezdete = DateTime.Today,
|
|
IntervallumVege = DateTime.Today,
|
|
RogzitesDatuma = DateTime.Today,
|
|
Oraszam = 1
|
|
};
|
|
}
|
|
|
|
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
kozossegiSzolgalatModel.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
|
|
kozossegiSzolgalatModel.KozossegiSzolgalatTipusList = GetKozossegiSzolgalatTipusList();
|
|
|
|
var popupModel = new PopUpModel(kozossegiSzolgalatModel, NewModifyPopupName);
|
|
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnCancel", CommonResource.Megse, "KozossegiSzolgalatokHelper.newModifyPopupCancel", "BtnCancel");
|
|
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnOk", CommonResource.Mentes, "KozossegiSzolgalatokHelper.newModifyPopupSave", "BtnOk");
|
|
if (isModify)
|
|
{
|
|
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnDelete", CommonResource.Torles, "KozossegiSzolgalatokHelper.newModifyPopupDelete", "BtnDelete");
|
|
}
|
|
|
|
return PartialView(Constants.General.PopupView, popupModel);
|
|
}
|
|
|
|
#endregion Popup actions
|
|
|
|
[MvcRolePackageAuthorize(
|
|
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
|
|
KretaClaimPackages.Osztalyfonok.ClaimValue,
|
|
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
|
KretaClaimPackages.Adminisztrator.ClaimValue
|
|
)]
|
|
public ActionResult KozossegiSzolgalatokReszletekGrid(KozossegiSzolgalatokGridModel model)
|
|
{
|
|
return PartialView("DetailGrid", model);
|
|
}
|
|
|
|
private static List<SelectListItem> GetKozossegiSzolgalatTipusList()
|
|
{
|
|
//NOTE: Az Na a korábban migrált és/vagy létrehozott közösségi szolgálatokhoz kell, mivel korábban még nem lehetett kiválasztani közösségi szolgálat típust/tevékenységet.
|
|
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.KozossegiSzolgalatTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)KozossegiSzolgalatTipusEnum.Na).ToString() });
|
|
return result;
|
|
}
|
|
|
|
public ActionResult KozossegiSzolgalatokExportGrid([System.Web.Http.FromUri] KozossegiSzolgalatokSearchModel kozossegiSzolgalatokSearchModel)
|
|
{
|
|
try
|
|
{
|
|
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
KozossegiSzolgalatokSearchCo co = new KozossegiSzolgalatokSearchCo();
|
|
co.OsztalyCsoportIdList = kozossegiSzolgalatokSearchModel.CsoportIdSearch.HasValue ? new List<int> { kozossegiSzolgalatokSearchModel.CsoportIdSearch.Value } : null;
|
|
co.TanuloIdList = new List<int>();
|
|
co.TanuloNev = kozossegiSzolgalatokSearchModel.TanuloNeve;
|
|
co.IntervallumKezdete = kozossegiSzolgalatokSearchModel.IdoszakKezdete;
|
|
co.IntervallumVege = kozossegiSzolgalatokSearchModel.IdoszakVege;
|
|
co.OsszesOraszamKezdete = kozossegiSzolgalatokSearchModel.OsszesOraszamKezdete;
|
|
co.OsszesOraszamVege = kozossegiSzolgalatokSearchModel.OsszesOraszamVege;
|
|
co.AnyjaNeve = kozossegiSzolgalatokSearchModel.AnyjaNeve;
|
|
|
|
DataSet dataSet = helper.GetKozossegiSzolgalatokExcelExport(co);
|
|
var data = FeljegyzesHelper.GetExcelData(dataSet);
|
|
var excel = new ExcelExportManager();
|
|
var stream = excel.CreateExcelExport(data, fejlec: false);
|
|
|
|
return File(stream, Kreta.Core.Constants.ContentTypes.Xlsx, $"{FeljegyzesekResource.KozossegiSzolgalatokExportFileName}.xlsx");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
}
|
|
}
|