121 lines
4.4 KiB
C#
121 lines
4.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Web.Mvc;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
|
|
using Kreta.Web.Areas.Adminisztracio.Models;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Models;
|
|
using Kreta.Web.Models.EditorTemplates;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
|
{
|
|
[MvcRoleClaimsAuthorize(true)]
|
|
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
|
public class AdatszotarController : Controller
|
|
{
|
|
/// <summary>
|
|
/// Default view visszaadás
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Index()
|
|
=> View(nameof(Index), new AdatszotarSearchModel());
|
|
|
|
/// <summary>
|
|
/// Új adatszótár felviteli popup
|
|
/// </summary>
|
|
/// <param name="adatszotarTipus"></param>
|
|
/// <returns></returns>
|
|
public ActionResult OpenAdatszotarNewPopUp(int adatszotarTipusId)
|
|
{
|
|
if (Core.Constants.NemBovithetoAdatszotarTipusLista.Contains(adatszotarTipusId))
|
|
{
|
|
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.KivalasztottAdatszotarNemBovitheto);
|
|
}
|
|
|
|
var tipusok = GetAdatszotarTipusList(false);
|
|
|
|
var model = new AdatszotarGridModel();
|
|
model.AdatszotarTipusList = tipusok;
|
|
model.AdatszotarTipusNev = ((GeneratedAdatszotarTipusEnum)adatszotarTipusId).ToString();
|
|
model.AdatszotarTipusId = adatszotarTipusId;
|
|
model.Sorszam = GetAdatszotarSorszam((GeneratedAdatszotarTipusEnum)adatszotarTipusId);
|
|
model.ZaradekSzovegList = ZaradekSzovegModel.AdatszotarNyelvCoToZaradekSzovegModel();
|
|
|
|
if (adatszotarTipusId == (int)GeneratedAdatszotarTipusEnum.ErtekelesMod)
|
|
{
|
|
model.Suly = ErtekelesModCo.DefaultSuly;
|
|
}
|
|
var pm = new PopUpModel(model, "Adatszotar_Bevitel");
|
|
|
|
|
|
pm.AddCancelBtn(pm, "AdatszotarHelper.newCancel");
|
|
pm.AddOkBtn(pm, "AdatszotarHelper.newSave");
|
|
|
|
return PartialView(Constants.General.PopupView, pm);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adatszótár módosításkori popup
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public ActionResult OpenAdatszotarModPopUp(int id)
|
|
{
|
|
AdatszotarGridModel model = new AdatszotarApiController().GetAdatszotarElem(id);
|
|
model.AdatszotarTipusList = GetAdatszotarTipusList();
|
|
|
|
var pm = new PopUpModel(model, "Adatszotar_Bevitel");
|
|
|
|
pm.AddCancelBtn(pm, "AdatszotarHelper.modifiedCancel");
|
|
pm.AddOkBtn(pm, "AdatszotarHelper.modifiedSave");
|
|
|
|
return PartialView(Constants.General.PopupView, pm);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Adatszótár típus lista
|
|
/// </summary>
|
|
/// <param name="getDefaultValue"></param>
|
|
/// <returns></returns>
|
|
private List<SelectListItem> GetAdatszotarTipusList(bool getDefaultValue = true)
|
|
{
|
|
var tipusok = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetEditableAdatszotarTipusok().OrderBy(x => x.megnevezes).ToList();
|
|
|
|
var sli = new List<SelectListItem>();
|
|
|
|
if (getDefaultValue)
|
|
{
|
|
sli.Add(new SelectListItem() { Value = "-1", Text = CommonResource.KeremValasszon });
|
|
}
|
|
|
|
foreach ((int id, string megnevezes) in tipusok)
|
|
{
|
|
sli.Add(new SelectListItem() { Value = id.ToString(), Text = megnevezes });
|
|
}
|
|
|
|
return sli;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Új adatszótár sorszám visszadása
|
|
/// </summary>
|
|
/// <param name="adatszotarTipus"></param>
|
|
/// <returns></returns>
|
|
private int? GetAdatszotarSorszam(GeneratedAdatszotarTipusEnum adatszotarTipus)
|
|
{
|
|
var helper = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
return helper.GetAdatszotarMaxSorszam(adatszotarTipus) + 1;
|
|
}
|
|
}
|
|
}
|