kreta/KretaWeb/Areas/GRModul/ApiControllers/BeszerzesiIgenyApiController.cs
2024-03-13 00:33:46 +01:00

146 lines
5.7 KiB
C#

using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using System.Web.Http.Results;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.Exceptions;
using Kreta.Web.Areas.GRModul.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.GRModul.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize("KretaClaimPackages.GazdasagiUgyintezo.ClaimValue")]
public class BeszerzesiIgenyApiController : ApiController
{
public DataSourceResult GetBeszerzesiIgenyGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
BeszerzesiIgenySearchModel model = JsonConvert.DeserializeObject<BeszerzesiIgenySearchModel>(data);
var helper = new BeszerzesiModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var result = helper.BeszerzesiIgenyKereses(model.ConvertModelToCo(ClaimData.SelectedTanevID.Value));
return result.ToDataSourceResult();
}
public DataSourceResult GetBeszerzesiIgenyDokGrid(int igenylesId)
{
var helper = new BeszerzesiModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.BeszerzesiIgenyDokList(igenylesId);
return result.ToDataSourceResult();
}
public DataSourceResult GetBeszerzesiIgenyMegjegyzesGrid(int igenylesId)
{
var helper = new BeszerzesiModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.BeszerzesiIgenyMegjegyzesList(igenylesId);
return result.ToDataSourceResult();
}
public JsonResult<AnyagModel> GetAnyagTorzsAdat(int torzsId)
{
var helper = new BeszerzesiModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Json(ConvertCoToAnyagModel(helper.GetAnyagTorzsAdat(torzsId)));
}
public JsonResult<SzallitoModel> GetSzallitoTorzsAdat(int torzsId)
{
var helper = new BeszerzesiModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Json(ConvertCoToSzallitoModel(helper.GetSzallitoTorzsAdat(torzsId)));
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveBeszerzesiIgeny(BeszerzesiIgenyModel model)
{
try
{
if (ModelState.IsValid)
{
var co = BeszerzesiIgenyModel.ConvertModelToCo(model);
new BeszerzesiModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveBeszerzesiIgeny(co);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (BlException e)
{
StatusError error = new StatusError(HttpStatusCode.BadRequest, e.Message);
throw error;
}
}
protected static AnyagModel ConvertCoToAnyagModel(BeszerzesiIgenyCo co)
{
return new AnyagModel()
{
//AnyagId = co.AnyagId, //TODO
AnyagMegnevezes = co.AnyagMegnevezes,
AnyagMennyisegiEgysegId = co.AnyagMennyisegiEgysegId,
AnyagRovidLeiras = co.AnyagRovidLeiras,
AnyagTetelMegnevezes = co.AnyagTetelMegnevezes,
AnyagTetelEgysegar = co.AnyagTetelEgysegar,
AnyagTetelMennyisegiEgysegId = co.AnyagTetelMennyisegiEgysegId,
AnyagTetelMennyiseg = co.AnyagTetelMennyiseg
};
}
protected static SzallitoModel ConvertCoToSzallitoModel(BeszerzesiIgenyCo co)
{
return new SzallitoModel()
{
//SzallitoId = co.SzallitoId, //TODO
SzallitoNev = co.SzallitoNev,
IrSzam = co.Iranyitoszam,
HelysegNev = co.HelysegNev,
KozteruletNev = co.KozteruletNev,
KozteruletJellegId = co.KozteruletJellegeId,
Hazszam = co.Hazszam,
Emelet = co.Emelet,
Ajto = co.Ajto,
Adoszam = co.Adoszam,
KepviseloNeve = co.KepviseloNev,
EmailCim = co.EmailCim,
Telefonszam = co.Telefonszam,
FizetesiMod = co.FizetesiMod
};
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveBeszerzesiIgenyElfogadas(int igenyId)
{
//new GRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).BeszerzesiIgenyElfogadas(igenyId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveBeszerzesiIgenyElutasitas(int igenyId)
{
//new GRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).BeszerzesiIgenyElutasitas(igenyId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveBeszerzesiIgenyHianyPotlas(int igenyId)
{
//new GRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).BeszerzesiIgenyHianyPotlas(igenyId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
}