This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminOralatogatasokListajaApiController : ApiController
{
public DataSourceResult GetOralatogatasokGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<OralatogatasokKereseseGridModel>(OralatogatasokKereseseGridModel.OralatogatasExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.Tanorak, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OralatogatasokResource.ExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<OralatogatasokKereseseGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<OralatogatasokKereseseModel>(data);
var gridParameter = Converter.GridParameter(request);
var coList = new OralatogatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOralatogatasCoList(model.ConvertToCo(isTanar: false));
var modelList = new List<OralatogatasokKereseseGridModel>();
foreach (var co in coList)
{
var gridModel = new OralatogatasokKereseseGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteOralatogatas(object data)
{
OralatogatasokKereseseGridModel model = JsonConvert.DeserializeObject<OralatogatasokKereseseGridModel>(data.ToString());
int TanitasiOraId = int.Parse(model.TanitasiOraId);
int AlkamazottId = int.Parse(model.AlkalmazottId);
try
{
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteOralatogatas(TanitasiOraId, AlkamazottId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AzElemNemTorolheto);
}
}
}
}

View file

@ -0,0 +1,403 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
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.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.Tanar.Logic;
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public class FogadooraApiController : ApiController
{
public DataSourceResult GetFogadooraGridForAdmin(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
return GetFogadooraGrid(data, request);
}
public DataSourceResult GetFogadooraGridForTanar(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
return GetFogadooraGrid(data, request, ClaimData.FelhasznaloId);
}
public DataSourceResult GetFogadooraGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request, int? tanarId = null)
{
var model = JsonConvert.DeserializeObject<FogadooraSearchModel>(data);
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
return helper.GetFogadoora(model.ConvertModelToCo(tanarId)).ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFogadooraById([FromBody] int fogadooraId) => DeleteFogadoora(fogadooraId, (int)OraModositasiIdoszakTipus.EgyOra);
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFogadooraByFogadooraModel(FogadooraModel model)
{
return DeleteFogadoora(model.Id.Value, model.ModositasiIdoszakTipus);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFogadoora(int fogadooraId, int modositasiIdoszakTipus)
{
try
{
new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteFogadoora(fogadooraId, modositasiIdoszakTipus);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
public FogadooraModel ConvertFogadooraModelFromFogadooraId(int fogadooraId)
{
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetFogadooraById(fogadooraId);
var model = new FogadooraModel
{
FogadoOraDatuma = co.FogadoOraDatuma,
SelectedOsztalyCsoportIdList = co.SelectedOsztalyCsoportIdList
};
return model;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveFogadoora(FogadooraModel model)
{
try
{
model = FogadooraLogic.SetFogadooraDate(model);
if (new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(Enums.RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa))
{
model.IsNemKotottMunkaido = false;
}
var fogadooraHelper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var fogadooraCo = FogadooraLogic.ConvertModelToCo(model);
fogadooraCo.TanarId = ClaimData.FelhasznaloId;
ModelState.AddRange(fogadooraHelper.SaveFogadoora(fogadooraCo));
if (ModelState.IsValid)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
}
public DataSourceResult GetOsztalyCsoportGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
DataSet ds = helper.GetFogadooraOsztalyCsoportok(ClaimData.IsSzuperOsztalyfonok || ClaimData.IsAdministrator);
return ds.ToDataSourceResult();
}
public DataSourceResult GetFogadooraJelentkezettGondviselokGrid(int id, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
DataSet ds = helper.GetFogadooraJelentkezettGondviselokDataSet(id);
return ds.ToDataSourceResult();
}
[HttpGet]
public IHttpActionResult IsFogadooraJelentkezettGondviselokForUpdate(int id, bool isJelentkezesekKezelese, bool IsIdosavraOsztas, int egysegnyiIdopontok, int modositasiIdoszakTipus, DateTime kezdete, DateTime vege, string modifiedOcsList)
{
try
{
var isIdopontUjraGeneralasKell = new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsIdopontUjraGeneralasKell(id, isJelentkezesekKezelese, IsIdosavraOsztas, egysegnyiIdopontok, kezdete, vege);
var isFogadooraJelentkezettGondviselok = IsFogadooraJelentkezettGondviselok(id, modositasiIdoszakTipus, JsonConvert.DeserializeObject<Dictionary<int, bool>>(modifiedOcsList));
return Ok(new { isIdopontUjraGeneralasKell, isFogadooraJelentkezettGondviselok });
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.InternalServerError, ErrorResource.NemSikerultAMuvelet) { UnHandledException = ex };
}
}
[HttpGet]
public bool IsFogadooraJelentkezettGondviselok(int id, int modositasiIdoszakTipus, Dictionary<int, bool> modifiedOcsList)
{
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
TanevCO tanevCO;
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanevCO = tanevHelper.GetTanevInfo();
var fogadooraCo = helper.GetFogadooraById(id);
var kezdete = new DateTime();
var vege = new DateTime();
switch (modositasiIdoszakTipus)
{
case (int)OraModositasiIdoszakTipus.EgyOra:
kezdete = fogadooraCo.FogadoOraKezdete;
vege = fogadooraCo.FogadoOraKezdete;
break;
case (int)OraModositasiIdoszakTipus.AdottNaptol:
kezdete = fogadooraCo.FogadoOraDatuma;
vege = tanevCO.UtolsoTanitasiNap;
break;
case (int)OraModositasiIdoszakTipus.AdottNapig:
kezdete = DateTime.Now;
vege = fogadooraCo.FogadoOraDatuma;
break;
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
kezdete = DateTime.Now;
vege = tanevCO.UtolsoTanitasiNap;
break;
}
if (modifiedOcsList == null || modifiedOcsList.Count == 0)
{
return helper.GetFogadooraJelentkezettGondviselokByGroupId(fogadooraCo.GroupId, kezdete, vege).Tables[0].Rows.Count > 0;
}
var ds = helper.GetFogadooraJelentkezettGondviselokDataSet(id);
var dv = ds.Tables[0].DefaultView;
var filteredList = modifiedOcsList.Where(x => x.Value == false);
if (filteredList.Any())
{
dv.RowFilter = "OsztalyCsoportId IN (" + string.Join(",", filteredList.Select(y => y.Key)) + ")";
}
return dv.ToTable().Rows.Count > 0;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public IHttpActionResult ValidateFogadoora(FogadooraModel model)
{
model = FogadooraLogic.SetFogadooraDate(model);
TanevCO tanevCO;
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanevCO = tanevHelper.GetTanevInfo();
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var co = new FogadooraCo
{
Rendszeresseg = model.Rendszeresseg,
FogadoOraKezdete = model.FogadoOraKezdete,
RendszeresFogadooraElsoDatuma = model.RendszeresFogadooraElsoDatuma,
RendszeresFogadooraUtolsoDatuma = model.RendszeresFogadooraUtolsoDatuma,
FogadoOraDatuma = model.FogadoOraDatuma,
FogadooraDatumList = model.FogadooraDatumList
};
var datumList = helper.GetFogadooraDatumList(co);
var datumListWithKezdetVege = new List<(DateTime kezdet, DateTime veg)>();
foreach (var datum in datumList)
{
var idopont = (datum.AddHours(model.FogadoOraKezdete.Hour).AddMinutes(model.FogadoOraKezdete.Minute)
, datum.AddHours(model.FogadoOraVege.Hour).AddMinutes(model.FogadoOraVege.Minute));
datumListWithKezdetVege.Add(idopont);
}
var teremOrarendDs = helper.GeTeremOrarendDs(DateTime.Now, tanevCO.UtolsoTanitasiNap, model.TeremId.Value);
var pedagogusOrarendDs = helper.GetPedagogusOrarendDs(DateTime.Now, tanevCO.UtolsoTanitasiNap);
var pedagogusFogadooraDs = helper.GetPedagogusFogadooraDs(DateTime.Now, tanevCO.UtolsoTanitasiNap);
var teremFogadooraDs = helper.GetTeremFogadooraDs(DateTime.Now, tanevCO.UtolsoTanitasiNap, model.TeremId.Value);
var teremUtkozesList = FogadooraLogic.TeremUtkozesList(teremOrarendDs, datumListWithKezdetVege);
var pedagogusUtkozes = FogadooraLogic.PedagogusUtkozesList(pedagogusOrarendDs, datumListWithKezdetVege);
var fogadooraUtkozes = FogadooraLogic.FogadooraUtkozesList(pedagogusFogadooraDs, datumListWithKezdetVege, model.Id);
var fogadooraTeremUtkozes = FogadooraLogic.FogadooraTeremUtkozesList(teremFogadooraDs, datumListWithKezdetVege, model.Id);
var figyelmezetetesText = new StringBuilder();
figyelmezetetesText.Append(FogadooraResource.FogadooraFelveteleSoranUtkozesLepettFel);
var tiltasText = new StringBuilder();
tiltasText.Append(FogadooraResource.FogadooraFelveteleSoranUtkozesLepettFel);
var isFigyelmeztetes = false;
var isTiltas = false;
switch (FogadooraLogic.TeremUtkozesSystemSetting)
{
case 1: /*Ütközés nem lehetséges*/
if (teremUtkozesList.Count > 0)
{
tiltasText.Append(FogadooraResource.Teremutkozes);
isTiltas = true;
}
break;
case 2: /*Figyelmeztetés*/
//case 3: /*Ütközés lehetséges*/
if (teremUtkozesList.Count > 0)
{
figyelmezetetesText.Append(FogadooraResource.Teremutkozes);
isFigyelmeztetes = true;
}
break;
}
switch (FogadooraLogic.NapirendUtkozes)
{
case 1:
if (pedagogusUtkozes.Count > 0)
{
tiltasText.Append(FogadooraResource.OrarendUtkozes);
isTiltas = true;
}
break;
case 2:
//case 3:
if (pedagogusUtkozes.Count > 0)
{
figyelmezetetesText.Append(FogadooraResource.OrarendUtkozes);
isFigyelmeztetes = true;
}
break;
}
if (fogadooraUtkozes.Count > 0)
{
tiltasText.AppendFormat(FogadooraResource.FogadooraUtkozes, string.Join(",", fogadooraUtkozes.Select(row => row.Field<DateTime>("FogadooraKezdete").ToString("yyyy.MM.dd. HH:mm"))));
isTiltas = true;
}
if (fogadooraTeremUtkozes.Count > 0)
{
figyelmezetetesText.AppendFormat(FogadooraResource.FogadooraTeremUtkozes, string.Join(",", fogadooraTeremUtkozes.Select(row => row.Field<DateTime>("FogadooraKezdete").ToString("yyyy.MM.dd. HH:mm"))));
isFigyelmeztetes = true;
}
if (isTiltas)
{
throw new StatusError(HttpStatusCode.BadRequest, tiltasText.ToString());
}
if (isFigyelmeztetes)
{
return Json(new { Valid = false, Text = figyelmezetetesText.Append(FogadooraResource.AkarjafolytatniKerdes).ToString() });
}
return Json(new { Valid = true, Text = string.Empty });
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public JsonResult<List<ExportColumn>> GetExportColumnsForTanar()
{
List<ExportColumn> Items = new List<ExportColumn>
{
new ExportColumn() { Field = "OsztalyCsoport", Title = FogadooraResource.OsztalyCsoport },
new ExportColumn() { Field = "Terem", Title = FogadooraResource.Terem },
new ExportColumn() { Field = "FogadooraKezdete", Title = FogadooraResource.FogadooraKezdete },
new ExportColumn() { Field = "FogadooraVege", Title = FogadooraResource.FogadooraVege },
new ExportColumn() { Field = "Rendszeresseg", Title = FogadooraResource.Rendszeresseg },
new ExportColumn() { Field = "JelentkezesekKezelese", Title = FogadooraResource.JelentkezesekKezelese }
};
return Json(Items);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public JsonResult<List<ExportColumn>> GetExportColumnsForAdmin()
{
List<ExportColumn> Items = new List<ExportColumn>
{
new ExportColumn() { Field = "OsztalyCsoport", Title = FogadooraResource.OsztalyCsoport },
new ExportColumn() { Field = "Terem", Title = FogadooraResource.Terem },
new ExportColumn() { Field = "FogadooraKezdete", Title = FogadooraResource.FogadooraKezdete },
new ExportColumn() { Field = "FogadooraVege", Title = FogadooraResource.FogadooraVege },
new ExportColumn() { Field = "Pedagogus", Title = FogadooraResource.Pedagogus },
new ExportColumn() { Field = "Rendszeresseg", Title = FogadooraResource.Rendszeresseg },
new ExportColumn() { Field = "JelentkezesekKezelese", Title = FogadooraResource.JelentkezesekKezelese }
};
return Json(Items);
}
public DataSourceResult GetFogadooraGridForTanarExport(string searchFilter, string sortColumn, string sortDir)
{
var model = JsonConvert.DeserializeObject<FogadooraSearchModel>(searchFilter);
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var fogadoOrak = helper.GetFogadoora(model.ConvertModelToCo(ClaimData.FelhasznaloId));
if (sortColumn != "-" && sortDir != "-")
{
DataSet result = new DataSet();
fogadoOrak.Tables[0].DefaultView.Sort = (sortColumn).ToUpper() + " " + (sortDir).ToUpper();
result.Tables.Add(fogadoOrak.Tables[0].DefaultView.ToTable());
return result.ToDataSourceResult();
}
return fogadoOrak.ToDataSourceResult();
}
public DataSourceResult GetFogadooraGridForAdminExport(string searchFilter, string sortColumn, string sortDir)
{
var model = JsonConvert.DeserializeObject<FogadooraSearchModel>(searchFilter);
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var fogadoOrak = helper.GetFogadoora(model.ConvertModelToCo(null));
if (sortColumn != "-" && sortDir != "-")
{
DataSet result = new DataSet();
fogadoOrak.Tables[0].DefaultView.Sort = (sortColumn).ToUpper() + " " + (sortDir).ToUpper();
result.Tables.Add(fogadoOrak.Tables[0].DefaultView.ToTable());
return result.ToDataSourceResult();
}
return fogadoOrak.ToDataSourceResult();
}
}
}

View file

@ -0,0 +1,288 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
public class HaziFeladatCsatolmanyokApiController : ApiController
{
private readonly IFileServiceHelper fileServiceHelper;
public HaziFeladatCsatolmanyokApiController(IFileServiceHelper fileServiceHelper)
{
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
}
public DataSourceResult GetHFCsatolmanyokGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<HFCsatolmanyGridModel>(HFCsatolmanyGridModel.HazifeladatCsatolmanyExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.HazifeladatExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OrarendResource.HazifeladatCsatolmanyExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<HFCsatolmanyGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
data = data.Replace("-", "");
var model = JsonConvert.DeserializeObject<HFCsatolmanyokSearchModel>(data) ?? new HFCsatolmanyokSearchModel();
var gridParameter = Converter.GridParameter(request);
var tanarId = ClaimData.IsAdministrator ? (int?)null : ClaimData.FelhasznaloId;
var coList = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHazifeladatCsatolmanyCoList(model.ConvertModelToCo(tanarId));
var modelList = new List<HFCsatolmanyGridModel>();
foreach (var co in coList)
{
var gridModel = new HFCsatolmanyGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
public DataSourceResult GetHFCsatolmanyokGridForHazi(int haziFeladatId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
DataSet ds = helper.GetCsatolmanyokForHaziFeladatDataSet(haziFeladatId);
return ds.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteCsatolmany([FromBody] int id)
{
try
{
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
helper.DeleteCsatolmany(id, true);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlTorleseSikertelen) { UnHandledException = ex };
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteSelectedCsatolmany(List<int> idList)
{
try
{
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
foreach (var item in idList)
{
helper.DeleteCsatolmany(item, true);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlokTorleseSikertelen) { UnHandledException = ex };
}
}
[HttpPost]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Tanulo.ClaimValue)]
public HttpResponseMessage DownloadCsatolmanyFile(DownloadModel model)
{
try
{
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
var co = helper.GetCsatolmanyFile(model.Id);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(co.Stream);
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = co.FileName;
return response;
}
catch (Exception ex)
{
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
response.Content = new StringContent(@"
<!DOCTYPE html>
<html lang=""hu"">
<head>
<meta charset=""utf-8"" />
<meta name=""format-detection"" content=""telephone=no"" />
<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"" />
<meta http-equiv=""X-UA-Compatible"" content =""IE=Edge"" />
<title>Hiba file letöltés során!</title>
<link rel=""preconnect"" href=""https://fonts.googleapis.com"" crossorigin>
<link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin>
<link href=""https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=Roboto+Condensed:wght@300;400;700&display=swap"" rel=""stylesheet"">
<link rel=""icon"" href=""~/favicon.ico"" type=""image/x-icon"">
<style>
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
height: 100%;
font-family: ""Open Sans"";
font-size: 14px;
font-weight: 400;
color: #445261;
background: #406a7c; /* For browsers that do not support gradients */
background: -webkit-radial-gradient(circle, #518094, #406a7c); /* Safari */
background: -o-radial-gradient(circle, #518094, #406a7c); /* Opera 11.6 to 12.0 */
background: -moz-radial-gradient(circle, #518094, #406a7c); /* Firefox 3.6 to 15 */
background: radial-gradient(circle, #518094, #406a7c); /* Standard syntax */
}
# main {
height: 100 %;
top: 0;
position: absolute;
width: 100 %;
background-repeat: no-repeat;
background-position: bottom right 30px;
}
#main h2 {
color: white;
font-weight: 400;
font-size: 2em;
}
#main .login_logo {
margin: 0 auto;
margin-top: 10%;
width: 400px;
display: block;
background-position: center center;
background-repeat: no-repeat;
height: 100px;
padding-top: 25px;
}
#main .login_container {
width: 40%;
margin: 0 auto;
display: block;
background-color: transparent;
}
#main .login_problems {
width: 100%;
margin: 0 auto;
display: block;
background-color: transparent;
line-height: 30px;
color: white;
}
#main .login_header {
background-color: transparent;
text-align: center;
margin-top: 40px;
}
#main .login_content {
text-align: center;
padding: 20px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow-y: auto;
color: white;
font-size: 18px;
font-weight: 300;
}
</style>
</head>
<body>
<div id = ""main"" >
<div class=""login_logo"">
</div>
<div class=""login_container"">
<div class=""login_header"">
<h2>Hiba történt a file letöltése során!</h2>
</div>
</div>
<div class=""login_problems"">
<div class=""login_content"">
A file service nem elérhető jelenleg vagy a letölteni kívánt filet már törölték.
</div>
</div>
</div>
</body>
</html>
");
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
}
[HttpGet]
public Dictionary<string, string> GetFelhasznaloAdatmennyisege(int felhasznaloId)
{
Dictionary<string, string> result = new Dictionary<string, string>();
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret(felhasznaloId);
var maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(felhasznaloId);
var marFeltoltottAdatmennyisegInMB = string.Format("{0:0.00}", CommonUtils.ConvertByteToMByte(osszMeret)); // DB-ben byte van
var maxAdatmennyisegInMB = string.Format("{0:0.00}", CommonUtils.ConvertKByteToGByte(maxMegengedettAdatmennyiseg)); // DB-ben kByte van
result.Add("marFeltoltottAdatmennyiseg", ClaimData.IsAdministrator ? string.Format(TanarResource.MarFeltoltottAdatmennyiseg, marFeltoltottAdatmennyisegInMB) : string.Format(TanarResource.KorabbanMarFeltoltottAdatmennyiseg, marFeltoltottAdatmennyisegInMB));
result.Add("maxAdatmennyiseg", ClaimData.IsAdministrator ? string.Format(TanarResource.FelhasznalokentMaxAdatmennyiseg, maxAdatmennyisegInMB) : string.Format(TanarResource.MaximalisMegengedettAdatmennyiseg, maxAdatmennyisegInMB));
return result;
}
}
}

View file

@ -0,0 +1,44 @@
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class HelyettesitendoTanarOraiApiController : ApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public DataSourceResult GetHelyettesitesGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
TanarHelyettesitesekKereseseSearchModel model = JsonConvert.DeserializeObject<TanarHelyettesitesekKereseseSearchModel>(data);
TanarHelyettesitesekKereseseCO co = ConvertModelToCo(model);
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var tanarorai = helper.GetHelyettesitettTanorak(co);
return tanarorai.ToDataSourceResult();
}
private TanarHelyettesitesekKereseseCO ConvertModelToCo(TanarHelyettesitesekKereseseSearchModel model)
{
TanarHelyettesitesekKereseseCO co = new TanarHelyettesitesekKereseseCO()
{
HelyettesitesKezdete = model.IdoszakKezdete,
HelyettesitesVege = model.IdoszakVege,
HelyettesitettId = model.HelyettesitettId,
HelyettesitoId = model.HelyettesitoId
};
return co;
}
}
}

View file

@ -0,0 +1,192 @@
using System;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class HelyettesitesekKereseseApiController : ApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public DataSourceResult GetHelyettesitesGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
HelyettesitesSearchModel model = JsonConvert.DeserializeObject<HelyettesitesSearchModel>(data);
if (!model.HelyettesitettId.IsEntityId() && model.IdoszakKezdete != null)
{
return new DataSourceResult();
}
HelyettesitesekKereseseCo co = ConvertModelToCo(model);
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
DataSet tanarOraiDataSet = helper.GetTanarOrai(co);
DataSourceResult result = tanarOraiDataSet.ToDataSourceResult();
return result;
}
public DataSourceResult GetHelyettesitesekAjanlasa(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
HelyettesitesGridModel model = JsonConvert.DeserializeObject<HelyettesitesGridModel>(data);
LehetsegesHelyettesitoTanarokCO co = ConvertGridModelToCo(model);
var helper = new HelyettesitesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
DataSet tanarListDataSet = helper.GetHelyettesitesekAjanlasa(co);
return tanarListDataSet.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage OraElmarad([FromBody] HelyettesitesBeallitasaModel model)
{
if (ModelState.IsValid)
{
var ora = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.HelyettesitendoOraID);
try
{
new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveAdminNemMegtartottOra(
ora.ID.Value,
new DateTime(model.Datum.Year, model.Datum.Month, model.Datum.Day, ora.OraKezdete.Hour, ora.OraKezdete.Minute, ora.OraKezdete.Second),
new DateTime(model.Datum.Year, model.Datum.Month, model.Datum.Day, ora.OraVege.Hour, ora.OraVege.Minute, ora.OraVege.Second), model.HelyettesitesOka);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElmaradtOra(int tanoraId, int helyettesitettOrarendiOraId, DateTime helyettesitettDatum)
{
try
{
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
var helper = new TanoraHelper(connectionType);
var orarendHelper = new OrarendHelper(connectionType);
helper.NaplozasTorlese(tanoraId, true);
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
orarendiOraHelper.OrarendValtozasCacheMentes(helyettesitettOrarendiOraId, helyettesitettDatum);
orarendHelper.GenerateTeljesOrarend(helyettesitettOrarendiOraId);
}
catch (BlException e)
{
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage HelyettesitesTorlese([FromBody] HelyettesitesBeallitasaModel model)
{
if (!model.HelyettesitesID.HasValue)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
}
if (ModelState.IsValid)
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var helper = new HelyettesitesHelper(connectionType);
var orarendHelper = new OrarendHelper(connectionType);
SendEmailCo sendEmailCo = new UzenetekHelper(connectionType).GetHelyettesitesTorlesSendEmailCo(model.HelyettesitesID.Value);
helper.DeleteHelyettesites(model.HelyettesitesID.Value);
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitoTanarID);
if (mustSendEmail)
{
new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SendEmail(sendEmailCo);
}
orarendHelper.GenerateTeljesOrarend();
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveHelyettesites([FromBody] HelyettesitesBeallitasaModel model)
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var hetHelper = new NaptariHetHelper(connectionType);
var hetSorszam = hetHelper.GetNaptariHetSorszamByDate(model.Datum);
var helper = new HelyettesitesHelper(connectionType);
var orarendHelper = new OrarendHelper(connectionType);
bool mustSendEmail = helper.GetUserHelyettesitesProfilData(model.HelyettesitoTanarID);
var helyettesitesResultCo = helper.SaveHelyettesites(model.HelyettesitendoOraID, model.HelyettesitoTanarID, model.HelyettesitesTipusId, model.HelyettesitesOka, hetSorszam, model.Datum.Date, model.IsTuloraMentes);
if (helyettesitesResultCo.ErrorId > 0)
{
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(helyettesitesResultCo.ErrorId.Value));
}
if (helyettesitesResultCo.HelyettesitesId.Value > 0 && mustSendEmail)
{
SendEmailCo sendEmailCo = new UzenetekHelper(connectionType).GetHelyettesitesSendEmailCo(helyettesitesResultCo.HelyettesitesId.Value);
new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SendEmail(sendEmailCo);
}
orarendHelper.GenerateTeljesOrarend(model.HelyettesitendoOraID);
return new HttpResponseMessage(HttpStatusCode.OK);
}
private HelyettesitesekKereseseCo ConvertModelToCo(HelyettesitesSearchModel model)
{
var selectedTanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
var co = new HelyettesitesekKereseseCo
{
HelyettesitesKezdete = model.IdoszakKezdete ?? selectedTanev.KezdoNap,
HelyettesitesVege = model.IdoszakVege == null ? selectedTanev.UtolsoNap : model.IdoszakVege.Value.AddDays(1),
HelyettesitettId = model.HelyettesitettId ?? 0
};
return co;
}
private LehetsegesHelyettesitoTanarokCO ConvertGridModelToCo(HelyettesitesGridModel model)
{
var co = new LehetsegesHelyettesitoTanarokCO
{
orarendiOraId = model.HelyettesitettOrarendiOraId,
datum = model.HelyettesitettOraKezdete,
};
return co;
}
}
}

View file

@ -0,0 +1,70 @@
using System.Collections.Generic;
using System.Data;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using System.Web.Http.Results;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class NemNaplozottTanorakApiController : ApiController
{
public DataSourceResult GetNemNaplozottTanorakGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<NemNaplozottTanorakSearchModel>(data);
var co = NemNaplozottTanorakSearchModel.ConvertModelToCo(model);
co.TanarSrc = ClaimData.FelhasznaloId;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
orarendHelper.GridParameters = Converter.GridParameter(request);
DataSet ds = orarendHelper.GetNemNaplozottOrarendiOrak(co);
return ds.ToDataSourceResult();
}
public DataSourceResult GetNemNaplozottTanorakExportGrid(string searchFilter, string sortColumn, string sortDir)
{
var model = JsonConvert.DeserializeObject<NemNaplozottTanorakSearchModel>(searchFilter);
var co = NemNaplozottTanorakSearchModel.ConvertModelToCo(model);
co.TanarSrc = ClaimData.FelhasznaloId;
var h = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet orak = h.GetNemNaplozottOrarendiOrak(co);
if (sortColumn != "-" && sortDir != "-")
{
DataSet result = new DataSet();
orak.Tables[0].DefaultView.Sort = (sortColumn).ToUpper() + " " + (sortDir).ToUpper();
result.Tables.Add(orak.Tables[0].DefaultView.ToTable());
return result.ToDataSourceResult();
}
return orak.ToDataSourceResult();
}
[HttpPost]
public JsonResult<List<ExportColumn>> GetExportColumns()
{
List<ExportColumn> Items = new List<ExportColumn>();
Items.Add(new ExportColumn() { Field = "OraKezdeteDateST", Title = OrarendResource.Datum });
Items.Add(new ExportColumn() { Field = "HetNapjaValos_DNAME", Title = OrarendResource.HetNapja });
Items.Add(new ExportColumn() { Field = "Oraszam", Title = OrarendResource.Oraszam });
Items.Add(new ExportColumn() { Field = "OraKezdeteTimeText", Title = OrarendResource.OraKezdete });
Items.Add(new ExportColumn() { Field = "OsztalyNev", Title = OrarendResource.OsztalyCsoport });
Items.Add(new ExportColumn() { Field = "TargyNev", Title = OrarendResource.Targy });
Items.Add(new ExportColumn() { Field = "HelyettesitoTanarNev", Title = OrarendResource.HelyettesitoTanar });
return Json(Items);
}
}
}

View file

@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue
)]
public class TanarBejelentettSzamonkeresekApiController : ApiController
{
public DataSourceResult GetBejelentettSzamonkeresekGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<BejelentettSzamonkeresekGridModel>(BejelentettSzamonkeresekGridModel.BejelentettSzamonkeresekExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.BejelentettSzamonkeresekExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{OrarendResource.BejelentettSzamonkeresekExportFileName}_{DateTime.Now:yyyy_MM_dd}.xlsx");
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<BejelentettSzamonkeresekGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<BejelentettSzamonkeresekSearchModel>(data);
///NOTE: Azért kell null-ra állítani, hogy láthassák egymás számonkéréseit a tanárok. Null-al nem szűrűnk így tanárra.
model.TanarSrc = null;
var gridParameter = Converter.GridParameter(request);
var coList = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBejelentettSzamonkeresekCoList(model.ConvertToCo());
var modelList = new List<BejelentettSzamonkeresekGridModel>();
foreach (var co in coList)
{
var gridModel = new BejelentettSzamonkeresekGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
public DataSourceResult GetBejelentettSzamonkeresekExportGrid(string searchFilter, string sortColumn, string sortDir)
{
BejelentettSzamonkeresekSearchModel model = JsonConvert.DeserializeObject<BejelentettSzamonkeresekSearchModel>(searchFilter);
model.TanarSrc = ClaimData.FelhasznaloId;
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = helper.GetBejelentettSzamonkeresekGrid(model.ConvertToCo());
ds.Tables[0].Columns.Add("SzamonkeresDatumaStr", typeof(string));
ds.Tables[0].Columns.Add("BejelentesDatumaStr", typeof(string));
foreach (DataRow row in ds.Tables[0].Rows)
{
var dt = DateTime.Parse(row["SzamonkeresDatuma"].ToString());
row["SzamonkeresDatumaStr"] = dt.ToString("yyyy.MM.dd.");
var dt2 = DateTime.Parse(row["BejelentesDatuma"].ToString());
row["BejelentesDatumaStr"] = dt2.ToString("yyyy.MM.dd.");
}
if (sortColumn != "-" && sortDir != "-")
{
DataSet result = new DataSet();
ds.Tables[0].DefaultView.Sort = (sortColumn).ToUpper() + " " + (sortDir).ToUpper();
result.Tables.Add(ds.Tables[0].DefaultView.ToTable());
return result.ToDataSourceResult();
}
return ds.ToDataSourceResult();
}
[System.Web.Http.HttpPost]
public System.Web.Http.Results.JsonResult<List<ExportColumn>> GetExportColumns()
{
List<ExportColumn> Items = new List<ExportColumn>();
Items.Add(new ExportColumn() { Field = "SzamonkeresDatumaStr", Title = OrarendResource.Datum });
Items.Add(new ExportColumn() { Field = "HetNapja_DNAME", Title = OrarendResource.HetNapja });
Items.Add(new ExportColumn() { Field = "Oraszam", Title = OrarendResource.Oraszam });
Items.Add(new ExportColumn() { Field = "TargyNev", Title = OrarendResource.Targy });
Items.Add(new ExportColumn() { Field = "OsztalyNev", Title = OrarendResource.OsztalyCsoport });
Items.Add(new ExportColumn() { Field = "ErtekelesModNev", Title = OrarendResource.SzamonkeresMod });
Items.Add(new ExportColumn() { Field = "SzamonkeresMegnevezes", Title = OrarendResource.SzamonkeresMegnevezes });
Items.Add(new ExportColumn() { Field = "BejelentesDatumaStr", Title = OrarendResource.BejelentesDatuma });
return Json(Items);
}
}
}

View file

@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.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.Tanar.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public class TanarOralatogatasokListajaApiController : ApiController
{
public DataSourceResult GetOralatogatasokGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<OralatogatasokKereseseGridModel>(OralatogatasokKereseseGridModel.OralatogatasExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.Tanorak, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OralatogatasokResource.ExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<OralatogatasokKereseseGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<OralatogatasokKereseseModel>(data);
var gridParameter = Converter.GridParameter(request);
var coList = new OralatogatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOralatogatasCoList(model.ConvertToCo(isTanar: true));
var modelList = new List<OralatogatasokKereseseGridModel>();
foreach (var co in coList)
{
var gridModel = new OralatogatasokKereseseGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteOralatogatas(object data)
{
var model = JsonConvert.DeserializeObject<OralatogatasokKereseseGridModel>(data.ToString());
var tanitasiOraId = int.Parse(model.TanitasiOraId);
var alkalmazottId = int.Parse(model.AlkalmazottId);
try
{
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.DeleteOralatogatas(tanitasiOraId, alkalmazottId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AzElemNemTorolheto);
}
}
}
}

View file

@ -0,0 +1,48 @@
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminOralatogatasokListajaController : Controller
{
// GET: Tanar/OralatogatasokKeresese
public ActionResult Index()
{
var model = new OralatogatasokKereseseModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro };
return View("Index", model);
}
public ActionResult OpenOralatogatasInfoPopUp(int oralatogatasId)
{
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetOralatogatas(oralatogatasId);
var viewModel = new OralatogatasokKereseseAdatModel
{
Date = co.Date,
Ora = co.Ora,
Tanar = co.Latogato,
Beosztas = co.Beosztas,
LatogatottPedagogus = co.LatogatottPedagogus,
Tantargy = co.Tantargy,
OsztalyCsoport = co.OsztalyCsoport,
Megjegyzes = Regex.Replace(HttpUtility.HtmlDecode(co.Megjegyzes), "<.*?>", string.Empty)
};
var popupModel = new PopUpModel(viewModel, "Oralatogatas_Info");
popupModel.Buttons.Add(new ModalButtonModel() { Name = "BtnCancel", Text = Resources.CommonResource.Megse, EventName = "OralatogatasokKereseseHelper.closePopUps" });
return PartialView(Constants.General.PopupView, popupModel);
}
}
}

View file

@ -0,0 +1,263 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Web.Http;
using System.Web.Mvc;
using FastReport;
using FastReport.Export.Pdf;
using FastReport.Export.RichText;
using FastReport.Utils;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public class FogadooraController : Controller
{
public object Datetime { get; private set; }
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public ActionResult Index()
{
if (!new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
var model = new FogadooraSearchModel();
return View("Index", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult FogadooraKereso()
{
if (!new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
{
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
var model = new FogadooraSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro };
return View("FogadooraKereso", model);
}
public ActionResult OpenFogadooraJelentkezettGondviselokPopupp(int fogadooraId, string handler = "FogadooraGridHelper")
{
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var fogadooraCo = helper.GetFogadooraById(fogadooraId);
var popUpModel = new PopUpModel(new FogadooraJelentkezesInfoModel
{
Id = fogadooraCo.Id,
TeremNev = fogadooraCo.TeremNev,
IsNemKotottMunkaido = fogadooraCo.IsNemKotottMunkaido,
FogadoOraKezdete = fogadooraCo.FogadoOraKezdete.ToShortTimeString(),
FogadoOraVege = fogadooraCo.FogadoOraVege.ToShortTimeString(),
JelentkezesekKezelese = fogadooraCo.JelentkezesekKezelese,
FogadoOraDatuma = fogadooraCo.FogadoOraDatuma.ToShortDateString()
}, "Fogadoora_Info");
popUpModel = popUpModel.AddCancelBtn(popUpModel, handler + ".detailJelentkezettGondviselokCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult FogadooraLetoltesPdf([FromBody] int fogadooraId) => FogadooraLetoltes(fogadooraId, NyomtatvanyFormatumEnum.PDF);
public ActionResult FogadooraLetoltesWord([FromBody] int fogadooraId) => FogadooraLetoltes(fogadooraId, NyomtatvanyFormatumEnum.Word);
private ActionResult FogadooraLetoltes(int fogadooraId, NyomtatvanyFormatumEnum fileTipus)
{
try
{
var outPut = new MemoryStream();
ActionResult fogadooraDokumentum = new FileStreamResult(outPut, "application/octet-stream");
var fogadooraHelper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ds = fogadooraHelper.GetFogadooraDokumentumAdatok(fogadooraId);
var parameters = new Dictionary<string, object>();
var frxNev = NyomtatvanyEnum.FogadooraDokumentum.ToString();
var row = ds.Tables[0].Rows[0];
parameters.Add("FogadooraDatuma", SDAConvert.ToDateTime(row["FogadooraDatuma"])?.ToString("yyyy.MM.dd."));
parameters.Add("TeremNev", SDAConvert.ToString(row["TeremNev"]).ReplaceMultipleSpacesAndTrim());
parameters.Add("FogadooraKezdete", SDAConvert.ToDateTime(row["FogadooraKezdete"])?.ToString("HH:mm"));
parameters.Add("FogadooraVege", SDAConvert.ToDateTime(row["FogadooraVege"])?.ToString("HH:mm"));
parameters.Add("IdosavokMerteke", SDAConvert.ToString(row["IdosavokMerteke"]).ReplaceMultipleSpacesAndTrim());
parameters.Add("FogadooratKiiro", SDAConvert.ToString(row["FogadooratKiiro"]).ReplaceMultipleSpacesAndTrim());
var jelentkezesHatarido = GetJelentkezesHatarido(row);
parameters.Add("Hatarido", jelentkezesHatarido);
var fogadooraCo = fogadooraHelper.GetFogadooraById(fogadooraId);
var osztalyHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var osztalyokNeveiList = fogadooraCo.SelectedOsztalyCsoportIdList.Select(x => osztalyHelper.GetOsztalyCsoportNevById(x)).ToList();
parameters.Add("FogadooOsztalyaiCsoportjai", string.Join(",", osztalyokNeveiList));
parameters.Add("KellSorokKiegeszitese", fogadooraCo.FogadooraTipusEnumId != (int)FogadooraTipusEnum.JelentkezhetoDarabolt);
switch (fileTipus)
{
case NyomtatvanyFormatumEnum.PDF:
fogadooraDokumentum = PDFGeneralas(ds, frxNev, FogadooraResource.FogadooraDokumentumNev, parameters);
break;
case NyomtatvanyFormatumEnum.Word:
fogadooraDokumentum = WordGeneralas(ds, frxNev, FogadooraResource.FogadooraDokumentumNev, parameters);
break;
default:
break;
}
outPut.Position = 0;
return fogadooraDokumentum;
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
private string GetJelentkezesHatarido(DataRow row)
{
var fogadooraKezdete = SDAConvert.ToDateTime(row["FogadooraKezdeteTeljes"]);
var jelentkezesHatarido = SDAConvert.ToDateTime(row["JelentkezesHatarido"]);
var hatarido = jelentkezesHatarido.HasValue ? (int?)(fogadooraKezdete.Value - jelentkezesHatarido.Value).TotalHours : null;
if (hatarido == null || hatarido == 0)
{
return FogadooraResource.Nincs;
}
return string.Format(FogadooraResource.ora, hatarido.Value);
}
private ActionResult PDFGeneralas(DataSet ds, string frxNeve, string dokumentumNeve, Dictionary<string, object> parameterek = null)
{
Config.WebMode = true;
const string _fileTemplate = "{0}/{1}.frx";
var report = new Report();
var mapPath = string.Format(_fileTemplate, ApplicationData.NyomtatasiSablonokKonyvtar, frxNeve);
report.Load(System.Web.Hosting.HostingEnvironment.MapPath(mapPath));
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
string script = report.ReportResourceString;
if (report.Report.Prepare())
{
PDFExport pdfExport = new PDFExport
{
ShowProgress = false,
Subject = "Subject",
Title = dokumentumNeve,
Compressed = true,
AllowPrint = true,
EmbeddingFonts = true,
Creator = Constants.ImportExport.Creator
};
var stream = new MemoryStream();
report.Report.Export(pdfExport, stream);
report.Dispose();
pdfExport.Dispose();
stream.Position = 0;
byte[] base64;
using (CryptoStream cryptoStream = new CryptoStream(stream, new ToBase64Transform(), CryptoStreamMode.Write))
using (StreamWriter streamWriter = new StreamWriter(cryptoStream))
{
streamWriter.Flush();
base64 = stream.ToArray();
}
var fileContents = Convert.ToBase64String(base64);
var dokumentumContent = new ContentResult() { Content = fileContents, ContentType = "application/pdf" };
return dokumentumContent;
}
return null;
}
private ActionResult WordGeneralas(DataSet ds, string frxNeve, string dokumentumNeve, Dictionary<string, object> parameterek = null)
{
Config.WebMode = true;
const string _fileTemplate = "{0}/{1}.frx";
var report = new Report();
var mapPath = string.Format(_fileTemplate, ApplicationData.NyomtatasiSablonokKonyvtar, frxNeve);
report.Load(System.Web.Hosting.HostingEnvironment.MapPath(mapPath));
foreach (DataTable dt in ds.Tables)
{
report.RegisterData(dt, dt.TableName);
}
if (parameterek != null)
{
foreach (var parameter in parameterek)
{
report.SetParameterValue(parameter.Key, parameter.Value);
}
}
string script = report.ReportResourceString;
if (report.Report.Prepare())
{
RTFExport textExport = new RTFExport
{
ShowProgress = false,
Creator = Constants.ImportExport.Creator
};
var stream = new MemoryStream();
report.Report.Export(textExport, stream);
report.Dispose();
textExport.Dispose();
stream.Position = 0;
byte[] base64;
using (CryptoStream cryptoStream = new CryptoStream(stream, new ToBase64Transform(), CryptoStreamMode.Write))
using (StreamWriter streamWriter = new StreamWriter(cryptoStream))
{
streamWriter.Flush();
base64 = stream.ToArray();
}
var fileContents = Convert.ToBase64String(base64);
var dokumentumContent = new ContentResult() { Content = fileContents, ContentType = "application/doc" };
return dokumentumContent;
}
return null;
}
}
}

View file

@ -0,0 +1,26 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public class HaziFeladatCsatolmanyokController : Controller
{
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public ActionResult IndexTanar()
{
var model = new HFCsatolmanyokSearchModel();
return View("Index", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult IndexAdmin()
{
var model = new HFCsatolmanyokSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro };
return View("Index", model);
}
}
}

View file

@ -0,0 +1,44 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class HelyettesitendoTanarOraiController : Controller
{
// GET: Tanar/HelyettesitendoTanarOrai
public ActionResult Index()
{
TanarHelyettesitesekKereseseSearchModel model = new TanarHelyettesitesekKereseseSearchModel()
{
AlkalmazottList = GetTanarList(),
HelyettesitoId = ClaimData.FelhasznaloId
};
return View("Index", model);
}
private List<SelectListItem> GetTanarList()
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var felhasznalokOnlyAlkalmazottSzerepkorIds = new FelhasznaloHelper(connectionType).GetFelhasznaloIdsOnlyAlkalmazottSzerepkor();
IDictionary<string, string> lista;
var helper = new TanarHelper(connectionType);
lista = helper.GetTanarok(string.Empty, oktatasiAzonositoval: true);
lista.Remove("");
return lista.ToSelectListItemList().Where(x => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(SDAConvert.ToInt32(x.Value))).ToList();
}
}
}

View file

@ -0,0 +1,55 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class HelyettesitesekKereseseController : Controller
{
// GET: Tanar/HelyettesitesekKeresese
public ActionResult Index()
{
HelyettesitesSearchModel model = new HelyettesitesSearchModel
{
AlkalmazottList = GetTanarList()
};
return View("Index", model);
}
public ActionResult GetHelyettesitoTanarok(HelyettesitesGridModel model)
{
model.HelyettesitesTipusList = GetHelyettesitesTipusList();
return PartialView("HelyettesitesekKereseseDetailGrid", model);
}
private List<SelectListItem> GetTanarList()
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var felhasznalokOnlyAlkalmazottSzerepkorIds = new FelhasznaloHelper(connectionType).GetFelhasznaloIdsOnlyAlkalmazottSzerepkor();
IDictionary<string, string> lista;
var helper = new TanarHelper(connectionType);
lista = helper.GetTanarok(string.Empty, oktatasiAzonositoval: true);
lista.Remove("");
return lista.ToSelectListItemList().Where(x => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(SDAConvert.ToInt32(x.Value))).ToList();
}
private List<SelectListItem> GetHelyettesitesTipusList()
{
List<SelectListItem> result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
return result;
}
}
}

View file

@ -0,0 +1,19 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Tanar.Logic;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class NemNaplozottTanorakController : Controller
{
public ActionResult Index(bool? csakAHelyettesiteseim = null, bool? helyettesitettOraimIs = null, bool? jovobeniOrakMegjelenitese = null)
{
var nemNaplozottTanorakSearchModel = NemNaplozottTanorakLogic.NemNaplozottTanorakSearch(csakAHelyettesiteseim, helyettesitettOraimIs, jovobeniOrakMegjelenitese);
return View("Index", nemNaplozottTanorakSearchModel);
}
}
}

View file

@ -0,0 +1,23 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue
)]
public class TanarBejelentettSzamonkeresekController : Controller
{
public ActionResult Index()
{
var model = new BejelentettSzamonkeresekSearchModel();
return View("Index", model);
}
}
}

View file

@ -0,0 +1,474 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using System.Web.Routing;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core;
using Kreta.Core.FeatureToggle;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Configuration;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public class TanarDashboardController : Controller
{
private IEugyintezesClientConfiguration EugyintezesClientConfiguration { get; }
private IIdpConfiguration IdpConfiguration { get; }
private IFeatureContext FeatureContext { get; }
private const int ElemekAListaban = 8;
public TanarDashboardController(IEugyintezesClientConfiguration eugyintezesClientConfiguration, IIdpConfiguration idpConfiguration, IFeatureContext featureContext)
{
EugyintezesClientConfiguration = eugyintezesClientConfiguration ?? throw new ArgumentNullException(nameof(eugyintezesClientConfiguration));
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(idpConfiguration));
}
public ActionResult Index()
{
string shortMainVersion = KretaVersion.Instance.ShortMainVersion;
string nextUpdateDateTimeText = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetKovTelepitesDatum().ToString("yyyy.MM.dd. HH:mm");
ViewBag.ShortMainVersion = shortMainVersion;
ViewBag.NextUpdateDateTimeText = nextUpdateDateTimeText;
var model = GetTanarDashboard();
return View("Index", model);
}
public ActionResult DownloadCovidFertozott()
{
MemoryStream stream = new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCovidFertozottekExcel(ClaimData.FelhasznaloId);
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = string.Format(RendszerErtesitesResource.CovidFertozottekExcelName, DateTime.Now.ToString("yyyyMMddHHmm")) };
return result;
}
private TanarDashboardModel GetTanarDashboard()
{
var model = new TanarDashboardModel();
DataSet beNemIrtOrakDS = null;
DataSet kiirtHelyettesitesekDS = null;
DataSet mulasztasokDS = null;
DataSet bukasraAlloTanulokDS = null;
DataSet dashBoardUzenetekDS = null;
string uzenetek = null;
string ugyek = null;
bool vanCovidFertozott = false;
var isSzuperOsztalyFonok = AuthorizeHelper.CheckPackageAccess(new string[] { KretaClaimPackages.SzuperOsztalyfonok.ClaimValue });
var isTanarTTFfelVagySzuperOsztalyFonok = isSzuperOsztalyFonok || AuthorizeHelper.CheckPackageAccess(new string[] { KretaClaimPackages.Tanar.ClaimValue });
ViewData["IsTanarTTFfelVagySzuperOsztalyFonok"] = isTanarTTFfelVagySzuperOsztalyFonok;
var osztalyFonokVagyCsoportVezeto = new[]
{
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.CsoportVezeto.ClaimValue,
KretaClaimPackages.Evfolyamfelelos.ClaimValue,
};
var isOsztalyFonokVagyCsoportVezeto = AuthorizeHelper.CheckPackageAccess(osztalyFonokVagyCsoportVezeto);
ViewData["IsOsztalyFonokVagyCsoportVezeto"] = isOsztalyFonokVagyCsoportVezeto;
if (isTanarTTFfelVagySzuperOsztalyFonok)
{
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
beNemIrtOrakDS = helper.GetUtolsoBeNemIrtOrak(ClaimData.IntezmenyId, ClaimData.FelhasznaloId, ElemekAListaban);
kiirtHelyettesitesekDS = helper.GetKiirtHelyettesitesek(ClaimData.IntezmenyId, ClaimData.FelhasznaloId, ElemekAListaban);
dashBoardUzenetekDS = helper.GetTanarDashboardUzenet(ClaimData.FelhasznaloId);
vanCovidFertozott = helper.GetCovidFertozottek(ClaimData.FelhasznaloId).Tables[0].Rows.Count > 0;
if (isOsztalyFonokVagyCsoportVezeto)
{
mulasztasokDS = helper.GetMulasztasokSzama(ClaimData.FelhasznaloId, isSzuperOsztalyFonok, ElemekAListaban);
bukasraAlloTanulokDS = helper.GetBukasokSzama(ClaimData.FelhasznaloId, ElemekAListaban);
}
EugyintezesClient eUgyClient = new EugyintezesClient(EugyintezesClientConfiguration);
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var uzenetModulFeatureEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.UzenetModul, IntezmenyConfigTipusEnum.IsEnabled);
var uzenetekEnabled = uzenetModulFeatureEnabled; //&& ClaimData.IsAktivUzenetekMenu;
ViewData["UzenetekEnabled"] = uzenetekEnabled;
if (uzenetekEnabled)
{
uzenetek = ExceptionLogger(() => eUgyClient.GetUzenetek(ClaimData.IntezmenyAzonosito, ClaimData.FelhasznaloIdpEgyediAzonosito, ElemekAListaban));
}
var eugyintezesFeatureEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.IsEnabled);
var ugyekEnabled = eugyintezesFeatureEnabled && isOsztalyFonokVagyCsoportVezeto;
ViewData["UgyekEnabled"] = ugyekEnabled;
if (ugyekEnabled)
{
ugyek = ExceptionLogger(() => eUgyClient.GetUgyek(ClaimData.IntezmenyAzonosito, ClaimData.FelhasznaloIdpEgyediAzonosito, ElemekAListaban));
}
}
model.BeNemIrtOrak = ConvertBeNemIrtOrak(beNemIrtOrakDS);
model.KiirtHelyettesitesek = ConvertKiirtHelyettesitesek(kiirtHelyettesitesekDS);
model.Uzenetek = ConvertUzenetek(uzenetek);
model.Ugyek = ConvertUgyek(ugyek);
model.Mulasztasok = ConvertMulasztasok(mulasztasokDS);
model.BukasraAlloTanulok = ConvertBukasraAlloTanulok(bukasraAlloTanulokDS);
model.DashBoardUzenetek = ConvertDashBoardUzenetek(dashBoardUzenetekDS);
model.VanCovidFertozott = vanCovidFertozott;
return model;
}
private TanarDashboardTableModel ConvertUzenetek(string uzenetek)
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var result = new TanarDashboardTableModel
{
Url = GetEugyUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.UzenetModul, IntezmenyConfigTipusEnum.Url)),
OpenInNewWindow = true,
Name = TanarDashBoardResource.Uzenetek,
Headers = new List<string>
{
TanarDashBoardResource.Datum,
TanarDashBoardResource.Felado,
TanarDashBoardResource.Targy,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (!string.IsNullOrWhiteSpace(uzenetek))
{
var uzenetList = TryDeserialize<List<Uzenet>>(uzenetek) ?? new List<Uzenet>();
var rows = new List<TanarDashboardTableRowModel>();
foreach (var uzenet in uzenetList)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
SDAFormat.GetShortDateFormat(uzenet.BeerkezesIdopontja),
uzenet.FeladoNev,
uzenet.Targy,
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private TanarDashboardTableModel ConvertUgyek(string ugyek)
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var result = new TanarDashboardTableModel
{
Url = GetEugyUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url)),
OpenInNewWindow = true,
Name = TanarDashBoardResource.EUgyintezes,
Headers = new List<string>
{
TanarDashBoardResource.Nev,
TanarDashBoardResource.Osztaly,
TanarDashBoardResource.Ugytipus,
TanarDashBoardResource.BekuldesIdopontja,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (!string.IsNullOrWhiteSpace(ugyek))
{
var ugyList = TryDeserialize<List<Ugy>>(ugyek) ?? new List<Ugy>();
var rows = new List<TanarDashboardTableRowModel>();
foreach (var ugy in ugyList)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
ugy.TanuloNev,
ugy.TanuloOsztaly,
ugy.UgyTipusKod,
SDAFormat.GetShortDateFormat(ugy.BekuldesIdopontja),
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private TanarDashboardTableModel ConvertBeNemIrtOrak(DataSet ds)
{
var result = new TanarDashboardTableModel
{
Url = GetUrl(Constants.Areas.Tanar, Constants.Controllers.NemNaplozottTanorak, "Index"),
Name = TanarDashBoardResource.BeNemIrtOrak,
Headers = new List<string>
{
TanarDashBoardResource.Datum,
TanarDashBoardResource.Oraszam,
TanarDashBoardResource.Osztalycsoport,
TanarDashBoardResource.Tantargy,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
var rows = new List<TanarDashboardTableRowModel>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
SDAFormat.GetShortDateFormat(dr["Datum"]),
SDAConvert.ToString(dr["Oraszam"]),
SDAConvert.ToString(dr["OsztalyCsoport"]),
SDAConvert.ToString(dr["Tantargy"])
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private TanarDashboardTableModel ConvertKiirtHelyettesitesek(DataSet ds)
{
var result = new TanarDashboardTableModel
{
Url = GetUrl(Constants.Areas.Tanar, Constants.Controllers.NemNaplozottTanorak, "Index", new Dictionary<string, object>
{
{ "csakAHelyettesiteseim", true },
{ "helyettesitettOraimIs", false },
{ "jovobeniOrakMegjelenitese", true },
}),
Name = TanarDashBoardResource.KiirtHelyettesitesek,
Headers = new List<string>
{
TanarDashBoardResource.Datum,
TanarDashBoardResource.Oraszam,
TanarDashBoardResource.Osztalycsoport,
TanarDashBoardResource.Tantargy,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
var rows = new List<TanarDashboardTableRowModel>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
SDAFormat.GetShortDateFormat(dr["Datum"]),
SDAConvert.ToString(dr["Oraszam"]),
SDAConvert.ToString(dr["OsztalyCsoport"]),
SDAConvert.ToString(dr["Tantargy"])
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private TanarDashboardTableModel ConvertMulasztasok(DataSet ds)
{
var result = new TanarDashboardTableModel
{
Url = GetUrl(Constants.Areas.Hianyzas, Constants.Controllers.Mulasztasok, "Index"),
Name = TanarDashBoardResource.Mulasztasok,
Headers = new List<string>
{
TanarDashBoardResource.MulasztasDatuma,
TanarDashBoardResource.MulasztasNapja,
TanarDashBoardResource.MulasztasokSzama,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
var rows = new List<TanarDashboardTableRowModel>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
SDAFormat.GetShortDateFormat(dr["MulasztasDatuma"]),
SDAConvert.ToString(dr["MulasztasNapja"]),
SDAConvert.ToString(dr["MulasztasokSzama"])
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private TanarDashboardTableModel ConvertBukasraAlloTanulok(DataSet ds)
{
var result = new TanarDashboardTableModel
{
Url = GetUrl(Constants.Areas.Tanulo, Constants.Controllers.TanarTanitottTanulok, "Index", new Dictionary<string, object>
{
{ "csakBukasraAllok", true },
}),
Name = TanarDashBoardResource.BukasraAlloTanulok,
Headers = new List<string>
{
TanarDashBoardResource.Nev,
TanarDashBoardResource.Osztaly,
TanarDashBoardResource.TantargyakSzama,
},
Rows = new List<TanarDashboardTableRowModel>()
};
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
var rows = new List<TanarDashboardTableRowModel>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
var row = new TanarDashboardTableRowModel
{
Columns = new List<string>
{
SDAConvert.ToString(dr["Nev"]),
SDAConvert.ToString(dr["Osztaly"]),
SDAConvert.ToString(dr["TantargyakSzama"])
}
};
rows.Add(row);
}
result.Rows = rows;
}
return result;
}
private List<TanarDashboardItemModel> ConvertDashBoardUzenetek(DataSet ds)
{
var result = new List<TanarDashboardItemModel>();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
var item = new TanarDashboardItemModel
{
Name = SDAConvert.ToString(row["C_CIM"]),
Content = SDAConvert.ToString(row["C_TARTALOM"]),
Type = (AdminDashboardTipusEnum)SDAConvert.ToInt32(row["C_DASHBOARDUZENETKATEGORIAID"]),
Sorrend = SDAConvert.ToInt32(row["SORREND"]),
EgyediAzonosito = SDAConvert.ToString(row["C_EGYEDIAZONOSITO"])
};
result.Add(item);
}
}
return result.OrderBy(o => o.Sorrend).ToList();
}
private string GetUrl(string area, string controller, string action, Dictionary<string, object> parameters = null)
{
var dictionary = new Dictionary<string, object> { { "Area", area } };
if (parameters != null)
{
dictionary = dictionary.Concat(parameters).ToDictionary(x => x.Key, x => x.Value);
}
var routeValues = new RouteValueDictionary(dictionary);
return UrlHelper.GenerateUrl(null, action, controller, routeValues, RouteTable.Routes, HttpContext.Request.RequestContext, false);
}
private string GetEugyUrl(string url)
{
return Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(url, IdpConfiguration.AuthenticationTokenKey);
}
private T ExceptionLogger<T>(Func<T> action)
{
try
{
return action();
}
catch (Exception ex)
{
SDAServer.Instance.Logger.ExceptionThrown(ex);
}
return default;
}
private T TryDeserialize<T>(string json)
{
return ExceptionLogger(() => JsonConvert.DeserializeObject<T>(json));
}
}
}

View file

@ -0,0 +1,48 @@
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Tanar.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public class TanarOralatogatasokListajaController : Controller
{
public ActionResult Index()
{
var model = new OralatogatasokKereseseModel();
return View("Index", model);
}
public ActionResult OpenOralatogatasInfoPopUp(int oralatogatasId)
{
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var co = helper.GetOralatogatas(oralatogatasId);
var viewModel = new OralatogatasokKereseseAdatModel
{
Date = co.Date,
Ora = co.Ora,
Tanar = co.Latogato,
Beosztas = co.Beosztas,
LatogatottPedagogus = co.LatogatottPedagogus,
Tantargy = co.Tantargy,
OsztalyCsoport = co.OsztalyCsoport,
Megjegyzes = RichTextLogic.CutHtmlTagsAndDecode(co.Megjegyzes)
};
var popupModel = new PopUpModel(viewModel, "Oralatogatas_Info");
popupModel.Buttons.Add(new ModalButtonModel() { Name = "BtnCancel", Text = CommonResource.Megse, EventName = "OralatogatasokKereseseHelper.closePopUps" });
return PartialView(Constants.General.PopupView, popupModel);
}
}
}

View file

@ -0,0 +1,103 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Tanar.Logic
{
public static class FogadooraLogic
{
public static FogadooraModel SetFogadooraDate(FogadooraModel model)
{
var FogadoOraKezdete = new DateTime(model.FogadoOraDatuma.Year, model.FogadoOraDatuma.Month, model.FogadoOraDatuma.Day, model.FogadoOraKezdete.Hour, model.FogadoOraKezdete.Minute, 0, DateTimeKind.Utc);
var FogadoOraVege = new DateTime(model.FogadoOraDatuma.Year, model.FogadoOraDatuma.Month, model.FogadoOraDatuma.Day, model.FogadoOraVege.Hour, model.FogadoOraVege.Minute, 0, DateTimeKind.Utc);
model.FogadoOraKezdete = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(FogadoOraKezdete, FogadoOraKezdete);
model.FogadoOraVege = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(FogadoOraVege, FogadoOraVege);
return model;
}
public static FogadooraCo ConvertModelToCo(FogadooraModel model)
{
return new FogadooraCo()
{
Id = model.Id,
TeremId = model.TeremId.Value,
EgysegnyiIdopontok = model.EgysegnyiIdopontok,
FogadoOraDatuma = model.FogadoOraDatuma,
FogadoOraKezdete = model.FogadoOraKezdete,
FogadoOraVege = model.FogadoOraVege,
IsNemKotottMunkaido = model.IsNemKotottMunkaido,
IsIdosavraOsztas = model.IsIdosavraOsztas,
JelentkezesekKezelese = model.JelentkezesekKezelese,
ModifiedOsztalyCsoportList = model.ModifiedOsztalyCsoportList,
SelectedOsztalyCsoportIdList = model.SelectedOsztalyCsoportIdList,
Rendszeresseg = model.Rendszeresseg,
FogadooraTipusEnumId = model.JelentkezesekKezelese ? (model.IsIdosavraOsztas.HasValue && model.IsIdosavraOsztas.Value ? (int)FogadooraTipusEnum.JelentkezhetoDarabolt : (int)FogadooraTipusEnum.Jelentkezheto) : (int)FogadooraTipusEnum.NemJelentkezheto,
RendszeresFogadooraElsoDatuma = model.RendszeresFogadooraElsoDatuma,
RendszeresFogadooraUtolsoDatuma = model.RendszeresFogadooraUtolsoDatuma,
IsEgyalkalomModositasa = model.IsEgyAlkalomModosul,
IsFaliujsagonMegjelenjen = model.IsFaliujsagonMegjelenjen,
FaliujsagErvenyessegKezdete = model.FaliujsagErvenyessegKezdete,
FaliujsagErvenyessegVege = model.FaliujsagErvenyessegVege,
FogadooraDatumList = model.FogadooraDatumList,
ModositasiIdoszakTipus = model.ModositasiIdoszakTipus,
JelentkezesHatarideje = model.JelentkezesekKezelese ? model.JelentkezesHatarideje : null
};
}
public static List<DataRow> TeremUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok)
{
var result = new List<DataRow>();
foreach (var (kezdet, vege) in fogadooraIdopontok)
{
result.AddRange(ds.Tables[0].AsEnumerable()
.Where(x => (DateTime)x["OraVege"] > kezdet && (DateTime)x["OraKezdete"] < vege).ToList());
}
return result;
}
public static List<DataRow> PedagogusUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok)
{
var result = new List<DataRow>();
foreach (var (kezdet, vege) in fogadooraIdopontok)
{
result.AddRange(ds.Tables[0].AsEnumerable()
.Where(x => (DateTime)x["OraVege"] > kezdet && (DateTime)x["OraKezdete"] < vege).ToList());
}
return result;
}
public static List<DataRow> FogadooraUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok, int? fogadooraId)
{
var result = new List<DataRow>();
foreach (var (kezdet, vege) in fogadooraIdopontok)
{
result.AddRange(ds.Tables[0].AsEnumerable()
.Where(x => x.Field<DateTime>("FogadooraVege") > kezdet && x.Field<DateTime>("FogadooraKezdete") < vege && (!fogadooraId.HasValue || x.Field<int>("ID") != fogadooraId.Value)).ToList());
}
return result;
}
public static List<DataRow> FogadooraTeremUtkozesList(DataSet ds, List<(DateTime kezdet, DateTime vege)> fogadooraIdopontok, int? fogadooraId)
{
var result = new List<DataRow>();
foreach (var (kezdet, vege) in fogadooraIdopontok)
{
result.AddRange(ds.Tables[0].AsEnumerable()
.Where(x => x.Field<DateTime>("FogadooraVege") > kezdet && x.Field<DateTime>("FogadooraKezdete") < vege && (!fogadooraId.HasValue || x.Field<int>("ID") != fogadooraId.Value)).ToList());
}
return result;
}
public static int NapirendUtkozes => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles);
public static int TeremUtkozesSystemSetting => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Teremutkozes_figyeles);
}
}

View file

@ -0,0 +1,29 @@
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Tanar.Logic
{
public static class NemNaplozottTanorakLogic
{
public static NemNaplozottTanorakSearchModel NemNaplozottTanorakSearch(bool? csakAHelyettesiteseim = null, bool? helyettesitettOraimIs = null, bool? jovobeniOrakMegjelenitese = null)
{
var nemNaplozottTanorakSearchCo = new NemNaplozottTanorakSearchCO() { CsakAHelyettesiteseim = csakAHelyettesiteseim, HelyettesitettOraimIs = helyettesitettOraimIs, JovobeniOrakMegjelenitese = jovobeniOrakMegjelenitese };
return ConvertCoToModel(new NemNaplozottTanorakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).NemNaplozottTanorakSearch(nemNaplozottTanorakSearchCo));
}
public static NemNaplozottTanorakSearchModel ConvertCoToModel(NemNaplozottTanorakSearchCO nemNaplozottTanorakSearch)
{
return new NemNaplozottTanorakSearchModel
{
CsakAHelyettesiteseim = nemNaplozottTanorakSearch.CsakAHelyettesiteseim ?? false,
HelyettesitettOraimIs = nemNaplozottTanorakSearch.HelyettesitettOraimIs ?? false,
JovobeniOrakMegjelenitese = nemNaplozottTanorakSearch.JovobeniOrakMegjelenitese ?? false,
NaplozarasDate = nemNaplozottTanorakSearch.NaplozarasDate,
IsCsakErtekelesZarasa = nemNaplozottTanorakSearch.IsCsakErtekelesZarasa
};
}
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Web.Areas.Tanar.Models
{
public class DownloadModel
{
public int Id { get; set; }
}
}

View file

@ -0,0 +1,44 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class FogadooraGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FogadooraResource.OsztalyCsoport), ResourceType = typeof(FogadooraResource))]
public string OsztalyCsoport { get; set; }
[Display(Name = nameof(FogadooraResource.OsztalyCsoport), ResourceType = typeof(FogadooraResource))]
public string OsztalyCsoportFormatted { get; set; }
[Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))]
public string Terem { get; set; }
[Display(Name = nameof(FogadooraResource.FogadooraKezdete), ResourceType = typeof(FogadooraResource))]
public string FogadooraKezdete { get; set; }
[Display(Name = nameof(FogadooraResource.FogadooraVege), ResourceType = typeof(FogadooraResource))]
public string FogadooraVege { get; set; }
[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
public string Rendszeresseg { get; set; }
[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
public int RendszeressegId { get; set; }
[Display(Name = nameof(FogadooraResource.JelentkezesekKezelese), ResourceType = typeof(FogadooraResource))]
public string JelentkezesekKezelese { get; set; }
[Display(Name = nameof(FogadooraResource.JelentkezesekKezelese), ResourceType = typeof(FogadooraResource))]
public int JelentkezesekKezeleseId { get; set; }
[Display(Name = nameof(FogadooraResource.Pedagogus), ResourceType = typeof(FogadooraResource))]
public string Pedagogus { get; set; }
[Display(Name = nameof(FogadooraResource.JelentkezesekSzama), ResourceType = typeof(FogadooraResource))]
public string JelentkezesekSzama { get; set; }
}
}

View file

@ -0,0 +1,25 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class FogadooraJelentkezesInfoModel
{
public int? Id { get; set; }
[Display(Name = nameof(FogadooraResource.FogadooraKezdete), ResourceType = typeof(FogadooraResource))]
public string FogadoOraKezdete { get; set; }
[Display(Name = nameof(FogadooraResource.FogadooraVege), ResourceType = typeof(FogadooraResource))]
public string FogadoOraVege { get; set; }
[Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))]
public string TeremNev { get; set; }
//[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
//public string Rendszeresseg { get; set; }
[Display(Name = nameof(FogadooraResource.NemKotottMunkaido), ResourceType = typeof(FogadooraResource))]
public bool IsNemKotottMunkaido { get; set; }
[Display(Name = nameof(FogadooraResource.JelentkezesekKezelese), ResourceType = typeof(FogadooraResource))]
public bool JelentkezesekKezelese { get; set; }
public string FogadoOraDatuma { get; set; }
}
}

View file

@ -0,0 +1,24 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class FogadooraJelentkezettGondviselokGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FogadooraResource.GondviseloNeve), ResourceType = typeof(FogadooraResource))]
public string GondviseloNev { get; set; }
[Display(Name = nameof(FogadooraResource.OsztalyCsoport), ResourceType = typeof(FogadooraResource))]
public string OsztalyCsoportNev { get; set; }
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FogadooraResource.Idointervallum), ResourceType = typeof(FogadooraResource))]
public string Idointervallum { get; set; }
public DateTime Kezdete { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class FogadooraOsztalyCsoportGridModel : IKretaIdentity
{
public string ID { get; set; }
public int OsztalyCsoportId { get; set; }
[Display(Name = nameof(FogadooraResource.OsztalyCsoport), ResourceType = typeof(FogadooraResource))]
public string OsztalyCsoportNev { get; set; }
[Display(Name = nameof(FogadooraResource.Hozzarendelve), ResourceType = typeof(FogadooraResource))]
public bool Hozzarendelve { get; set; }
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class FogadooraSearchModel
{
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(FogadooraResource.OsztalyCsoport), ResourceType = typeof(FogadooraResource))]
public int? OsztalyCsoportIdSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))]
public int? TeremIdSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Idopont), ResourceType = typeof(FogadooraResource))]
public DateTime? IdopontSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Pedagogus), ResourceType = typeof(FogadooraResource))]
public int? TanarIdSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Idopont), ResourceType = typeof(FogadooraResource))]
public DateTime? IdopontTolSrc { get; set; }
public DateTime? IdopontIgSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Idointervallum), ResourceType = typeof(FogadooraResource))]
public DateTime? IdointervallumTolSrc { get; set; }
public DateTime? IdointervallumIgSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
public int? RendszeressegIdSrc { get; set; }
[Display(Name = nameof(FogadooraResource.JelentkezesekKezelese), ResourceType = typeof(FogadooraResource))]
public int? TipusIdSrc { get; set; }
[Display(Name = nameof(FogadooraResource.Jelentkezheto), ResourceType = typeof(FogadooraResource))]
public bool? IsJelentkezheto { get; set; }
public FogadooraSearchCo ConvertModelToCo(int? tanarId)
{
return new FogadooraSearchCo
{
OsztalyCsoportIdsSrc = this.OsztalyCsoportIdSrc.HasValue ? new List<int> { this.OsztalyCsoportIdSrc.Value } : null,
FeladatKategoriaId = this.FeladatKategoriaId,
FeladatEllatasiHelyId = this.FeladatEllatasiHelyId,
TeremIdSrc = this.TeremIdSrc,
IdopontSrc = this.IdopontSrc,
TanarIdSrc = tanarId ?? this.TanarIdSrc,
IdopontTolSrc = this.IdopontTolSrc,
IdopontIgSrc = this.IdopontIgSrc,
IdointervallumTolSrc = this.IdointervallumTolSrc,
IdointervallumIgSrc = this.IdointervallumIgSrc,
RendszeressegIdSrc = this.RendszeressegIdSrc,
TipusIdSrc = this.TipusIdSrc,
IsJelentkezheto = this.IsJelentkezheto,
};
}
}
}

View file

@ -0,0 +1,97 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HFCsatolmanyGridModel : IKretaIdentity
{
#region Fields
public const string HazifeladatCsatolmanyExportAttributeId = nameof(HazifeladatCsatolmanyExportAttributeId);
#endregion
public HFCsatolmanyGridModel()
{
}
public HFCsatolmanyGridModel(HaziFeladatCsatolmanyItemCo co)
{
ID = co.Id.ToString();
OraDatuma = co.OraDatuma;
Oraszam = co.OraSorszama;
OsztalyCsoport = co.OsztalyCsoportNev;
Tanar = co.TanarNev;
Tantargy = co.TantargyNev;
FajlNev = co.FajlNev;
FajlMeret = co.FajlMeret;
FajlMeretMB = co.FajlMeretMB;
FeltoltesDatum = co.FeltoltesDatuma;
Hatarido = co.HataridoDatuma;
Torolt_BOOL = co.Torolt;
AdminTorolt_BOOL = co.AdminTorolt;
FileServiceTorolt_BOOL = co.FileServiceTorolt;
TorloUser = co.TorloFelhasznaloNev;
TorlesDatum = co.TorlesDatuma?.ToString(Core.Constants.ToStringPattern.HungarianDate);
IsOnlineOraText = co.IsOnlineOraText;
}
public string ID { get; set; }
public bool AdminTorolt_BOOL { get; set; }
public bool Torolt_BOOL { get; set; }
public bool FileServiceTorolt_BOOL { get; set; }
public string TorloUser { get; set; }
public string TorlesDatum { get; set; }
[Display(Name = nameof(TanarResource.OraDatuma), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 00, nameof(TanarResource.OraDatuma), typeof(TanarResource))]
public DateTime? OraDatuma { get; set; }
[Display(Name = nameof(TanarResource.Oraszam), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 01, nameof(TanarResource.Oraszam), typeof(TanarResource))]
public int? Oraszam { get; set; }
[Display(Name = nameof(TanarResource.Osztalycsoport), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 02, nameof(TanarResource.Osztalycsoport), typeof(TanarResource))]
public string OsztalyCsoport { get; set; }
[Display(Name = nameof(TanarResource.Tanar), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 03, nameof(TanarResource.Tanar), typeof(TanarResource))]
public string Tanar { get; set; }
[Display(Name = nameof(TanarResource.Tantargy), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 04, nameof(TanarResource.Tantargy), typeof(TanarResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(TanarResource.FajlNev), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 05, nameof(TanarResource.FajlNev), typeof(TanarResource))]
public string FajlNev { get; set; }
[Display(Name = nameof(TanarResource.FajlMeret), ResourceType = typeof(TanarResource))]
public double FajlMeret { get; set; }
[Display(Name = nameof(TanarResource.FajlMeretMB), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 06, nameof(TanarResource.FajlMeretMB), typeof(TanarResource), DecimalDigitCount = 2)]
public double FajlMeretMB { get; set; }
[Display(Name = nameof(TanarResource.FeltoltesDatum), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 07, nameof(TanarResource.FeltoltesDatum), typeof(TanarResource))]
public DateTime? FeltoltesDatum { get; set; }
[Display(Name = nameof(TanarResource.HFHatarido), ResourceType = typeof(TanarResource))]
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 08, nameof(TanarResource.HFHatarido), typeof(TanarResource))]
public DateTime? Hatarido { get; set; }
[SimpleExportColumn(HazifeladatCsatolmanyExportAttributeId, 09, nameof(OrarendResource.OnlineOra), typeof(OrarendResource))]
public string IsOnlineOraText { get; set; }
}
}

View file

@ -0,0 +1,71 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HFCsatolmanyokSearchModel
{
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(TanarResource.OraDatuma), ResourceType = typeof(TanarResource))]
public DateTime? OraDatumaSrc { get; set; }
[Display(Name = nameof(TanarResource.Oraszam), ResourceType = typeof(TanarResource))]
public int? OraszamSrc { get; set; }
[Display(Name = nameof(TanarResource.Osztalycsoport), ResourceType = typeof(TanarResource))]
public int? OsztalyCsoportSrc { get; set; }
[Display(Name = nameof(TanarResource.Tanar), ResourceType = typeof(TanarResource))]
public int? TanarSrc { get; set; }
[Display(Name = nameof(TanarResource.Tantargy), ResourceType = typeof(TanarResource))]
public int? TantargySrc { get; set; }
[Display(Name = nameof(TanarResource.FajlNev), ResourceType = typeof(TanarResource))]
public string FajlNevSrc { get; set; }
[Display(Name = nameof(TanarResource.FajlMeretMB), ResourceType = typeof(TanarResource))]
public int? FajlMeretTolSrc { get; set; }
public int? FajlMeretIgSrc { get; set; }
[Display(Name = nameof(TanarResource.FeltoltesDatum), ResourceType = typeof(TanarResource))]
public DateTime? FeltoltesDatumTolSrc { get; set; }
public DateTime? FeltoltesDatumIgSrc { get; set; }
[Display(Name = nameof(TanarResource.HFHatarido), ResourceType = typeof(TanarResource))]
public DateTime? HFHataridoTolSrc { get; set; }
public DateTime? HFHataridoIgSrc { get; set; }
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
public int? IsOnlineOra { get; set; }
public HFCsatolmanyokSearchCO ConvertModelToCo(int? tanarId)
{
return new HFCsatolmanyokSearchCO
{
FeladatKategoriaId = FeladatKategoriaId,
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
OraDatumaSrc = OraDatumaSrc,
OraszamSrc = OraszamSrc,
OsztalyCsoportSrc = OsztalyCsoportSrc,
TanarSrc = tanarId ?? TanarSrc,
TantargySrc = TantargySrc,
FajlNevSrc = FajlNevSrc,
FajlMeretTolSrc = FajlMeretTolSrc,
FajlMeretIgSrc = FajlMeretIgSrc,
FeltoltesDatumTolSrc = FeltoltesDatumTolSrc,
FeltoltesDatumIgSrc = FeltoltesDatumIgSrc,
HFHataridoTolSrc = HFHataridoTolSrc,
HFHataridoIgSrc = HFHataridoIgSrc,
IsOnlineOra = IsOnlineOra
};
}
}
}

View file

@ -0,0 +1,18 @@
using System;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HelyettesitesBeallitasaModel
{
public int HelyettesitendoOraID { get; set; }
public int HelyettesitoTanarID { get; set; }
[KretaDisplayName(1684)]/*Helyettesítés oka*/
public string HelyettesitesOka { get; set; }
public int HelyettesitendoTanarID { get; set; }
public int HelyettesitesTipusId { get; set; }
public int? HelyettesitesID { get; set; }
public DateTime Datum { get; set; }
public bool IsTuloraMentes { get; set; }
}
}

View file

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HelyettesitesGridModel : IKretaIdentity
{
public string ID { get; set; }
public int HelyettesitettOrarendiOraId { get; set; }
[KretaDisplayName(273)]/*Dátum*/
public DateTime HelyettesitettOraKezdete { get; set; }
[KretaDisplayName(219)]/*Óra*/
public int? HelyettesitettOraszam { get; set; }
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
public string HelyettesitettTantargy { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string HelyettesitettOsztaly { get; set; }
[KretaDisplayName(267)] /*Helyiség*/
public string HelyettesitettTerem { get; set; }
[Display(Name = nameof(OrarendResource.HelyettesitoTanar), ResourceType = typeof(OrarendResource))]
public string HelyettesitoTanarNev { get; set; }
[KretaDisplayName(1694)] /*Helyettesítés típusa*/
public string HelyettesitesTipusId { get; set; }
[KretaDisplayName(1694)] /*Helyettesítés típusa*/
public string HelyettesitesTipusId_DNAME { get; set; }
public List<SelectListItem> HelyettesitesTipusList { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using System;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HelyettesitesOraCsereModel
{
public int HelyettesitendoOraID { get; set; }
public int HelyettesitoTanarID { get; set; }
[KretaDisplayName(1684)]/*Helyettesítés oka*/
public string HelyettesitesOka { get; set; }
public int HelyettesitendoTanarID { get; set; }
public int HelyettesitoOraID { get; set; }
public int HelyettesitendoHetSorszama { get; set; }
public int HelyettesitoHetSorszama { get; set; }
public DateTime HelyettesitendoDatum { get; set; }
public DateTime HelyettesitoDatum { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HelyettesitesSearchModel
{
public HelyettesitesSearchModel()
{
AlkalmazottList = new List<SelectListItem>();
}
[KretaDisplayName(3467)] /*Időszak kezdete*/
public DateTime? IdoszakKezdete { get; set; }
[KretaDisplayName(3468)] /*Időszak vége*/
public DateTime? IdoszakVege { get; set; }
[KretaDisplayName(4216)] /*Helyettesített pedagógus*/
public int? HelyettesitettId { get; set; }
public List<SelectListItem> AlkalmazottList { get; set; }
[KretaDisplayName(1684)]/*Helyettesítés oka*/
[MaxLength(500, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string HelyettesitesOka { get; set; }
}
}

View file

@ -0,0 +1,36 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class HelyettesitesTanarGridModel : IKretaIdentity
{
public string ID { get; set; }
public int? HelyettesitesID { get; set; }
[Display(Name = nameof(TanarResource.LehetsegesHelyettesito), ResourceType = typeof(TanarResource))]
public string TanarNev { get; set; }
public int TanarId { get; set; }
[Display(Name = nameof(TanarResource.HelyettesitesTipusa), ResourceType = typeof(TanarResource))]
public string HelyettesitesTipusId_DNAME { get; set; }
[Display(Name = nameof(TanarResource.HelyettesitesTipusa), ResourceType = typeof(TanarResource))]
public int HelyettesitesTipusId { get; set; }
public int HelyettesitettOrarendiOraId { get; set; }
public int TantargyId { get; set; }
[Display(Name = nameof(TanarResource.Tantargy), ResourceType = typeof(TanarResource))]
public string TantargyNev { get; set; }
public int OsztalyCsoportId { get; set; }
[Display(Name = nameof(TanarResource.Osztalycsoport), ResourceType = typeof(TanarResource))]
public string OsztalycsoportNev { get; set; }
public string HelyettesitesDatuma { get; set; }
public bool Tulora_BOOL { get; set; }
}
}

View file

@ -0,0 +1,36 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class OralatogatasokKereseseAdatModel
{
public DateTime Date { get; set; }
[KretaDisplayName(273)] /*Dátum*/
public string DateString { get { return Date.ToShortDateString(); } }
[KretaDisplayName(219)] /*Óra*/
public int Ora { get; set; }
[KretaDisplayName(1704)] /*Óralátogatást végző*/
public string Tanar { get; set; }
[KretaDisplayName(1705)] /*Óralátogatást végző beosztása*/
public string Beosztas { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatottPedagogus), ResourceType = typeof(OralatogatasokResource))]
public string LatogatottPedagogus { get; set; }
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyCsoport { get; set; }
[KretaDisplayName(97)] /*Megjegyzés*/
public string Megjegyzes { get; set; }
}
}

View file

@ -0,0 +1,75 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.Tanar.Models
{
public class OralatogatasokKereseseGridModel : IKretaIdentity
{
public const string OralatogatasExportAttributeId = nameof(OralatogatasExportAttributeId);
public OralatogatasokKereseseGridModel()
{
}
public OralatogatasokKereseseGridModel(OralatogatasItemCo oralatogatasCo)
{
ID = oralatogatasCo.Id.ToString();
AlkalmazottId = oralatogatasCo.LatogatoID.ToString();
TanitasiOraId = oralatogatasCo.TanitasiOraId.ToString();
Datum = oralatogatasCo.Date;
Oraszam = oralatogatasCo.Ora;
Alkalmazott = oralatogatasCo.Latogato;
AlkalmazottElotagNelkul = oralatogatasCo.LatogatoElotagNelkul;
Beosztas = oralatogatasCo.Beosztas;
LatogatottPedagogus = oralatogatasCo.LatogatottPedagogus;
Tantargy = oralatogatasCo.Tantargy;
OsztalyCsoport = oralatogatasCo.OsztalyCsoport;
IsSajatErtekeles_BOOL = oralatogatasCo.IsSajatErtekeles;
}
public string ID { get; set; }
public string AlkalmazottId { get; set; }
public string TanitasiOraId { get; set; }
[Display(Name = nameof(OralatogatasokResource.Datum), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 00, nameof(OralatogatasokResource.Datum), typeof(OralatogatasokResource))]
public DateTime Datum { get; set; }
[Display(Name = nameof(OralatogatasokResource.Ora), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 01, nameof(OralatogatasokResource.Ora), typeof(OralatogatasokResource))]
public int Oraszam { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatoPedagogus), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 02, nameof(OralatogatasokResource.LatogatoPedagogus), typeof(OralatogatasokResource))]
public string Alkalmazott { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatoPedagogus), ResourceType = typeof(OralatogatasokResource))]
public string AlkalmazottElotagNelkul { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatoPedagogusBeosztasa), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 03, nameof(OralatogatasokResource.LatogatoPedagogusBeosztasa), typeof(OralatogatasokResource))]
public string Beosztas { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatottPedagogus), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 04, nameof(OralatogatasokResource.LatogatottPedagogus), typeof(OralatogatasokResource))]
public string LatogatottPedagogus { get; set; }
[Display(Name = nameof(OralatogatasokResource.Tantargy), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 05, nameof(OralatogatasokResource.Tantargy), typeof(OralatogatasokResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(OralatogatasokResource.OsztalyCsoport), ResourceType = typeof(OralatogatasokResource))]
[SimpleExportColumn(OralatogatasExportAttributeId, 06, nameof(OralatogatasokResource.OsztalyCsoport), typeof(OralatogatasokResource))]
public string OsztalyCsoport { get; set; }
public bool IsSajatErtekeles_BOOL { get; set; }
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Tanar.Models
{
public class OralatogatasokKereseseModel
{
[Display(Name = nameof(OralatogatasokResource.IdoszakKezdete), ResourceType = typeof(OralatogatasokResource))]
public DateTime? IdoszakKezdete { get; set; }
[Display(Name = nameof(OralatogatasokResource.IdoszakVege), ResourceType = typeof(OralatogatasokResource))]
public DateTime? IdoszakVege { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatottOsztalyCsoport), ResourceType = typeof(OralatogatasokResource))]
public int? OsztalyCsoportId { get; set; }
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
public bool KellKapcsolodoCsoportokSearch { get; set; }
[Display(Name = nameof(OralatogatasokResource.OralatogatastVegzoPedagogus), ResourceType = typeof(OralatogatasokResource))]
public int? TanarId { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatottPedagogus), ResourceType = typeof(OralatogatasokResource))]
public int? LatogatottPedagogusId { get; set; }
[Display(Name = nameof(OralatogatasokResource.LatogatottOra), ResourceType = typeof(OralatogatasokResource))]
public int? TantargyId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
public OralatogatasokKereseseModel()
{
if (ClaimData.IsVegyes)
{
FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria);
}
}
public OralatogatasokKereseseCO ConvertToCo(bool isTanar)
{
return new OralatogatasokKereseseCO
{
IdoszakKezdete = IdoszakKezdete,
IdoszakVege = IdoszakVege,
TanarId = TanarId,
TantargyId = TantargyId,
LatogatottPedagogusId = LatogatottPedagogusId,
OsztalyCsoportId = OsztalyCsoportId,
IsKellKapcsolodoCsoportok = KellKapcsolodoCsoportokSearch,
FeladatKategoriaId = FeladatKategoriaId,
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
IsTanar = isTanar
};
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using Kreta.Enums.ManualEnums;
namespace Kreta.Web.Areas.Tanar.Models
{
public class TanarDashboardModel
{
public TanarDashboardTableModel BeNemIrtOrak { get; set; }
public TanarDashboardTableModel KiirtHelyettesitesek { get; set; }
public TanarDashboardTableModel Mulasztasok { get; set; }
public TanarDashboardTableModel BukasraAlloTanulok { get; set; }
public TanarDashboardTableModel Uzenetek { get; set; }
public TanarDashboardTableModel Ugyek { get; set; }
public List<TanarDashboardItemModel> DashBoardUzenetek { get; set; }
public bool VanCovidFertozott { get; set; }
}
public class TanarDashboardItemModel
{
public string Name { get; set; }
public string Content { get; set; }
public AdminDashboardTipusEnum Type { get; set; }
public int Sorrend { get; set; }
public string EgyediAzonosito { get; set; }
}
public class TanarDashboardTableModel
{
public string Name { get; set; }
public string Url { get; set; }
public bool OpenInNewWindow { get; set; }
public List<string> Headers { get; set; }
public List<TanarDashboardTableRowModel> Rows { get; set; }
}
public class TanarDashboardTableRowModel
{
public List<string> Columns { get; set; }
}
public class Uzenet
{
public int Azonosito { get; set; }
public DateTime BeerkezesIdopontja { get; set; }
public string FeladoNev { get; set; }
public string Targy { get; set; }
}
public class Ugy
{
public int Azonosito { get; set; }
public DateTime BekuldesIdopontja { get; set; }
public string TanuloNev { get; set; }
public string TanuloOsztaly { get; set; }
public string UgyTipusKod { get; set; }
}
}

View file

@ -0,0 +1,37 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class TanarHelyettesitesekKereseseGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(219)] /*Óra*/
public int Ora { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyCsoportNev { get; set; }
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
public string TantargyNev { get; set; }
[KretaDisplayName(270)] /*Óra sorszáma*/
public int OraSorszama { get; set; }
[KretaDisplayName(1497)] /*Tanítási óra témája*/
public string TanitasiOraTemaja { get; set; }
[KretaDisplayName(1498)] /*Megtartott*/
public string Megtartott_BNAME { get; set; }
[KretaDisplayName(1499)] /*Helyettesítés*/
public string Helyettesites { get; set; }
[KretaDisplayName(273)] /*Dátum*/
public DateTime Datum { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Tanar.Models
{
public class TanarHelyettesitesekKereseseSearchModel
{
[KretaDisplayName(3467)] /*Időszak kezdete*/
public DateTime? IdoszakKezdete { get; set; }
[KretaDisplayName(3468)] /*Időszak vége*/
public DateTime? IdoszakVege { get; set; }
[KretaDisplayName(4216)] /*Helyettesített pedagógus*/
public int? HelyettesitettId { get; set; }
[KretaDisplayName(4389)] /*Helyettesítő pedagógus*/
public int? HelyettesitoId { get; set; }
public List<SelectListItem> AlkalmazottList { get; set; }
public TanarHelyettesitesekKereseseSearchModel()
{
AlkalmazottList = new List<SelectListItem>();
}
}
}

View file

@ -0,0 +1,24 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.Tanar
{
public class TanarAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Tanar";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Tanar_default",
"Tanar/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View file

@ -0,0 +1,122 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security;
@model OralatogatasokKereseseModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var gridName = "OralatogatasGrid";
var searchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.LatogatottPedagogusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
@(
Html.KretaGrid<OralatogatasokKereseseGridModel>(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.AdminOralatogatasokListajaApi, "GetOralatogatasokGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.Oraszam).Width("10%");
columns.Bound(c => c.AlkalmazottElotagNelkul).SetDisplayProperty("Alkalmazott");
columns.Bound(c => c.Beosztas);
columns.Bound(c => c.LatogatottPedagogus);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.OsztalyCsoport);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "OralatogatasokKereseseHelper.openDetailWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "OralatogatasokKereseseHelper.delete", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), ClientAction="OralatogatasokKereseseHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var url = {
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminOralatogatasokListajaApi, action = "DeleteOralatogatas" })",
OpenInfoPopUp: "@Url.Action("OpenOralatogatasInfoPopUp", Constants.Controllers.AdminOralatogatasokListaja, new { area = "Tanar" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminOralatogatasokListajaApi, action = "GetExport" })",
}
var OralatogatasokKereseseHelper = (function () {
var oralatogatasokKereseseHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
oralatogatasokKereseseHelper.openDetailWindow = function (rowData) {
var postData = { oralatogatasId: rowData.ID };
AjaxHelper.DoPost(url.OpenInfoPopUp, postData, popUpDetailWindow);
}
oralatogatasokKereseseHelper.delete = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteOraLatogatas, { TanitasiOraId: rowData.TanitasiOraId, AlkalmazottId: rowData.AlkalmazottId } );
}
oralatogatasokKereseseHelper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
oralatogatasokKereseseHelper.closePopUps = function () {
KretaWindowHelper.destroyAllWindow();
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(CommonResource.Adatok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteOraLatogatas(data) {
AjaxHelper.DoPost(url.Delete, data, deleteResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
return oralatogatasokKereseseHelper;
})();
</script>

View file

@ -0,0 +1,183 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Web.Security;
@model FogadooraSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "FogadooraGrid"))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(m => m.IdopontTolSrc, m => m.IdopontIgSrc)
@Html.KretaRangeTimePickerSideBar(m => m.IdointervallumTolSrc, m => m.IdointervallumIgSrc, interval: 30)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetPedagogusListByTanev" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TipusIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraTipusEnumList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.RendszeressegIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraRendszeressegEnumList" })).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<FogadooraGridModel>
(
"FogadooraGrid",
new GridApiUrl("FogadooraApi", "GetFogadooraGridForAdmin", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
allowExcelExport: true,
excelExportFileName: "Fogadoora",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetExportColumnsForAdmin" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetFogadooraGridForAdminExport" }),
sort: sort =>
{
sort.Add(m => m.FogadooraKezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Terem);
columns.Bound(c => c.FogadooraKezdete);
columns.Bound(c => c.FogadooraVege);
columns.Bound(c => c.Pedagogus);
columns.Bound(c => c.RendszeressegId).SetDisplayProperty("Rendszeresseg");
columns.Bound(c => c.JelentkezesekKezeleseId).SetDisplayProperty("JelentkezesekKezelese");
columns.Bound(c => c.JelentkezesekSzama).ClientTemplate("<div style=\"text-align: center\">#= JelentkezesekSzama #</div>");
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanuloResource.Adatok, ClientAction= "FogadooraHelper.openJelentkezettGondviselokWindow", IconEnum = GridRowFunctionIconEnum.Adatok },
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = FogadooraResource.FogadooraLetoltesPdf, ClientAction= "FogadooraHelper.fogadooraLetoltesPdf", IconEnum = GridRowFunctionIconEnum.Pdf },
new RowFunction { Name = FogadooraResource.FogadooraLetoltesWord, ClientAction= "FogadooraHelper.fogadooraLetoltesWord", IconEnum = GridRowFunctionIconEnum.Word }
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanuloResource.Torles, ClientAction= "FogadooraHelper.deleteFogadooraConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
}, "FogadooraHelper.isTorolhetoModosithato")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var FogadooraHelper = (function() {
var fogadooraHelper = function() {};
var rowId = -1;
var searchFormName = "searchForm";
var gridName = "FogadooraGrid";
var url = {
DeleteTanulo:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FogadooraApi", action = "DeleteFogadooraById" })",
OpenDetailPopUp:
"@Url.Action("OpenFogadooraJelentkezettGondviselokPopupp", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
isFogadooraJelentkezettGondviselok:
"@Url.HttpRouteUrl("ActionApi", new { controller = "FogadooraApi", action = "IsFogadooraJelentkezettGondviselok" })",
FogadooraLetoltesPdf:
"@Url.Action("FogadooraLetoltesPdf", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
FogadooraLetoltesWord:
"@Url.Action("FogadooraLetoltesWord", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })"
}
fogadooraHelper.deleteFogadooraConfirmWindow = function (rowData) {
rowId = rowData.ID;
AjaxHelper.DoGet(url.isFogadooraJelentkezettGondviselok, { id: rowData.ID, modositasiIdoszakTipus: @((int)OraModositasiIdoszakTipus.EgyOra) }, isBiztosanTorliPopUp);
}
fogadooraHelper.isTorolhetoModosithato = function (rowData) {
return rowData.isTorolhetoModosithato_BOOL;
}
function deleteFogadooraResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFogadoora(data) {
AjaxHelper.DoPost(url.DeleteTanulo, data, deleteFogadooraResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function isBiztosanTorliPopUp(data) {
if (data === true) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(ErrorResource.FogadooraraVanJelentkezettGondviseloBiztosanTorliE/*Biztosan törölni szeretné?*/)",
function() {
deleteFogadoora(rowId);
});
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(FogadooraResource.BiztosanToroliSzeretne/*Biztosan törölni szeretné?*/)",
function () {
deleteFogadoora(rowId);
});
}
}
fogadooraHelper.openJelentkezettGondviselokWindow = function (data) {
var postData = { FogadooraId: data.ID, handler: "FogadooraHelper" };
AjaxHelper.DoPost(url.OpenDetailPopUp, postData, popUpDetailWindow);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FogadooraResource.FogadooraraJelentkezettGondviselok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailJelentkezettGondviselokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
fogadooraHelper.detailJelentkezettGondviselokCancel = function () {
KretaWindowHelper.destroyWindow("detailJelentkezettGondviselokWindow");
}
fogadooraHelper.fogadooraLetoltesPdf = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraHelper.fogadooraLetoltesWord = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesWord, postData, saveWordFile);
}
function savePdfFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Pdf);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".pdf",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function saveWordFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Doc);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".doc",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
return fogadooraHelper;
})();
</script>

View file

@ -0,0 +1,101 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Resources
@model FogadooraJelentkezesInfoModel
<div class="container-fluid details" style="margin:10px">
<div class="row">
@Html.KretaLabelFor(x => x.FogadoOraKezdete, 3, 3)
@Html.KretaLabelFor(x => x.FogadoOraVege, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremNev, 3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.JelentkezesekKezelese).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-3">
<label class="windowInputLabel">@FogadooraResource.FogadooraDokumentumLetoltese</label>
</div>
<div class="col-xs-6 col-sm-6 col-md-3">
<a title="@FogadooraResource.FogadooraLetoltesPdf" href="javascript:fogadooraLetoltesPdf(@Model.Id);">
<i style="font-size: 22px;" class="fa fa-file-pdf-o"></i>
</a>
<a title="@FogadooraResource.FogadooraLetoltesWord" href="javascript:fogadooraLetoltesWord(@Model.Id);">
<i style="font-size: 22px;" class="fa fa-file-word-o"></i>
</a>
</div>
</div>
</div>
<div id="OsztalyCsoportDiv" class="k-content">
<div style="width: 96%; padding-left: 20px;">
<h4 style="margin: 0;">@FogadooraResource.JelentkezettGondviselok</h4>
@(
Html.KretaGrid<FogadooraJelentkezettGondviselokGridModel>(
name: "FogadooraJelentkezettGondviselokGrid",
getUrl: new GridApiUrl("FogadooraApi", "GetFogadooraJelentkezettGondviselokGrid", new Dictionary<string, string> { { "Id", Model.Id.ToString() } }),
pageSizes: null,
allowPaging: false,
allowSorting:true,
sort: sort =>
{
sort.Add(m => m.Kezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.GondviseloNev);
columns.Bound(c => c.TanuloNev);
columns.Bound(c => c.OsztalyCsoportNev);
columns.Bound(c => c.Idointervallum);
})
.AutoBind(true)
)
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
var titleSpan = $(".k-window-title");
titleSpan.text(titleSpan.text() + " - @Model.FogadoOraDatuma");
var fogadooraUrl = {
FogadooraLetoltesPdf:
"@Url.Action("FogadooraLetoltesPdf", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
FogadooraLetoltesWord:
"@Url.Action("FogadooraLetoltesWord", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })"
}
fogadooraLetoltesPdf = function (id) {
var postData = { fogadooraId: id };
AjaxHelper.DoPost(fogadooraUrl.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraLetoltesWord = function (id) {
var postData = { fogadooraId: id };
AjaxHelper.DoPost(fogadooraUrl.FogadooraLetoltesWord, postData, saveWordFile);
}
function savePdfFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Pdf);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".pdf",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function saveWordFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Doc);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".doc",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
});
</script>

View file

@ -0,0 +1,191 @@
@using Kreta.Web.Helpers;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Framework
@model FogadooraSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "FogadooraGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(m => m.IdopontTolSrc, m => m.IdopontIgSrc)
@Html.KretaRangeTimePickerSideBar(m => m.IdointervallumTolSrc, m => m.IdointervallumIgSrc, interval: 30)
@Html.KretaComboBoxFor(x => x.RendszeressegIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraRendszeressegEnumList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TipusIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraTipusEnumList" })).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<FogadooraGridModel>
(
"FogadooraGrid",
new GridApiUrl("FogadooraApi", "GetFogadooraGridForTanar", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
allowExcelExport: true,
allowScrolling: true,
excelExportFileName: "Fogadoora",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetExportColumnsForTanar" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetFogadooraGridForTanarExport" }),
sort: sort =>
{
sort.Add(m => m.FogadooraKezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Terem);
columns.Bound(c => c.FogadooraKezdete);
columns.Bound(c => c.FogadooraVege);
columns.Bound(c => c.RendszeressegId).SetDisplayProperty("Rendszeresseg");
columns.Bound(c => c.JelentkezesekKezeleseId).SetDisplayProperty("JelentkezesekKezelese");
columns.Bound(c => c.JelentkezesekSzama).ClientTemplate("<div style=\"text-align: center\">#= JelentkezesekSzama #</div>");
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = TanuloResource.Adatok, ClientAction= "FogadooraGridHelper.openJelentkezettGondviselokWindow", IconEnum = GridRowFunctionIconEnum.Adatok },
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = FogadooraResource.FogadooraLetoltesPdf, ClientAction= "FogadooraGridHelper.fogadooraLetoltesPdf", IconEnum = GridRowFunctionIconEnum.Pdf },
new RowFunction { Name = FogadooraResource.FogadooraLetoltesWord, ClientAction= "FogadooraGridHelper.fogadooraLetoltesWord", IconEnum = GridRowFunctionIconEnum.Word }
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanuloResource.Modositas, ClientAction = "FogadooraGridHelper.modifyFogadoora", IconEnum = GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = TanuloResource.Torles, ClientAction= "FogadooraGridHelper.deleteFogadooraConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
}, "FogadooraGridHelper.isTorolhetoModosithato")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var FogadooraGridHelper = (function() {
var fogadooraGridHelper = function() {};
var rowId = -1;
var searchFormName = "searchForm";
var url = {
DeleteTanulo:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FogadooraApi", action = "DeleteFogadooraById" })",
OpenDetailTanuloPopUp:
"@Url.Action("OpenFogadooraJelentkezettGondviselokPopupp", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
ModifyFogadoora:
"@Url.Action("OpenModFogadooraPopUpByFogadooraId", "TanariOrarend", new { area = "Orarend" })",
isFogadooraJelentkezettGondviselok:
"@Url.HttpRouteUrl("ActionApi", new { controller = "FogadooraApi", action = "IsFogadooraJelentkezettGondviselok" })",
FogadooraLetoltesPdf:
"@Url.Action("FogadooraLetoltesPdf", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
FogadooraLetoltesWord:
"@Url.Action("FogadooraLetoltesWord", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })"
}
fogadooraGridHelper.deleteFogadooraConfirmWindow = function (rowData) {
rowId = rowData.ID;
AjaxHelper.DoGet(url.isFogadooraJelentkezettGondviselok, { id: rowData.ID, modositasiIdoszakTipus: @((int)OraModositasiIdoszakTipus.EgyOra) }, isBiztosanTorliPopUp);
}
fogadooraGridHelper.isTorolhetoModosithato = function (rowData) {
return rowData.isTorolhetoModosithato_BOOL;
}
fogadooraGridHelper.dataBoundAdditionalFunction = function () {
KretaTooltipHelper.setTooltip($(".kendoTooltipFogadooraOsztalyCsoport"), "#kendoTooltip-fogadooraOsztalyCsoportTemplate");
}
function deleteFogadooraResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel("FogadooraGrid", searchFormName);
}
function isBiztosanTorliPopUp(data) {
if (data === true) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(ErrorResource.FogadooraraVanJelentkezettGondviseloBiztosanTorliE/*Biztosan törölni szeretné?*/)",
function() {
deleteFogadoora(rowId);
});
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(FogadooraResource.BiztosanToroliSzeretne/*Biztosan törölni szeretné?*/)",
function () {
deleteFogadoora(rowId);
});
}
}
function deleteFogadoora(data) {
AjaxHelper.DoPost(url.DeleteTanulo, data, deleteFogadooraResponseOk);
}
fogadooraGridHelper.openJelentkezettGondviselokWindow = function (data) {
var postData = { FogadooraId: data.ID };
AjaxHelper.DoPost(url.OpenDetailTanuloPopUp, postData, popUpDetailWindow);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FogadooraResource.FogadooraraJelentkezettGondviselok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailJelentkezettGondviselokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
fogadooraGridHelper.detailJelentkezettGondviselokCancel = function () {
KretaWindowHelper.destroyWindow("detailJelentkezettGondviselokWindow");
}
fogadooraGridHelper.modifyFogadoora = function (rowData) {
AjaxHelper.DoGet(url.ModifyFogadoora, { ID: rowData.ID }, popUpModFogadooraWindow);
}
fogadooraGridHelper.fogadooraLetoltesPdf = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraGridHelper.fogadooraLetoltesWord = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesWord, postData, saveWordFile);
}
function savePdfFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Pdf);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".pdf",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function saveWordFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Doc);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".doc",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function popUpModFogadooraWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FogadooraResource.FogadooraAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("modFogadooraWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return fogadooraGridHelper;
})();
</script>

View file

@ -0,0 +1,257 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Web.Security;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Resources;
@using Kreta.Enums.ManualEnums;
@model HFCsatolmanyokSearchModel
@{
Layout = Constants.General.Layout;
const string HaziFeladatCsatolmanyokApi = Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
const string gridName = "HFCsatolmanyGrid";
const string searchFormName = "HFCsatolmanySearchForm";
}
<style>
.k-alt.deletedRow, .deletedRow {
text-decoration: line-through;
opacity: 0.5;
}
#HFCsatolmanyGrid .rowFunction {
min-width: 40px;
width: 40px;
}
</style>
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaDatePickerFor(x => x.OraDatumaSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyCsoportSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
if (ClaimData.IsAdministrator)
{
@Html.KretaComboBoxFor(x => x.TanarSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" })).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.FajlNevSrc).RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(x => x.FajlMeretTolSrc, x => x.FajlMeretIgSrc, precision: 0)
@Html.KretaRangeDatePickerSideBar(x => x.FeltoltesDatumTolSrc, x => x.FeltoltesDatumIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.HFHataridoTolSrc, x => x.HFHataridoIgSrc)
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
}
<div id="adatmennyisegek">
<label id="lblMarFetoltottAdatmennyiseg"></label>
<br />
<label id="lblMaxAdatmennyiseg"></label>
</div>
<div>
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGrid", new Dictionary<string, string>()),
dataParameterFunction: searchFormName,
allowScrolling: true,
dataBoundAdditionalFunction: "HFCsatolmanyHelper.changeGrid();"
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(c => c.OraDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Tanar).Visible(ClaimData.IsAdministrator);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.FajlNev);
columns.Bound(c => c.FajlMeretMB).Format("{0:n}");
columns.Bound(c => c.FeltoltesDatum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Hatarido).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.FunctionCommand(Html,
new List<FunctionCommand>
{
new FunctionCommand
{
Name = CommonResource.KijeloltekTorlese,
ClientAction = "HFCsatolmanyHelper.deleteSelected",
Classes = "kendo-gridFunctionKommandRed"
},
new FunctionCommand
{
Name = ImportExportCommonResource.Export,
ClientAction = "HFCsatolmanyHelper.getExport"
}
}
)
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction= "HFCsatolmanyHelper.deleteConfirm",
IconEnum = GridRowFunctionIconEnum.Torles
}
}, "HFCsatolmanyHelper.isTorlesVisible")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Letoltes,
ClientAction= "HFCsatolmanyHelper.downloadCsatolmany",
IconEnum = GridRowFunctionIconEnum.Letoltes
}
}, "HFCsatolmanyHelper.isDownloadVisible")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var HFCsatolmanyHelper = (function () {
var helper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var url = {
DeleteCsatolmany: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
DeleteSelectedCsatolmany: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteSelectedCsatolmany" })",
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "GetExport" })",
GetAdatmennyiseg: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "GetFelhasznaloAdatmennyisege" })",
}
helper.changeGrid = function () {
KretaGridHelper.getAllRows(gridName).forEach(val => {
if (val.Torolt_BOOL) {
var row = $(`tr[data-uid="${val.uid}"]`);
row.addClass('deletedRow');
row.kendoTooltip({
content: `@(CommonResource.Torolte): ${val.TorloUser} - ${getDate(val.TorlesDatum)}`,
position: "top",
show: function () {
var that = this;
var tooltips = $("[data-role=tooltip]");
tooltips.each(function () {
var tooltip = $(this).data("kendoTooltip");
if (tooltip && tooltip !== that) {
tooltip.hide();
}
});
}
});
}
});
$("#container").kendoTooltip({
filter: "tr",
content: function (e) { return e.target.html(); }
});
if (CommonUtils.parseBool("@ClaimData.IsAdministrator")) {
var tanarId = Number($("#TanarSrc").val());
if (tanarId > 0) {
AjaxHelper.DoGet(url.GetAdatmennyiseg, { felhasznaloId: tanarId }, helper.setAdatmennyisegek);
$("#adatmennyisegek").show();
} else {
$("#adatmennyisegek").hide();
}
} else {
AjaxHelper.DoGet(url.GetAdatmennyiseg, { felhasznaloId: "@ClaimData.FelhasznaloId" }, helper.setAdatmennyisegek);
$("#adatmennyisegek").show();
}
};
function getDate(dateString) {
let date = new Date(dateString);
let month = date.getMonth() + 1;
let day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return date.getFullYear() + ". " + month + ". " + day + ".";
}
helper.isTorlesVisible = function (rowData) {
return !(rowData.Torolt_BOOL);
}
helper.isDownloadVisible = function (rowData) {
return !(rowData.Torolt_BOOL);
}
helper.deleteConfirm = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
}
helper.deleteSelected = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanTorolniSzeretneAKijeloltCsatolmanyokat)", deleteSelected, selectedRows);
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Torles)", "@(IntezmenyResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
helper.setAdatmennyisegek = function (data) {
$("#lblMarFetoltottAdatmennyiseg").html(data["marFeltoltottAdatmennyiseg"]);
$("#lblMaxAdatmennyiseg").html(data["maxAdatmennyiseg"]);
}
function deleteCsatolmany(data) {
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
}
function deleteSelected(selectedRows) {
var parameters = selectedRows.filter(x => !x.Torolt_BOOL).map(x => x.ID);
AjaxHelper.DoPost(url.DeleteSelectedCsatolmany, parameters, deleteResponseOk, responseError);
}
function responseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
helper.downloadCsatolmany = function (rowData) {
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
}
helper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
}
return helper;
})();
</script>

View file

@ -0,0 +1,47 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Classes
@using Kreta.Framework
@model TanarHelyettesitesekKereseseSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "HelyettesitesGrid"))
{
@Html.KretaRangeDatePickerSideBar(model => model.IdoszakKezdete, model => Model.IdoszakVege)
@Html.KretaComboBoxFor(model => model.HelyettesitettId, Model.AlkalmazottList).RenderSearchPanelSideBar()
@*@Html.KretaComboBoxFor(model => model.HelyettesitoId, Model.AlkalmazottList).RenderSearchPanelSideBar()*@
}
}
<div>
@(
Html.KretaGrid<TanarHelyettesitesekKereseseGridModel>
(
name: "HelyettesitesGrid",
getUrl: new GridApiUrl("HelyettesitendoTanarOraiApi", "GetHelyettesitesGrid"),
allowScrolling: true,
dataParameterFunction: "searchForm"
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Width("10%").Hidden();
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Ora);
columns.Bound(c => c.OsztalyCsoportNev);
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.OraSorszama).Width("10%");
columns.Bound(c => c.TanitasiOraTemaja);
columns.Bound(c => c.Helyettesites);
columns.Bound(c => c.Megtartott_BNAME);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View file

@ -0,0 +1,42 @@
@using Kreta.Resources
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@model HelyettesitesGridModel
@{
var gridName = "HelyettesitesekAjanlasaGrid_" + Model.ID;
}
<div id="partialDetailGrid_@Model.ToString()">
@(
Html.KretaGrid<HelyettesitesTanarGridModel>(
gridName,
new GridApiUrl("HelyettesitesekKereseseApi", "GetHelyettesitesekAjanlasa", new Dictionary<string, string>()),
allowFilterable: false,
allowSorting: false,
allowPaging: false,
pageSizes: null,
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
)
.Columns(columns =>
{
columns.Bound(c => c.TanarNev).SetClientTemplateWithToolip("#:TanarNev# (#:TanarOktatasiAzonosito#)", "(TanarNev == null) && (TanarOktatasiAzonosito == null)");
})
.ComboBoxForColumn(Html, TanarResource.HelyettesitesTipusa, Model.HelyettesitesTipusList, m => m.HelyettesitesTipusId, classList: new List<string> { "gridInputMaxWidth" }, width: 350)
.Columns(columns =>
{
columns.Bound(c => c.OsztalycsoportNev).Width("20%").SetDisplayPropertyWithToolip("OsztalycsoportNev");
columns.Bound(c => c.TantargyNev).Width("20%").SetDisplayPropertyWithToolip("TantargyNev");
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
ClientAction = "function(e) { HelyettesitesKereseseHelper.saveHelyettesites(e, '" + gridName + "') }",
Name = TanarResource.HelyettesitesBeallitasa,
IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Aktival
}
})
)
</div>

View file

@ -0,0 +1,224 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Tanar.Models
@model HelyettesitesSearchModel
@{
string searchFormName = "searchForm";
string gridName = "HelyettesitesGrid";
}
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => Model.IdoszakVege)
@Html.KretaComboBoxFor(x => x.HelyettesitettId, Model.AlkalmazottList).RenderSearchPanelSideBar()
}
}
<div>
<div class="container-fluid">
<div class="row">
@Html.KretaTextAreaFor(x => x.HelyettesitesOka).RenderWithName(3, 9)
</div>
</div>
@(
Html.KretaGrid<HelyettesitesGridModel>(
gridName,
new GridApiUrl("HelyettesitesekKereseseApi", "GetHelyettesitesGrid", new Dictionary<string, string>()),
dataParameterFunction: searchFormName,
dataBoundAdditionalFunction: "HelyettesitesKereseseHelper.hideEmtyRowFunction()",
clientTemplate: "detailGrid-template",
clientTemplateUrl: Url.Action("GetHelyettesitoTanarok", "HelyettesitesekKeresese", new { area = "Tanar" }),
clientTemplateWholeDataRow: true,
allowFilterable: false,
allowPaging: false,
pageSizes: null
)
.Columns(columns =>
{
columns.Bound(m => m.ID).Hidden();
columns.Bound(c => c.HelyettesitettOrarendiOraId).Hidden();
columns.Bound(c => c.HelyettesitettOraKezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HelyettesitettOraszam).Width("10%");
columns.Bound(c => c.HelyettesitettTantargy).SetDisplayPropertyWithToolip("HelyettesitettTantargy");
columns.Bound(c => c.HelyettesitettOsztaly).SetDisplayPropertyWithToolip("HelyettesitettOsztaly");
columns.Bound(c => c.HelyettesitettTerem).SetDisplayPropertyWithToolip("HelyettesitettTerem");
columns.Bound(c => c.HelyettesitoTanarNev).SetDisplayPropertyWithToolip("HelyettesitoTanarNev");
columns.Bound(c => c.HelyettesitesTipusId_DNAME).SetDisplayPropertyWithToolip("HelyettesitesTipusId_DNAME");
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.Elmarad, ClientAction = "HelyettesitesKereseseHelper.confirmOraElmarad", IconEnum = GridRowFunctionIconEnum.KorbenX }
}, "HelyettesitesKereseseHelper.isKiirhatElmaradtOrat")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.ElmaradtOraTorlese, ClientAction = "HelyettesitesKereseseHelper.confirmDeleteElmaradtOra", IconEnum = GridRowFunctionIconEnum.Torles }
}, "HelyettesitesKereseseHelper.isTorolhetoElmaradtOra")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.HelyettesitesTorlese, ClientAction = "HelyettesitesKereseseHelper.confirmHelyettesitesTorlese", IconEnum = GridRowFunctionIconEnum.Torles }
}, "HelyettesitesKereseseHelper.isTorolhetoHelyettesites")
.Sortable(sortable => sortable
.Enabled(false))
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<script type="text/javascript">
var HelyettesitesKereseseHelper = (function () {
var helyettesitesKereseseHelper = function () { };
var searchFormName = "@searchFormName";
var gridName = "@gridName";
var url = {
SaveHelyettesites: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "SaveHelyettesites" })",
HelyettesitesTorlese: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "HelyettesitesTorlese" })",
OraElmarad: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "OraElmarad" })",
DeleteElmaradtOra: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "DeleteElmaradtOra" })",
NemNaplozottTanorakCount: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })"
}
helyettesitesKereseseHelper.saveHelyettesites = function (rowData, gridName) {
var helyettesitesOkaValue = getHelyettesitesOka();
var rows = KretaGridHelper.getAllRows(gridName);
var currentRow = rows.find(x => x.id === rowData.id);
if (CommonUtils.isNullOrEmpty(currentRow.ki_HelyettesitesTipusId)) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.HelyetesitesTipusKitoltesKotelezo)", true, undefined);
}
else {
if (rowData.Tulora_BOOL == true) {
KretaWindowHelper.feedbackWindowWithThreeButton(Globalization.Kerdes, "@HelyettesitesResource.HelyettesitoTanarnakIsLegyenTulora", undefined,
"@CommonResource.Vissza", "@CommonResource.Igen", "@CommonResource.Nem", null, IgenFn, NemFn, "VisszaId", "IgenId", "NemId", null, 40, null, rowData, rowData);
}
else {
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: currentRow.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: currentRow.TanarId,
HelyettesitesTipusId: currentRow.ki_HelyettesitesTipusId,
Datum: currentRow.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue
}, successFeedBack);
}
}
}
function IgenFn(rowData) {
if (rowData !== undefined) {
var helyettesitesOkaValue = getHelyettesitesOka();
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: rowData.TanarId,
HelyettesitesTipusId: rowData.ki_HelyettesitesTipusId,
Datum: rowData.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue,
IsTuloraMentes: true
}, successFeedBack);
}
}
function NemFn(rowData) {
if (rowData !== undefined) {
var helyettesitesOkaValue = getHelyettesitesOka();
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: rowData.TanarId,
HelyettesitesTipusId: rowData.ki_HelyettesitesTipusId,
Datum: rowData.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue,
IsTuloraMentes: false
}, successFeedBack);
}
}
helyettesitesKereseseHelper.confirmHelyettesitesTorlese = function (rowData) {
if (rowData.HelyettesitesId == null) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.AzAdottOraraNincsKiirvaHelyettesites)", true, undefined);
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", helyettesitesTorlese, rowData);
}
}
helyettesitesKereseseHelper.helyettesitesBeallitasClose = function () {
KretaWindowHelper.destroyWindow("HelyettesitesBeallitasaWindow");
}
helyettesitesKereseseHelper.confirmOraElmarad = function (rowData) {
if (rowData.TanoraId == null) {
KretaWindowHelper.confirmWindow("@(ErrorResource.Hiba)", "@(TanarResource.BiztosanLenaplozzaAzOratElmaradtOrakent)", oraElmarad, rowData);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.EzMarElmaradtOrakentLettNaplozva)", true, undefined);
}
}
helyettesitesKereseseHelper.confirmDeleteElmaradtOra = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(TanarResource.BiztosanTorliAzElmaradtOrat)", deleteElmaradtOra, rowData);
}
helyettesitesKereseseHelper.isKiirhatElmaradtOrat = function (rowData) {
var result = rowData.TanoraId == null && rowData.HelyettesitesId == null;
return result;
}
helyettesitesKereseseHelper.isTorolhetoElmaradtOra = function (rowData) {
var result = rowData.TanoraId != null;
return result;
}
helyettesitesKereseseHelper.isTorolhetoHelyettesites = function (rowData) {
var result = rowData.TanoraId == null && rowData.HelyettesitesId != null;
return result;
}
helyettesitesKereseseHelper.hideEmtyRowFunction = function () {
$.each($(".rowFunction"), function (i, e) {
if ($(e).children().length < 1) {
$(e).hide();
}
});
}
function successFeedBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.DoGet(url.NemNaplozottTanorakCount, {}, helyettesitesKereseseHelper.updateNemNapolzottTanorakCount);
}
helyettesitesKereseseHelper.updateNemNapolzottTanorakCount = function (data) {
$("#NemNaplozottTanorakCount").attr('data-badge',data);
}
function deleteElmaradtOra(rowData) {
if (rowData.TanoraId == null) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.EzNemEgyElmaradtOra)", true, undefined);
} else {
AjaxHelper.DoPostQuery(url.DeleteElmaradtOra, null, { tanoraId: rowData.TanoraId, helyettesitettOrarendiOraId: rowData.HelyettesitettOrarendiOraId, helyettesitettDatum: rowData.HelyettesitettOraKezdete.toLocaleString() }, successFeedBack);
}
}
function helyettesitesTorlese(rowData) {
AjaxHelper.DoPost(url.HelyettesitesTorlese, { HelyettesitesID: rowData.HelyettesitesId }, successFeedBack);
}
function getHelyettesitesOka() {
var helyettesitesOka = $('#HelyettesitesOka').val();
return !CommonUtils.isNullOrEmpty(helyettesitesOka) ? helyettesitesOka : null;
}
function oraElmarad(rowData) {
var helyettesitendoTanar = $('#HelyettesitettId').val();
AjaxHelper.DoPost(url.OraElmarad, { HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId, Datum: rowData.HelyettesitettDatum, HelyettesitendoTanarID: helyettesitendoTanar, HelyettesitesOka: getHelyettesitesOka() }, successFeedBack);
}
return helyettesitesKereseseHelper;
})();
</script>

View file

@ -0,0 +1,302 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Resources;
@using Kreta.Web.Security;
@model NemNaplozottTanorakSearchModel
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
}
@Scripts.Render("~/bundles/Calendar")
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "NemNaplozottTanorakGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.CsakAHelyettesiteseim).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.HelyettesitettOraimIs).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.JovobeniOrakMegjelenitese).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumSrcTol, x => x.DatumSrcIg)
@Html.KretaRangeNumericSideBar(x => x.OraszamSrcTol, x => x.OraszamSrcIg, precision: 0, needTolIgLabels: true)
@Html.KretaRangeTimePickerSideBar(x => x.OraKezdetSrcTol, x => x.OraKezdetSrcIg)
}
}
@{
string rowFnEnableStringSearch = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Adatok + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-search\" aria-hidden=\"true\"></i></a></span>";
string rowFnEnableStringModosit = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Naplozas + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-pencil\" aria-hidden=\"true\"></i></a></span>";
string rowFnDisableString = "<span style='color: red; float: right; padding-right: 20px;'>" + OrarendResource.NaplozarasMiattNemNaplozhato + "</span>";
}
<div>
@(
Html.KretaGrid<NemNaplozottTanorakGridModel>
(
"NemNaplozottTanorakGrid",
new GridApiUrl("NemNaplozottTanorakApi", "GetNemNaplozottTanorakGrid", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "NemNaplozottTanorakApi", action = "GetExportColumns" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "NemNaplozottTanorakApi", action = "GetNemNaplozottTanorakExportGrid" }),
allowExcelExport: true,
excelExportFileName: "NemNaplozottTanorakExport",
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.OraKezdeteTimeText).Ascending();
sort.Add(m => m.OraKezdeteDate).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OraKezdeteDate).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaValos).SetDisplayProperty("HetNapjaValos_DNAME");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.OraKezdeteTimeText);
columns.Bound(c => c.OsztalyNev);
})
.LinkButtonColumn("", c => c.TargyNev, "HelyettesitesKereseseHelper.openNaplozas", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.HelyettesitoTanarNev);
})
.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(@"
#if(new Date(OraKezdeteDate) < new Date(kendo.parseDate('" + Model.NaplozarasDate.ToString("yyyy-MM-dd") + @"')) && ('" + Model.IsCsakErtekelesZarasa + @"' != '" + true + @"'))
{
# " + rowFnDisableString + @"#
}
else
{
if(HelyettesitoTanarID !== null && HelyettesitoTanarID !== " + ClaimData.FelhasznaloId + @")
{
#" + rowFnEnableStringSearch + @"#
}
else
{
#" + rowFnEnableStringModosit + @"#
}
} #
"))
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var naplozasURL = '@Url.Action("TanorakOrarendEvent", "TanariOrarend", new { area = "Orarend" })';
var HelyettesitesKereseseHelper = (function () {
var helyettesitesKereseseHelper = function () { };
helyettesitesKereseseHelper.openNaplozas = function (row) {
var json = {
CalendarModel:
{
allDay: false,
end: moment.utc(row.OraVege).local(),
eventColor: "#B95555",
eventColorRightLine: null,
eventId: row.Id,
eventType: 1,
helyettesitesId: null,
helyettesitoId: row.HelyettesitoTanarID,
oraType: 1,
start: moment.utc(row.OraKezdete).local()
},
HideTanoraModButton: true
};
AjaxHelper.DoPost(naplozasURL, json, Tanorak.popUpNaplozasWindow);
};
return helyettesitesKereseseHelper;
})();
</script>
<script>
var Tanorak = (function () {
var tanorak = function () { };
var getNemNaplozottTanorakCountUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })";
tanorak.tanoraMuveletWindow = "tanoraMuveletWindow";
tanorak.closeTanoraMuveletWindow = function () {
KretaWindowHelper.destroyWindow(tanorak.tanoraMuveletWindow);
KretaGridHelper.refreshGridSearchPanel("NemNaplozottTanorakGrid", "searchForm");
AjaxHelper.DoGet(getNemNaplozottTanorakCountUrl, {}, tanorak.updateNemNapolzottTanorakCount);
};
tanorak.popUpNaplozasWindow = function (data) {
popUpNaplozasWindow(data);
}
tanorak.FeedBackOKNaplozas = function () {
Tanorak.closeTanoraMuveletWindow();
}
tanorak.updateNemNapolzottTanorakCount = function (data) {
$("#NemNaplozottTanorakCount").attr('data-badge',data);
}
function popUpNaplozasWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.content = data;
var modal = KretaWindowHelper.createWindow(tanorak.tanoraMuveletWindow, config);
KretaWindowHelper.openWindow(modal, true);
$("#" + tanorak.tanoraMuveletWindow).data("kendoWindow").refresh();
}
return tanorak;
})();
</script>
<script type="text/javascript">
var TanariOrarend = (function () {
var tanariOrarend = function () { };
tanariOrarend.ChangeAllJelenletValue = function (val) {
if (val) {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton[val='" + val + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton"), function () {
if ($(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
return tanariOrarend;
})();
</script>
<script>
var SzamonkeresElorejelzesHelper = (function () {
var szamonkeresElorejelzesHelper = function () { };
var formName = "SzamonkeresElorejelzesForm";
var gridName = "SzamonkeresElorejelzesGrid";
var validateUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "ValidateSzamonkeresElorejelzes" })";
var saveUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "SaveSzamonkeresElorejelzes" })";
var deleteUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "DeleteSzamonkeresElorejelzes" })";
var getmodlistandcomboitemscolorUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "GetModListAndComboItemColor" })";
szamonkeresElorejelzesHelper.onSzamonkeresModListDataBound = function (e) {
SetSzamonkeresModListColor();
}
function SetSzamonkeresModListColor() {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoGet(getmodlistandcomboitemscolorUrl, { OraGroupId: data.OraGroupId, OsztalyCsoportId: data.OsztalyCsoportId, Datum: data.Datum, }, GetModListAndComboItemColorCallback);
}
function GetModListAndComboItemColorCallback(result) {
var ertekelesModIdArray = result.ErtekelesModList;
var kendocombo = $('#ErtekelesModId').data('kendoComboBox');
$(kendocombo.items()).each(function (index, item) {
var datatitem = kendocombo.dataItem(index);
if (ertekelesModIdArray.includes(Number(datatitem.Value))) {
switch (result.color) {
case "green":
default:
$(item).css('background-color', '#74A942');
break;
case "orange":
$(item).css('background-color', '#E39F0B');
break;
case "red":
$(item).css('background-color', '#A94442');
break;
}
}
});
}
szamonkeresElorejelzesHelper.isTorolheto = function (rowData) {
return rowData.Torolheto_BOOL;
}
szamonkeresElorejelzesHelper.deleteConfirm = function (rowData) {
var postData = { id: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliASzamonkeresElorejelzest)", deleteSzamonkeresElorejelzes, postData);
}
function deleteSzamonkeresElorejelzes(postData) {
AjaxHelper.DoPostQuery(deleteUrl, null, postData, deleteSuccessCallBack, deleteErrorCallBack);
}
function deleteSuccessCallBack() {
KretaGridHelper.refreshGrid(gridName);
TanariOrarend.FormSearch("searchForm");
}
function deleteErrorCallBack(data) {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", data.responseJSON.Message, true);
}
szamonkeresElorejelzesHelper.Save = function () {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoValidationPost(validateUrl, formName, data, SzamonkeresElorejelzesHelper.ValidateCallback);
//AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk,SaveFeedBackError);
}
szamonkeresElorejelzesHelper.ValidateCallback = function (postData) {
var form = $('#' + formName);
var data = form.toObject();
if (postData.Valid) {
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)", postData.Text, confirmWindowOK);
}
}
szamonkeresElorejelzesHelper.setSaveButton = function () {
var gridName = "SzamonkeresElorejelzesGrid";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
var disablesavebutton = false;
$.each(dataSource, function (index, value) {
if (value.Torolheto_BOOL) {
disablesavebutton = true;
}
});
var button = $("#SzamonkeresElorejelzesSave").data("kendoButton");
if (disablesavebutton) {
button.enable(false);
}
else {
button.enable(true);
}
SetSzamonkeresModListColor();
}
function confirmWindowOK() {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
}
function SaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
TanariOrarend.FormSearch("searchForm");
}
function SaveFeedBackError() {
KretaGridHelper.refreshGrid(gridName);
}
return szamonkeresElorejelzesHelper;
})();
</script>

View file

@ -0,0 +1,32 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Classes
@using Kreta.Web.Helpers.Grid
@model OralatogatasokKereseseAdatModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(model => model.DateString)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Ora)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Tanar)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Beosztas)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.LatogatottPedagogus)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Tantargy)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.OsztalyCsoport)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Megjegyzes)
</div>
</div>

View file

@ -0,0 +1,111 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Security
@model BejelentettSzamonkeresekSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
string searchFormName = "searchForm";
string gridName = "BejelentettSzamonkeresekGrid";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "BejelentettSzamonkeresekGrid"))
{
@Html.KretaRangeDatePickerSideBar(model => model.DatumTol, model => model.DatumIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.HetNapjaSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetHetNapjaTipusList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaNumericFor(model => model.OraszamSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SzamonkeresModSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetErtekelesModList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.SzamonkeresMegnevezesSrc).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.BejelentesDatumaTol, model => model.BejelentesDatumaIg)
@Html.KretaCheckBoxFor(model => model.RegiSzamonkeresekElrejtese).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<BejelentettSzamonkeresekGridModel>
(
name: gridName,
getUrl: new GridApiUrl("TanarBejelentettSzamonkeresekApi", "GetBejelentettSzamonkeresekGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.SzamonkeresDatuma).Ascending();
sort.Add(m => m.Oraszam).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.SzamonkeresDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaNev).SetDisplayProperty("HetNapjaNev");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.OsztalyNev);
columns.Bound(c => c.ErtekelesModNev);
columns.Bound(c => c.SzamonkeresMegnevezes);
columns.Bound(c => c.BejelentesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand {Name = ImportExportCommonResource.Export, ClientAction = "SzamonkeresElorejelzesHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Torles, ClientAction= "SzamonkeresElorejelzesHelper.deleteConfirm", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
}, "SzamonkeresElorejelzesHelper.isTorolheto")
)
</div>
<script type="text/javascript">
var SzamonkeresElorejelzesHelper = (function () {
var szamonkeresElorejelzesHelper = function () { };
var searchFormName = "@(searchFormName)";
var gridName = "@(gridName)";
var url = {
deleteUrl: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "DeleteSzamonkeresElorejelzes" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarBejelentettSzamonkeresekApi, action = "GetExport" })"
};
szamonkeresElorejelzesHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
szamonkeresElorejelzesHelper.isTorolheto = function (rowData) {
return rowData.Torolheto_BOOL && rowData.TanarId == @ClaimData.FelhasznaloId;
}
szamonkeresElorejelzesHelper.deleteConfirm = function (rowData) {
var postData = { id: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliASzamonkeresElorejelzest)", deleteSzamonkeresElorejelzes, postData);
}
function deleteSzamonkeresElorejelzes(postData) {
AjaxHelper.DoPostQuery(url.deleteUrl, null, postData, deleteSuccessCallBack, deleteErrorCallBack);
}
function deleteSuccessCallBack() {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
}
function deleteErrorCallBack(data) {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", data.responseJSON.Message, true);
}
return szamonkeresElorejelzesHelper;
})();
</script>

View file

@ -0,0 +1,71 @@
@using Kreta.Web.Areas.Tanar.Models
@model TanarDashboardModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddCss {
@Styles.Render("~/Content/RendszerHibaErtesitesek")
}
@functions {
private void RenderContent(TanarDashboardItemModel item)
{
item.Content = string.Format("<div class='content'>{0}</div>", item.Content);
Html.RenderPartial("TanarDashboardItem", item);
}
private void RenderTableContent(TanarDashboardTableModel item)
{
Html.RenderPartial("TanarDashboardTable", item);
}
}
<div class="rendszerContainer">
@{
if ((bool)ViewData["IsTanarTTFfelVagySzuperOsztalyFonok"])
{
RenderTableContent(Model.BeNemIrtOrak);
RenderTableContent(Model.KiirtHelyettesitesek);
if ((bool)ViewData["UzenetekEnabled"])
{
RenderTableContent(Model.Uzenetek);
}
if ((bool)ViewData["UgyekEnabled"])
{
RenderTableContent(Model.Ugyek);
}
if ((bool)ViewData["IsOsztalyFonokVagyCsoportVezeto"])
{
RenderTableContent(Model.Mulasztasok);
RenderTableContent(Model.BukasraAlloTanulok);
}
foreach (var item in Model.DashBoardUzenetek)
{
if (Constants.AdminDashboardEgyediAzonositok.RENDSZERFRISSITESI.Equals(item.EgyediAzonosito))
{
item.Content = string.Format(item.Content, Html.Raw(ViewBag.ShortMainVersion), Html.Raw(ViewBag.NextUpdateDateTimeText));
}
else if (Constants.AdminDashboardEgyediAzonositok.COVIDINFO.Equals(item.EgyediAzonosito))
{
if (Model.VanCovidFertozott)
{
item.Content = string.Format(item.Content, Url.Action("DownloadCovidFertozott", Constants.Controllers.TanarDashboard, new { area = Constants.Areas.Tanar }));
}
else
{
continue;
}
}
RenderContent(item);
}
}
}
</div>

View file

@ -0,0 +1,37 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Enums.ManualEnums
@model TanarDashboardItemModel
@{
string tipusClass = string.Empty;
switch (Model.Type)
{
case AdminDashboardTipusEnum.Error:
tipusClass = "subjectError";
break;
case AdminDashboardTipusEnum.Warning:
tipusClass = "subjectWarning";
break;
case AdminDashboardTipusEnum.Success:
tipusClass = "subjectSuccess";
break;
case AdminDashboardTipusEnum.Info:
tipusClass = "subjectInfo";
break;
case AdminDashboardTipusEnum.Priority:
tipusClass = "subjectPriority";
break;
}
}
<div class="col-xlg-4 col-md-6 col-xs-12">
<div class="nb-item highlighted row row-eq-height">
<div style="width: 100%;">
<div class="nb-content">
<div class="@(tipusClass)">
<h4 class="left">@Model.Name</h4>
</div>
@Html.Raw(Model.Content)
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,51 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Resources
@model TanarDashboardTableModel
<div class="col-xlg-4 col-md-6 col-xs-12">
<div class="nb-item highlighted row row-eq-height">
<div style="width: 100%;">
<div class="nb-content">
<div class="subjectInfo">
<h4 class="left">@Model.Name</h4>
</div>
<div class="content">
<div class="k-content">
<div class="k-widget k-grid">
<table class="fullwidth">
<thead class="k-grid-header">
<tr>
@foreach (var header in Model.Headers)
{
<th class="k-header dashboard-card-header"><span class="k-link">@header</span></th>
}
</tr>
</thead>
@if (Model.Rows.Count > 0)
{
<tbody>
@foreach (var row in Model.Rows)
{
<tr>
@foreach (var column in row.Columns)
{
<td>@column</td>
}
</tr>
}
</tbody>
}
</table>
@if (Model.Rows.Count == 0)
{
<div class="textAlignCenter">@TanarDashBoardResource.NincsMegjelenithetoAdat</div>
}
</div>
<a href="@Model.Url" class="redirectionLink" @(Model.OpenInNewWindow ? "target='_blank'" : "")>@TanarDashBoardResource.Tovabb</a>
</div>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,130 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security;
@model OralatogatasokKereseseModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var searchFormName = "searchForm";
var gridName = "OralatogatasGrid";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.LatogatottPedagogusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
@{
var alapOralatogasRowFunctions = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "OralatogatasokKereseseHelper.openDetailWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
};
var sajatOralatogasRowFunctions = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Torles, ClientAction= "OralatogatasokKereseseHelper.delete", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
};
}
@(
Html.KretaGrid<OralatogatasokKereseseGridModel>(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.TanarOralatogatasokListajaApi, "GetOralatogatasokGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.Oraszam).Width("10%");
columns.Bound(c => c.AlkalmazottElotagNelkul).SetDisplayProperty("Alkalmazott");
columns.Bound(c => c.Beosztas);
columns.Bound(c => c.LatogatottPedagogus);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.OsztalyCsoport);
})
.RowFunction(Html, alapOralatogasRowFunctions)
.ConditionalRowFunction(Html, sajatOralatogasRowFunctions, "OralatogatasokKereseseHelper.isSajatErtekelesRow")
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), ClientAction="OralatogatasokKereseseHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
<script type="text/javascript">
var url = {
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarOralatogatasokListajaApi, action = "DeleteOralatogatas" })",
OpenInfoPopUp: "@Url.Action("OpenOralatogatasInfoPopUp", Constants.Controllers.TanarOralatogatasokListaja, new { area = "Tanar" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarOralatogatasokListajaApi, action = "GetExport" })"
}
var OralatogatasokKereseseHelper = (function () {
var oralatogatasokKereseseHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
oralatogatasokKereseseHelper.openDetailWindow = function (rowData) {
var postData = { oralatogatasId: rowData.ID };
AjaxHelper.DoPost(url.OpenInfoPopUp, postData, popUpDetailWindow);
}
oralatogatasokKereseseHelper.delete = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteOraLatogatas, { TanitasiOraId: rowData.TanitasiOraId, AlkalmazottId: rowData.AlkalmazottId } );
}
oralatogatasokKereseseHelper.closePopUps = function () {
KretaWindowHelper.destroyAllWindow();
}
oralatogatasokKereseseHelper.isSajatErtekelesRow = function (rowData) {
return rowData.IsSajatErtekeles_BOOL;
}
oralatogatasokKereseseHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(CommonResource.Adatok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteOraLatogatas(data) {
AjaxHelper.DoPost(url.Delete, data, deleteResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
return oralatogatasokKereseseHelper;
})();
</script>

View file

@ -0,0 +1,40 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Kreta.Web" />
<add namespace="Kreta.BusinessLogic.Utils" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="Kreta.Web.Helpers" />
<add namespace="System.Web.Optimization" />
<add namespace="Kreta.Web" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>