namespace Kreta.Web.Areas.OsztalyCsoport.ApiControllers { using System.Net; using System.Net.Http; using System.Web.Http; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.Core.Exceptions; using Kreta.Web.Areas.OsztalyCsoport.Logic; using Kreta.Web.Areas.OsztalyCsoport.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.Error; using Kreta.Web.Security; [ApiRoleClaimsAuthorize(true)] [ApiRolePackageAuthorize(KretaClaimPackages.EGYMIModul.ClaimValue)] public class EGYMIKovTanevSorolasApiController : ApiController { [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage CsoportLeptetes(KovTanevCsoportAtleptetesModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMICsoportLeptetes(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage CsoportBesorolas(KovTanevCsoportBesorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMICsoportbaSorolas(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusError(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage CsoportTevesBesorolasJavitas(KovTanevCsoportTevesBesorolasJavitasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMICsoportSorolasJavitas(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage OsztalyLeptetes(KovTanevOsztalyAtleptetesModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMIOsztalyLeptetes(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage OsztalyBesorolasElsoAlkalom(KovTanevOsztalyBesorolasElsoAlkalomModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMIOsztalybaSorolasElsoAlkalommal(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage OsztalyTevesBesorolasJavitas(KovTanevOsztalyTevesBesorolasJavitasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, kovTanev: true).EGYMIOsztalybaSorolasJavitasa(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage OsztalyVisszairatkoztatas(KovTanevVisszairatkoztatasModel model) { try { OsztalyCsoportLogic.KovTanevVisszairatkoztatasJogviszonyCustomValidation(ModelState, model); if (ModelState.IsValid) { try { new OsztalyCsoportbaSorolasHelper( ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID, true).EGYMIVisszaIratkoztatas(model, model.ConvertModelToJogviszonyCo()); } catch (BlException e) { var error = new StatusError(HttpStatusCode.BadRequest, e.Message); throw error; } } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } } }