using System; using System.Collections.Generic; using System.Data; 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.Classes.ComboBox; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.Enums.ManualEnums; using Kreta.Web.Areas.Orarend.Models; using Kreta.Web.Areas.Tanar.Models; using Kreta.Web.Helpers; using Kreta.Web.Helpers.Grid; using Kreta.Web.Security; using Newtonsoft.Json; namespace Kreta.Web.Areas.Orarend.ApiControllers { [ApiRoleClaimsAuthorize(true)] [ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)] public class InformaciokFogadoorakApiController : ApiController { public DataSourceResult GetFogadooraGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request) { var model = JsonConvert.DeserializeObject(data); var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var gridParameters = Converter.GridParameter(request); var ds = helper.GetFogadooraGondviselo(ClaimData.GondviseloId ?? -1, model.TanarIdSrc, model.TeremIdSrc, model.IdopontTolSrc, model.IdopontIgSrc, model.IdointervallumTolSrc, model.IdointervallumIgSrc, model.IsJelentkezheto); var modelList = new List(); foreach (var row in ds.Tables[0].AsEnumerable()) { modelList.Add(new InformaciokFogadoorakGridModel { ID = row.Field("ID").ToString(), JelentkezesekKezeleseId = row.Field("JelentkezesekKezeleseId"), IdopontGondviseloId = row.Field("IdopontGondviseloId"), IdopontStr = row.Field("IdopontStr"), JelentkezesiHatarido = row.Field("JelentkezesiHatarido"), Pedagogus = row.Field("Pedagogus"), Terem = row.Field("Terem"), FogadooraKezdete = row.Field("FogadooraKezdete"), FogadooraVege = row.Field("FogadooraVege"), JelentkezesAllapot = row.Field("JelentkezesAllapot") }); } return modelList.ToDataSourceResult(gridParameters); } public JsonResult> GetFogadooraIdopontok(int fogadooraId) { var ds = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFogadooraIdopontok(fogadooraId, ClaimData.GondviseloId.Value, FogadooraTipusEnum.Jelentkezheto); List dropdownListItems = new List(); foreach (DataRow row in ds.Tables[0].Rows) { ComboBoxListItem sli = new ComboBoxListItem() { Text = row.Field("Text"), Value = row.Field("Value").ToString() }; dropdownListItems.Add(sli); } return Json(dropdownListItems); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage Jelentkezes(int idopontId) { new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).FogadooraGondviseloJelentkezes(idopontId, ClaimData.GondviseloId.Value); return new HttpResponseMessage(HttpStatusCode.OK); } [HttpPost] [ApiValidateAjaxAntiForgeryToken] public HttpResponseMessage Lemondas(int idopontGondviseloId) { new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).FogadooraGondviseloJelentkezesLemondas(idopontGondviseloId); return new HttpResponseMessage(HttpStatusCode.OK); } [HttpGet] [ApiValidateAjaxAntiForgeryToken] public int isSzabadIdopontByFogadooraIdopontId(int fogadooraIdopontId) { var result = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsSzabadIdopontByFogadooraIdopontId(fogadooraIdopontId); return result; } } }