init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
403
KretaWeb/Areas/Tanar/ApiControllers/FogadooraApiController.cs
Normal file
403
KretaWeb/Areas/Tanar/ApiControllers/FogadooraApiController.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
263
KretaWeb/Areas/Tanar/Controllers/FogadooraController.cs
Normal file
263
KretaWeb/Areas/Tanar/Controllers/FogadooraController.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
474
KretaWeb/Areas/Tanar/Controllers/TanarDashboardController.cs
Normal file
474
KretaWeb/Areas/Tanar/Controllers/TanarDashboardController.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
103
KretaWeb/Areas/Tanar/Logic/FogadooraLogic.cs
Normal file
103
KretaWeb/Areas/Tanar/Logic/FogadooraLogic.cs
Normal 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);
|
||||
}
|
||||
}
|
29
KretaWeb/Areas/Tanar/Logic/NemNaplozottTanorakLogic.cs
Normal file
29
KretaWeb/Areas/Tanar/Logic/NemNaplozottTanorakLogic.cs
Normal 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
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
7
KretaWeb/Areas/Tanar/Models/DownloadModel.cs
Normal file
7
KretaWeb/Areas/Tanar/Models/DownloadModel.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.Web.Areas.Tanar.Models
|
||||
{
|
||||
public class DownloadModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/Tanar/Models/FogadooraGridModel.cs
Normal file
44
KretaWeb/Areas/Tanar/Models/FogadooraGridModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
25
KretaWeb/Areas/Tanar/Models/FogadooraJelentkezesInfoModel.cs
Normal file
25
KretaWeb/Areas/Tanar/Models/FogadooraJelentkezesInfoModel.cs
Normal 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; }
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -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; }
|
||||
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
66
KretaWeb/Areas/Tanar/Models/FogadooraSearchModel.cs
Normal file
66
KretaWeb/Areas/Tanar/Models/FogadooraSearchModel.cs
Normal 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,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
97
KretaWeb/Areas/Tanar/Models/HFCsatolmanyGridModel.cs
Normal file
97
KretaWeb/Areas/Tanar/Models/HFCsatolmanyGridModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
71
KretaWeb/Areas/Tanar/Models/HFCsatolmanyokSearchModel.cs
Normal file
71
KretaWeb/Areas/Tanar/Models/HFCsatolmanyokSearchModel.cs
Normal 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
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
18
KretaWeb/Areas/Tanar/Models/HelyettesitesBeallitasaModel.cs
Normal file
18
KretaWeb/Areas/Tanar/Models/HelyettesitesBeallitasaModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
43
KretaWeb/Areas/Tanar/Models/HelyettesitesGridModel.cs
Normal file
43
KretaWeb/Areas/Tanar/Models/HelyettesitesGridModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
19
KretaWeb/Areas/Tanar/Models/HelyettesitesOraCsereModel.cs
Normal file
19
KretaWeb/Areas/Tanar/Models/HelyettesitesOraCsereModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
29
KretaWeb/Areas/Tanar/Models/HelyettesitesSearchModel.cs
Normal file
29
KretaWeb/Areas/Tanar/Models/HelyettesitesSearchModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
36
KretaWeb/Areas/Tanar/Models/HelyettesitesTanarGridModel.cs
Normal file
36
KretaWeb/Areas/Tanar/Models/HelyettesitesTanarGridModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
|
||||
}
|
||||
}
|
66
KretaWeb/Areas/Tanar/Models/OralatogatasokKereseseModel.cs
Normal file
66
KretaWeb/Areas/Tanar/Models/OralatogatasokKereseseModel.cs
Normal 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
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
66
KretaWeb/Areas/Tanar/Models/TanarDashboardModel.cs
Normal file
66
KretaWeb/Areas/Tanar/Models/TanarDashboardModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
|
@ -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; }
|
||||
}
|
||||
}
|
|
@ -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>();
|
||||
}
|
||||
}
|
||||
}
|
24
KretaWeb/Areas/Tanar/TanarAreaRegistration.cs
Normal file
24
KretaWeb/Areas/Tanar/TanarAreaRegistration.cs
Normal 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 }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
183
KretaWeb/Areas/Tanar/Views/Fogadoora/FogadooraKereso.cshtml
Normal file
183
KretaWeb/Areas/Tanar/Views/Fogadoora/FogadooraKereso.cshtml
Normal 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>
|
101
KretaWeb/Areas/Tanar/Views/Fogadoora/Fogadoora_Info.cshtml
Normal file
101
KretaWeb/Areas/Tanar/Views/Fogadoora/Fogadoora_Info.cshtml
Normal 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>
|
191
KretaWeb/Areas/Tanar/Views/Fogadoora/Index.cshtml
Normal file
191
KretaWeb/Areas/Tanar/Views/Fogadoora/Index.cshtml
Normal 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>
|
257
KretaWeb/Areas/Tanar/Views/HaziFeladatCsatolmanyok/Index.cshtml
Normal file
257
KretaWeb/Areas/Tanar/Views/HaziFeladatCsatolmanyok/Index.cshtml
Normal 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>
|
|
@ -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>
|
|
@ -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>
|
224
KretaWeb/Areas/Tanar/Views/HelyettesitesekKeresese/Index.cshtml
Normal file
224
KretaWeb/Areas/Tanar/Views/HelyettesitesekKeresese/Index.cshtml
Normal 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>
|
302
KretaWeb/Areas/Tanar/Views/NemNaplozottTanorak/Index.cshtml
Normal file
302
KretaWeb/Areas/Tanar/Views/NemNaplozottTanorak/Index.cshtml
Normal 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>
|
32
KretaWeb/Areas/Tanar/Views/Shared/Oralatogatas_Info.cshtml
Normal file
32
KretaWeb/Areas/Tanar/Views/Shared/Oralatogatas_Info.cshtml
Normal 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>
|
||||
|
|
@ -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>
|
71
KretaWeb/Areas/Tanar/Views/TanarDashboard/Index.cshtml
Normal file
71
KretaWeb/Areas/Tanar/Views/TanarDashboard/Index.cshtml
Normal 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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
40
KretaWeb/Areas/Tanar/Views/web.config
Normal file
40
KretaWeb/Areas/Tanar/Views/web.config
Normal 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>
|
Loading…
Add table
Add a link
Reference in a new issue