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.KollegiumModul.ClaimValue)] public class KollegiumAktTanevSorolasApiController : ApiController { [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage OsztalyBesorolasElsoAlkalom(AktTanevOsztalyBesorolasElsoAlkalomModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumOsztalybaSorolasElsoAlkalommal(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 OsztalyKisorolas(AktTanevOsztalyKisorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumOsztalyKisorolas(model, model.ConvertModelToJogviszonyCo()); } 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(AktTanevOsztalyTevesBesorolasJavitasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumOsztalybaSorolasJavitasa(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 OsztalyAtsorolas(AktTanevOsztalyAtsorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumOsztalyAtsorolas(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(AktTanevOsztalyVisszairatkoztatasModel model) { try { OsztalyCsoportLogic.AktTanevOsztalyVisszairatkoztatasJogviszonyCustomValidation(ModelState, model); if (ModelState.IsValid) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumVisszaIratkoztatas(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); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage CsoportBesorolas(AktTanevCsoportBesorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumCsoportbaSorolas(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 CsoportAtsorolas(AktTanevCsoportAtsorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumCsoportbaAtsorolas(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 CsoportKisorolas(AktTanevCsoportKisorolasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumCsoportbolKisorolas(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 CsoportTevesBesorolasJavitas(AktTanevCsoportTevesBesorolasJavitasModel model) { try { new OsztalyCsoportbaSorolasHelper(ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.IsSzakkepzoIntezmeny, ClaimData.IsSelectedTanev21_22OrLater, ClaimData.AktivTanevID, ClaimData.KovTanevID).KollegiumCsoportSorolasJavitas(model); } catch (BlException ex) { var error = StatusErrorFactory.GetSorolasStatusErrorWithReloadDDL(ex.Message); if (ex.IsUnHandled) { error.UnHandledException = ex.InnerException; } throw error; } return new HttpResponseMessage(HttpStatusCode.OK); } } }