199 lines
7.7 KiB
C#
199 lines
7.7 KiB
C#
using System.Collections.Generic;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using System.Web.Http.Results;
|
|
using Kendo.Mvc.UI;
|
|
using Kreta.BusinessLogic.Classes.ComboBox;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.BusinessLogic.Utils;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Adatszolgaltatasok.Models;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.Adatszolgaltatasok.ApiControllers
|
|
{
|
|
[ApiRoleClaimsAuthorize(true)]
|
|
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
|
public class EnaploAdatszolgaltatasApiController : ApiController
|
|
{
|
|
public EnaploAdatszolgaltatasModel GetEnaploAdatszolgaltatas()
|
|
{
|
|
var helper = new AdatszolgaltatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
var co = helper.GetEnaploAdatszolgaltatas();
|
|
|
|
return Convert_CO_to_Model(co);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage SaveModifiedOrNewEnaploAdatszolgaltatas(EnaploAdatszolgaltatasModel model)
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
AdatszolgaltatasokHelper h = new AdatszolgaltatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
EnaploAdatszolgaltatasCO co = Convert_Model_to_CO(model);
|
|
if (model.ID.HasValue && model.ID > 0)
|
|
{
|
|
h.InsertorUpdateEnaploAdatszolgaltatasCO(co, true);
|
|
}
|
|
else
|
|
{
|
|
h.InsertorUpdateEnaploAdatszolgaltatasCO(co, false);
|
|
}
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
|
|
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
|
}
|
|
|
|
[HttpPost]
|
|
[ApiValidateAjaxAntiForgeryToken]
|
|
public HttpResponseMessage RemoveSzerzodes()
|
|
{
|
|
try
|
|
{
|
|
var helper = new AdatszolgaltatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
|
|
|
helper.DeleteSzerzodesFile();
|
|
|
|
return new HttpResponseMessage(HttpStatusCode.OK);
|
|
}
|
|
catch (EntityDeleteFailedException ex)
|
|
{
|
|
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, AdatszolgaltatasokResource.Szerzodes, ex.ConnectionErrorMessage);
|
|
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
|
}
|
|
|
|
}
|
|
|
|
private EnaploAdatszolgaltatasModel Convert_CO_to_Model(EnaploAdatszolgaltatasCO co)
|
|
{
|
|
EnaploAdatszolgaltatasModel model = new EnaploAdatszolgaltatasModel()
|
|
{
|
|
ID = co.ID,
|
|
HasznalENaplot = EncodeIgenNemSelector(co.HasznalENaplot),
|
|
HasznalPapirNaplot = EncodeIgenNemSelector(co.HasznalPapirNaplot),
|
|
HasznalEEllenorzot = EncodeIgenNemSelector(co.HasznalEEllenorzot),
|
|
ENaploTipus = co.ENaploTipus,
|
|
ENaploInfra = co.ENaploInfra,
|
|
ForrasTipusa = co.ForrasTipusa,
|
|
SzerzodesOsszege = co.SzerzodesOsszege,
|
|
SzerzodoNeve = co.SzerzodoNeve,
|
|
SzerzodoPozicio = co.SzerzodoPozicio,
|
|
SzerzodesKezdete = co.SzerzodesKezdete,
|
|
SzerzodesVege = co.SzerzodesVege,
|
|
VanHonlap = EncodeIgenNemSelector(co.VanHonlap),
|
|
HonlapUrl = co.HonlapUrl
|
|
};
|
|
|
|
return model;
|
|
}
|
|
|
|
private EnaploAdatszolgaltatasCO Convert_Model_to_CO(EnaploAdatszolgaltatasModel model)
|
|
{
|
|
EnaploAdatszolgaltatasCO co = new EnaploAdatszolgaltatasCO();
|
|
|
|
co.ID = model.ID;
|
|
|
|
if (model.HasznalENaplot.HasValue && model.HasznalENaplot == (int)IgenNemEnum.Nem)
|
|
{
|
|
co.HasznalENaplot = DecodeIgenNemSelector(model.HasznalENaplot);
|
|
return co;
|
|
}
|
|
else if (model.HasznalENaplot.HasValue && model.HasznalENaplot == (int)IgenNemEnum.Igen)
|
|
{
|
|
co.HasznalENaplot = DecodeIgenNemSelector(model.HasznalENaplot);
|
|
co.HasznalPapirNaplot = DecodeIgenNemSelector(model.HasznalPapirNaplot);
|
|
co.HasznalEEllenorzot = DecodeIgenNemSelector(model.HasznalEEllenorzot);
|
|
|
|
if (model.ENaploTipus.HasValue && (model.ENaploTipus == (int)ENaploTipusEnum.KRETA || model.ENaploTipus == (int)ENaploTipusEnum.NN))
|
|
{
|
|
co.ENaploTipus = model.ENaploTipus;
|
|
return co;
|
|
}
|
|
else
|
|
{
|
|
co.ENaploTipus = model.ENaploTipus;
|
|
co.ENaploInfra = model.ENaploInfra;
|
|
co.ForrasTipusa = model.ForrasTipusa;
|
|
co.SzerzodesOsszege = model.SzerzodesOsszege;
|
|
co.SzerzodoNeve = model.SzerzodoNeve;
|
|
co.SzerzodoPozicio = model.SzerzodoPozicio;
|
|
co.SzerzodesKezdete = model.SzerzodesKezdete;
|
|
co.SzerzodesVege = model.SzerzodesVege;
|
|
co.VanHonlap = DecodeIgenNemSelector(model.VanHonlap);
|
|
|
|
if (model.VanHonlap.HasValue && model.VanHonlap == (int)IgenNemEnum.Igen)
|
|
{
|
|
co.HonlapUrl = model.HonlapUrl;
|
|
}
|
|
}
|
|
}
|
|
return co;
|
|
}
|
|
|
|
private bool? DecodeIgenNemSelector(int? ertek)
|
|
{
|
|
if (ertek == null)
|
|
{
|
|
return null;
|
|
}
|
|
else if (ertek == (int)IgenNemEnum.Igen)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private int? EncodeIgenNemSelector(bool? ertek)
|
|
{
|
|
if (ertek == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return ertek == true ? (int)IgenNemEnum.Igen : (int)IgenNemEnum.Nem;
|
|
}
|
|
|
|
public JsonResult<List<ComboBoxListItem>> GetEnaploTipusok([DataSourceRequest] DataSourceRequest request)
|
|
{
|
|
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ENaploTipus, ClaimData.SelectedTanevID.Value, toLower: true);
|
|
|
|
return Json(dictionary.ToComboBoxItemList());
|
|
}
|
|
|
|
public JsonResult<List<ComboBoxListItem>> GetEnaploInfra([DataSourceRequest] DataSourceRequest request)
|
|
{
|
|
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ENaploInfra, ClaimData.SelectedTanevID.Value, toLower: true);
|
|
|
|
return Json(dictionary.ToComboBoxItemList());
|
|
}
|
|
|
|
public JsonResult<List<ComboBoxListItem>> GetEnaploForras([DataSourceRequest] DataSourceRequest request)
|
|
{
|
|
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ENaploForras, ClaimData.SelectedTanevID.Value, toLower: true);
|
|
|
|
return Json(dictionary.ToComboBoxItemList());
|
|
}
|
|
|
|
public JsonResult<List<ComboBoxListItem>> GetSzerzodoPozicio([DataSourceRequest] DataSourceRequest request)
|
|
{
|
|
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzerzodoSzemelyPozicio, ClaimData.SelectedTanevID.Value, toLower: true);
|
|
|
|
return Json(dictionary.ToComboBoxItemList());
|
|
}
|
|
}
|
|
}
|