init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,120 @@
|
|||
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.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminBejelentettSzamonkeresekApiController : 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}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
[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 = "TanarNev", Title = OrarendResource.Tanar });
|
||||
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,192 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
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.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using HttpPostAttribute = System.Web.Http.HttpPostAttribute;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminKozpontiOrakApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetRogzitesGrid(bool isSorszamozando, DateTime? datum = null, int? hanyadikOra = null)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
|
||||
var helper = new OsztalyHelper(connectionType);
|
||||
List<OsztalyItemCo> osztalyok = helper.GetOsztalyCoList();
|
||||
|
||||
if (datum.HasValue && hanyadikOra.HasValue)
|
||||
{
|
||||
var osztalyCsoportIds = new CsengetesiRendHelper(connectionType).GetOsztalyCsoportIdsForCsengetesiRend(datum.Value, hanyadikOra.Value, osztalyok.Select(x => x.Id));
|
||||
|
||||
osztalyok = osztalyok.Where(x => osztalyCsoportIds.Contains(x.Id)).ToList();
|
||||
}
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOsztalyItemCoListToOsztalyokGridModelList(osztalyok, isSorszamozando).ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public DataSourceResult GetKozpontiOrabaUtkozoOrarendiOrakGrid(DateTime start, DateTime end, int hanyadikora, bool onlyUtkozoOrak, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var temp = JsonConvert.DeserializeObject<AdminKozpontiOrakRogzitesSelectedModel.DeserializeHelper>(request.data);
|
||||
List<AdminKozpontiOrakRogzitesSelectedModel> kozpontiOraList = JsonConvert.DeserializeObject<List<AdminKozpontiOrakRogzitesSelectedModel>>(temp.JsonContent);
|
||||
|
||||
if (kozpontiOraList == null)
|
||||
{
|
||||
return new List<AdminKozpontiOrakOsztalyokGridModel>().ToDataSourceResult();
|
||||
}
|
||||
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetOrarendiOrakUtkozesKozpontiOraValidaciohoz(start.ToLocalTime(),
|
||||
end.ToLocalTime(), hanyadikora, AdminKozpontiOrakRogzitesSelectedModel.MapListToKozpontiOrakOrarendiOrakUtkozesCoList(kozpontiOraList, hanyadikora), onlyUtkozoOrak);
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOrarendiOrakoListToOsztalyokGridModelList(orarendiOrak).ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public DataSourceResult GetOrarendiOrakKopontilagTorleseGrid(DateTime start, DateTime end, int hanyadikora)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetOrarendiOrakForSpecificTime(start.ToLocalTime(), end.ToLocalTime(), null, null, hanyadikora);
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOrarendiOrakoListToOsztalyokGridModelList(orarendiOrak.Where(i => i.KozpontiOraGroupId == null && i.KozpontilagToroltOraGroupId == null).ToList()).ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public DataSourceResult GetOrarendiOrakVisszaallitasaGrid(DateTime start, DateTime end, int hanyadikora)
|
||||
{
|
||||
var helper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetToroltOrarendiOrakVisszaallitashoz(start.ToLocalTime(), end.ToLocalTime(), hanyadikora);
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOrarendiOrakoListToOsztalyokGridModelList(orarendiOrak).ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetModositasGrid(DateTime start, DateTime end, int hanyadikora)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetGroupedKozpontiOrakForSpecificTime(start.ToLocalTime(), end.ToLocalTime(), start.ToLocalTime(), end.ToLocalTime(), hanyadikora);
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOrarendiOrakoListToOsztalyokGridModelList(orarendiOrak).ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetModositasDetailsGrid(DateTime start, DateTime end, int hanyadikOra, Guid kozpontiOraId)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetOrarendiOrakForSpecificTime(start.ToLocalTime(), end.ToLocalTime(), start.ToLocalTime(), end.ToLocalTime(), hanyadikOra, true, kozpontiOraId);
|
||||
|
||||
return AdminKozpontiOrakOsztalyokGridModel.MapOrarendiOrakoListToOsztalyokGridModelList(orarendiOrak).ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage CreateKozpontiOra(AdminCreateKozpontiOrakModel model)
|
||||
{
|
||||
var kozpontiOraLogic = new AdminKozpontiOraLogic();
|
||||
var validationResult = kozpontiOraLogic.CreateOraValidationCoListForKozpontiOrak(model.Start, model.End, model.HanyadikOra, model.KozpontiOrakRogzitesre, model.IsTeremutkozesFigyelese, out var kozpontiOrakList);
|
||||
|
||||
if (!validationResult.IsValid)
|
||||
{
|
||||
if (validationResult.HasTeremutkozes)
|
||||
{
|
||||
if (validationResult.TeremutkozesSystemSettingsValue == (int)TevekenysegUtkozesEnum.UtkozeskorFigyelmeztetes)
|
||||
{
|
||||
var jsonResult = JsonConvert.SerializeObject(new { isTeremutkozesConfirm = true });
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, jsonResult.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
if (!model.OrarendiOrakTorlesre.Any())
|
||||
{
|
||||
var jsonResult = JsonConvert.SerializeObject(new { isTeremutkozesConfirm = false, errorMessage = !string.IsNullOrWhiteSpace(validationResult.ErrorMessage) ? validationResult.ErrorMessage : KozpontiOrakResource.AzIdopontraMarRogzitettekUgyanezenAdatokkalKozpontiOrat });
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, jsonResult.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendiOraHelper.HandleSaveKozpontiOraRequest(model.Start.ToLocalTime(), model.OrarendiOrakTorlesre, kozpontiOrakList);
|
||||
|
||||
if (!result)
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.InternalServerError, false);
|
||||
}
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, true);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteKozpontiOra(AdminKozpontiOrakDeleteKozpontiOrakModel model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.DeletOrarendiOra(model.OrarendiOraId, (int)OraModositasiIdoszakTipus.EgyOra, DateTime.Now);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, true);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteAllKozpontiOraByGroupId(AdminKozpontiOrakDeleteKozpontiOrakModel model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.DeleteAllKozpontiOraByGroupId(model.KozpontiOraGroupId, model.Start.ToLocalTime(), model.End.ToLocalTime(), model.HanyadikOra);
|
||||
|
||||
var helper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrak = helper.GetToroltOrarendiOrakVisszaallitashoz(model.Start.ToLocalTime(), model.End.ToLocalTime(), model.HanyadikOra);
|
||||
bool hasDeletedOrarendiOra = orarendiOrak.Any(i => i.KozpontilagToroltOraGroupId != null);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, hasDeletedOrarendiOra);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendiOrak(AdminKozpontiOrakOrarendiOrakIdList model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendiOraHelper.DeleteOrarendiOrakKozpontilag(model.OrarendiOrakIdList, model.Start.ToLocalTime());
|
||||
|
||||
if (!result)
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.InternalServerError, false);
|
||||
}
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, true);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage OrarendiOrakVisszaallitasa(AdminKozpontiOrakOrarendiOrakIdList model)
|
||||
{
|
||||
var kozpontiOraHelper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
kozpontiOraHelper.OrarendiOrakVisszaallitasa(model.OrarendiOrakIdList);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, true);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage OrarendiOrakVisszaallitasaValidacio(AdminKozpontiOrakOrarendiOrakIdList model)
|
||||
{
|
||||
var kozpontiOraHelper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = kozpontiOraHelper.OrarendiOrakVisszaallitasaValidacio(model.OrarendiOrakIdList);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, result);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Mulasztas;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNaploEllenorzesApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public AdminNaploEllenorzesApiController(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage UpdateNemMegtartott(int id, DateTime oraKezdete, DateTime oraVege)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var helperCo = helper.GetOrarendiOraById(id);
|
||||
|
||||
var co = new TanoraCO();
|
||||
co.Targy = helperCo.TantargyId;
|
||||
co.Terem = helperCo.TeremID;
|
||||
co.IsTanoranKivuli = helperCo.TanoranKivuliFoglalkozas;
|
||||
co.Sorszamozando = false;
|
||||
co.OrarendiOra = helperCo.ID;
|
||||
co.OsztCsop = helperCo.OsztalyCsoportId;
|
||||
co.Tanar = helperCo.TanarId;
|
||||
co.OraKezd = oraKezdete;
|
||||
co.OraVeg = oraVege;
|
||||
co.Oraszam = helperCo.Oraszam;
|
||||
co.EvesOraSorszam = null;
|
||||
co.Megtartott = false;
|
||||
co.Tulaj = helperCo.TanarId;
|
||||
co.HetNapja = helperCo.HetNapja;
|
||||
co.CsengetesiRendID = helperCo.CsengetesiRendID;
|
||||
co.AdminAltalKiirt = true;
|
||||
co.Datum = co.OraKezd.Date;
|
||||
|
||||
var thelper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
thelper.TanoraNaplozas(co, mulasztasCo: null, fileServiceHelper, coreApiClient);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteNaplozas(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.NaplozasTorlese(id, true);
|
||||
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasok(int osztalycsoportId, int tanoraId, DateTime oraKezdete, DateTime oraVege, int targyId, int tanarId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return new MulasztasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasok(osztalycsoportId, tanoraId, oraKezdete, oraVege, targyId, tanarId, false).ToDataSourceResult();
|
||||
}
|
||||
|
||||
private void SetMagantanuloFelmentett(DataSet ds)
|
||||
{
|
||||
foreach (DataRow item in ds.Tables[0].Rows)
|
||||
{
|
||||
if (SDAConvert.ToBoolean(item["IsMagantanulo_BOOL"]))
|
||||
{
|
||||
item["OraMentesseg"] = "T";
|
||||
item["OraMentesseg_BOOL"] = true;
|
||||
item["Oka"] = StringResourcesUtil.GetString(387); /*Magántanuló*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> 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 Json(lista.ToComboBoxItemList().Where(x => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(SDAConvert.ToInt32(x.Value))).ToList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetHelyettesitesTipus()
|
||||
{
|
||||
var data = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value, false);
|
||||
|
||||
return Json(data.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTema(int osztcsop, int targy)
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var list = helper.GetTemaIdAndNameForNaplozasDDL(targy, osztcsop).ToComboBoxItemList();
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
public List<System.Web.Mvc.SelectListItem> GetTanarListItems()
|
||||
{
|
||||
IDictionary<string, string> list;
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
list = helper.GetTanarok(string.Empty, oktatasiAzonositoval: false);
|
||||
|
||||
list.Remove("");
|
||||
|
||||
return list.ToSelectListItemList();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
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.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
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.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNemElerhetoOrarendiElemekApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetNemElerhetoOrarendiElemekGrid(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<AdminNemElerhetoOrarendiElemGridModel>(AdminNemElerhetoOrarendiElemGridModel.NemElerhetoOrarendiElemExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.ExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{OrarendResource.NemElerhetoOrarendiElemek_Export}_{DateTime.Now:yyyy_MM_dd}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<AdminNemElerhetoOrarendiElemGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<AdminNemElerhetoOrarendiElemSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNemElerhetoOrarendiElemekCoList(model.ConvertToCo());
|
||||
|
||||
var modelList = new List<AdminNemElerhetoOrarendiElemGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new AdminNemElerhetoOrarendiElemGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool DeleteOrarendiElem(int orarendiOraId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.DeleteOrarendiElem(orarendiOraId);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public int DeleteOrarendiOraSelectedElem(List<int> orarendiOraIdList)
|
||||
{
|
||||
return AdminNemElerhetoOrarendiElemekLogic.DeleteSelectedOrarendiOra(orarendiOraIdList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
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.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.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNemNaplozottTanorakApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetNemNaplozottTanorakGrid(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<NemNaplozottTanorakGridModel>(NemNaplozottTanorakGridModel.NemNaplozottTanorakExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(NemNaplozottTanorakResource.ExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), NemNaplozottTanorakResource.ExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<NemNaplozottTanorakGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<NemNaplozottTanorakSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNemNaplozottOrarendiOraCoList(NemNaplozottTanorakSearchModel.ConvertModelToCo(model));
|
||||
|
||||
var modelList = new List<NemNaplozottTanorakGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new NemNaplozottTanorakGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminOsztalyOrarendApiController : BaseAdminOsztalyOrarendApiController
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,202 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminTanariOrarendApiController : BaseAdminTanariOrarendApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNemKotottMunkaIdo(NemKotottMunkaidoModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
model.Kezdet = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Kezdet.Value);
|
||||
model.Veg = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Veg.Value);
|
||||
|
||||
var customModelState = NemKotottMunkaidoLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
TanevCO tanevCO;
|
||||
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevCO = tanevHelper.GetTanevInfo();
|
||||
|
||||
NemKotottMunkaidoCO co = NemKotottMunkaidoLogic.ConvertModelToCO(model);
|
||||
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (model.Id.HasValue && model.Id > 0)
|
||||
{
|
||||
var lista = new List<int>();
|
||||
switch (model.ModositasiIdoszakTipus)
|
||||
{
|
||||
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
|
||||
helper.UpdateNemKotottMunkaIdoByGroupId(co, tanevCO.OraFelvetelKezdete + co.Kezdete.TimeOfDay, tanevCO.UtolsoTanitasiNap + co.Vege.TimeOfDay);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNaptol:
|
||||
helper.UpdateNemKotottMunkaIdoByGroupId(co, co.Kezdete, tanevCO.UtolsoTanitasiNap + co.Vege.TimeOfDay, Guid.NewGuid().ToString());
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNapig:
|
||||
helper.UpdateNemKotottMunkaIdoByGroupId(co, tanevCO.OraFelvetelKezdete + co.Kezdete.TimeOfDay, co.Vege, Guid.NewGuid().ToString());
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.EgyOra:
|
||||
helper.UpdateNemKotottMunkaIdoByGroupId(co, co.Kezdete, co.Vege, Guid.NewGuid().ToString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
co.GroupId = Guid.NewGuid().ToString();
|
||||
|
||||
var lista = new List<DateTime>();
|
||||
switch (model.ModositasiIdoszakTipus)
|
||||
{
|
||||
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoInsert(tanevCO.OraFelvetelKezdete, tanevCO.UtolsoTanitasiNap, co.Kezdete.Date, co.HetirendId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNaptol:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoInsert(co.Kezdete.Date, tanevCO.UtolsoTanitasiNap, co.Kezdete.Date, co.HetirendId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNapig:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoInsert(tanevCO.OraFelvetelKezdete, co.Kezdete.Date, co.Kezdete.Date, co.HetirendId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.EgyOra:
|
||||
helper.Insert(co);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
foreach (var item in lista)
|
||||
{
|
||||
co.Kezdete = item.AddHours(co.Kezdete.Hour).AddMinutes(co.Kezdete.Minute);
|
||||
co.Vege = item.AddHours(co.Vege.Hour).AddMinutes(co.Vege.Minute);
|
||||
|
||||
helper.Insert(co);
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult UtkozesValidateNemKotottMunkaido(NemKotottMunkaidoModel model)
|
||||
{
|
||||
var hasUtkozes = Logic.NemKotottMunkaidoLogic.CheckUtkozesValidation(model);
|
||||
int tevekenysegutkozesSystemSetting = Logic.NemKotottMunkaidoLogic.GetTevekenysegUtkozesSystemSetting();
|
||||
|
||||
if (tevekenysegutkozesSystemSetting != (int)TevekenysegUtkozesEnum.UtkozesMegengedett && hasUtkozes)
|
||||
{
|
||||
if (tevekenysegutkozesSystemSetting == (int)TevekenysegUtkozesEnum.UtkozesNemLehetseges)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.NemKotottMunkaidoFelviteleNemLehetsegesUtkozesMiatt);
|
||||
}
|
||||
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.NemKotottMunkaidoFelviteleNemLehetsegesUtkozesMiattKerdes) });
|
||||
}
|
||||
return Json(new { Valid = true, Text = string.Empty });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult TorlesValidateNemKotottMunkaido(NemKotottMunkaidoModel model)
|
||||
{
|
||||
var naplozottNemkotottMunkaidoSzam = NemKotottMunkaidoLogic.GetNaplozottNemkotottMunkaidoSzamByGroupId(model);
|
||||
if (naplozottNemkotottMunkaidoSzam > 0)
|
||||
{
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.AMuveletSoran0DarabNaplozottNemkotottMunkaido, naplozottNemkotottMunkaidoSzam) });
|
||||
}
|
||||
return Json(new { Valid = true, Text = string.Empty });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteNemKotottMunkaIdo(NemKotottMunkaidoModel model)
|
||||
{
|
||||
TanevCO tanevCO;
|
||||
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevCO = tanevHelper.GetTanevInfo();
|
||||
|
||||
model.Kezdet = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Kezdet.Value);
|
||||
model.Veg = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Veg.Value);
|
||||
|
||||
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
List<int> lista = new List<int>();
|
||||
switch (model.ModositasiIdoszakTipus)
|
||||
{
|
||||
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoDelete(tanevCO.OraFelvetelKezdete, tanevCO.UtolsoTanitasiNap, model.GroupId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNaptol:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoDelete(model.Kezdet.Value.Date, tanevCO.UtolsoTanitasiNap, model.GroupId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNapig:
|
||||
lista = helper.GetNapokForNemKotottMunkaidoDelete(tanevCO.OraFelvetelKezdete, model.Kezdet.Value.AddDays(1).Date, model.GroupId);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.EgyOra:
|
||||
helper.Delete(model.Id.Value, isAdmin: true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
foreach (var item in lista)
|
||||
{
|
||||
helper.Delete(item, isAdmin: true);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
|
||||
public bool IsTanevRendEsemenyNemKotottMunkaido(CalendarModel model)
|
||||
{
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
return helper.GetVanTanevRendjeEsemenyNemKotottMunkaido(model.Start, model.End);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool EnabledNemKotottMunkaidoRogzitese(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool enabledNemKotottMunkaidoRogzitese = tanevrendHelper.EnabledNemKotottMunkaidoRogzitese(date);
|
||||
|
||||
return enabledNemKotottMunkaidoRogzitese;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminTeremOrarendApiController : BaseAdminTeremOrarendApiController
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
public class BaseAdminOsztalyOrarendApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
orarendiOraHelper.CheckUtkozesValidationAndSaveOrUpdateOrarendiOrak(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), ClaimData.FelhasznaloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.AzOrarendiOratNemLehetModositaniMertMarTartozikHozzaNaplozottOra);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage PreValidationOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), !model.ID.HasValue ? "OrarendiOrak.Save();" : "OrarendiOrak.ModConfirmSave();", isPrevalidation: true);
|
||||
|
||||
if (utkozesValidationMsg.ErrorMsg.Length > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
|
||||
}
|
||||
|
||||
if (utkozesValidationMsg.Msg.Length > 0)
|
||||
{
|
||||
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool HasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
model.OraKezdete = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.OraErvenyessegVege.Value, model.OraKezdete.Value);
|
||||
model.OraVege = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.OraErvenyessegVege.Value, model.OraVege.Value);
|
||||
|
||||
return new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOra(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool HasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszak(OrarendiOraModel model)
|
||||
{
|
||||
model.OraKezdete = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.OraErvenyessegVege.Value, model.OraKezdete.Value);
|
||||
model.OraVege = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.OraErvenyessegVege.Value, model.OraVege.Value);
|
||||
|
||||
return new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszak(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model));
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsOrarendiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool HasTanitasiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
if (isOrarendiNap)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return tanevrendHelper.HasTanitasiNap(date);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public int GetOsztalyCsoportTerem(int? osztalyCsoportId)
|
||||
{
|
||||
if (osztalyCsoportId > 0)
|
||||
{
|
||||
return new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportTeremId(osztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
bool torlesSikeres = orarendiOraHelper.DeletOrarendiOra(model.ID.Value, model.ModositasiIdoszakTipus, model.ModificationDate);
|
||||
|
||||
if (torlesSikeres)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(4519));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
public class BaseAdminTanariOrarendApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
orarendiOraHelper.CheckUtkozesValidationAndSaveOrUpdateOrarendiOrak(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), ClaimData.FelhasznaloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.AzOrarendiOratNemLehetModositaniMertMarTartozikHozzaNaplozottOra);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage PreValidationOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), !model.ID.HasValue ? "OrarendiOrak.Save();" : "OrarendiOrak.ModConfirmSave();", isPrevalidation: true);
|
||||
|
||||
if (utkozesValidationMsg.ErrorMsg.Length > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
|
||||
}
|
||||
|
||||
if (utkozesValidationMsg.Msg.Length > 0)
|
||||
{
|
||||
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage PreValidationDeleteOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), "OrarendiOrak.deleteOrarendiOra();", isPrevalidation: true, isForDelete: true);
|
||||
|
||||
if (utkozesValidationMsg.Msg.Length > 0)
|
||||
{
|
||||
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
bool torlesSikeres = orarendiOraHelper.DeletOrarendiOra(model.ID.Value, model.ModositasiIdoszakTipus, model.ModificationDate);
|
||||
|
||||
if (torlesSikeres)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.OrarendiOraNemTorolhetoMivelATorlendoIdoszakbanMarVanNaplozottOra);
|
||||
}
|
||||
|
||||
public int GetOraszam(int Id, CalendarOraTypeEnum calendarEnum)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
return helper.GetOraszamByOrarendiOra(Id, calendarEnum);
|
||||
}
|
||||
|
||||
public string GetTanarokNeve(string id)
|
||||
{
|
||||
return int.TryParse(id, out int fID) && fID.IsEntityId()
|
||||
? new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarokTanoranKivuliFoglalkozashoz(fID)
|
||||
: string.Empty;
|
||||
}
|
||||
|
||||
|
||||
[HttpGet]
|
||||
public bool IsOrarendiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool HasTanitasiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap || tanevrendHelper.HasTanitasiNap(date);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult<OraCO> GetCsengetesiRendEsOrak(CsengetesiRendOraszamaModel csengetesiRend)
|
||||
{
|
||||
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var data = helper.GetCsengetesiRendEsOrak(csengetesiRend.AktualisCsengetesiRendId, csengetesiRend.AktualisOraSzam).Tables[0].Rows;
|
||||
|
||||
var ora = new OraCO
|
||||
{
|
||||
Kezdete = data.Count > 0 ? data[0].Field<DateTime>("Kezdete").TimeOfDay : TimeSpan.Zero,
|
||||
Vege = data.Count > 0 ? data[0].Field<DateTime>("Vege").TimeOfDay : TimeSpan.Zero
|
||||
};
|
||||
|
||||
return Json(ora);
|
||||
}
|
||||
|
||||
public List<System.Web.Mvc.SelectListItem> GetHetirendList()
|
||||
{
|
||||
var dictionary = FrameworkEnumExtensions.EnumToList((int)
|
||||
GeneratedAdatszotarTipusEnum.HetiRendTipus, ClaimData.SelectedTanevID.Value, false);
|
||||
List<System.Web.Mvc.SelectListItem> list = new List<System.Web.Mvc.SelectListItem>();
|
||||
|
||||
foreach (var item in dictionary)
|
||||
{
|
||||
System.Web.Mvc.SelectListItem sli = new System.Web.Mvc.SelectListItem() { Text = item.Value, Value = item.Key };
|
||||
list.Add(sli);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public int GetOsztalyCsoportTerem(int? osztalyCsoportId)
|
||||
{
|
||||
if (osztalyCsoportId > 0)
|
||||
{
|
||||
return new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportTeremId(osztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
public class BaseAdminTeremOrarendApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
orarendiOraHelper.CheckUtkozesValidationAndSaveOrUpdateOrarendiOrak(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), ClaimData.FelhasznaloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.AzOrarendiOratNemLehetModositaniMertMarTartozikHozzaNaplozottOra);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage PreValidationOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
OrarendiOraLogic.SetOraKezdetekAndOraVegek(model);
|
||||
|
||||
var customModelState = OrarendiOraLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(OrarendiOraLogic.SetOraValidationCoFromOrarendiOraModel(model), !model.ID.HasValue ? "OrarendiOrak.Save();" : "OrarendiOrak.ModConfirmSave();", isPrevalidation: true);
|
||||
|
||||
if (utkozesValidationMsg.ErrorMsg.Length > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
|
||||
}
|
||||
|
||||
if (utkozesValidationMsg.Msg.Length > 0)
|
||||
{
|
||||
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsOrarendiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool HasTanitasiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap || tanevrendHelper.HasTanitasiNap(date);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOrarendiOra(OrarendiOraModel model)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool torlesSikeres = orarendiOraHelper.DeletOrarendiOra(model.ID.Value, model.ModositasiIdoszakTipus, model.ModificationDate);
|
||||
|
||||
if (torlesSikeres)
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, StringResourcesUtil.GetString(4519));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,359 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
public class BaseTanariOrarendApiController : ApiController
|
||||
{
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
private readonly IFileServiceHelper _fileServiceHelper;
|
||||
private readonly ICoreApiClient _coreApiClient;
|
||||
|
||||
public BaseTanariOrarendApiController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
Authorization = authorization;
|
||||
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
_coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public IHttpActionResult ValidateNaplozas(TanoraNaplozasRogzites model, int? szervezetTipusId = null)
|
||||
{
|
||||
if (model.MulasztasNaplozasRogzites.Tema == null)
|
||||
{
|
||||
return Json(new { ModelState = new { Tema = new[] { ErrorResource.OraTemajanakKivalasztasaVagyATemaMegadasaKotelezo } } });
|
||||
}
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
|
||||
var naploValidacioParameters = new NaploValidacioParameters(model.TanoraMuveletek.CalendarModel.Start, connectionType, ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
|
||||
var co = new NaplozasCo();
|
||||
model.ConvertTo(co, model.TanoraMuveletek.NaplozasDatum);
|
||||
co.SzervezetTipusId = szervezetTipusId;
|
||||
var naplozasLogic = new NaplozasLogic(validator, co);
|
||||
|
||||
bool utkozik = false;
|
||||
if (model.TanoraMuveletek.CalendarModel.EventType != EventTypeEnum.LetezoOraSzerkesztese)
|
||||
{
|
||||
utkozik = !co.OraAdat.OrarendiOraId.HasValue && naplozasLogic.TeremUtkozesEllenorzes();
|
||||
}
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
var teremHelper = new TeremHelper(connectionType);
|
||||
if (!szervezetTipusId.HasValue)
|
||||
{
|
||||
if (IsTeremBefogadokepessegeKissebbMintAzOsztalyCsoportLetszama(systemSettingsHelper, teremHelper, model.TanoraAdatokRogzites.TeremId, model.MulasztasNaplozasRogzites.MulasztasList.Count))
|
||||
{
|
||||
if (utkozik)
|
||||
{
|
||||
return Json(new { Valid = false, Text = OrarendResource.TeremutkozesEsTeremBefogadokepessegeKisebb });
|
||||
}
|
||||
|
||||
return Json(new { Valid = false, Text = OrarendResource.ATeremBefogadokepessegeKisebbMintAzOsztalyCsoportLetszamaSzeretneFolytatni });
|
||||
}
|
||||
}
|
||||
|
||||
if (naplozasLogic.GetModel.IsTanora && !model.TanoraMuveletek.CalendarModel.IsOraOsszevonas && model.TanoraMuveletek.CalendarModel.EventType != EventTypeEnum.LetezoOraSzerkesztese)
|
||||
{
|
||||
var osztalyVagyTanarOraiadottUtkozes = naplozasLogic.GetOsztalyEsTanarOraiUtkozes();
|
||||
|
||||
var tevekenysegUtkozes = systemSettingsHelper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles);
|
||||
|
||||
switch ((TevekenysegUtkozesEnum)tevekenysegUtkozes)
|
||||
{
|
||||
case TevekenysegUtkozesEnum.UtkozesNemLehetseges: /*Ütközés nem lehetséges*/
|
||||
if (!string.IsNullOrWhiteSpace(osztalyVagyTanarOraiadottUtkozes))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiatt, osztalyVagyTanarOraiadottUtkozes));
|
||||
}
|
||||
|
||||
break;
|
||||
case TevekenysegUtkozesEnum.UtkozeskorFigyelmeztetes: /*Figyelmeztetés*/
|
||||
{
|
||||
if (utkozik && !string.IsNullOrWhiteSpace(osztalyVagyTanarOraiadottUtkozes))
|
||||
{
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiattKerdes, OrarendResource.Teremutkozes, OrarendResource.OraUtkozes, osztalyVagyTanarOraiadottUtkozes) });
|
||||
}
|
||||
|
||||
if (utkozik)
|
||||
{
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiattKerdes, OrarendResource.Teremutkozes, string.Empty, string.Empty) });
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(osztalyVagyTanarOraiadottUtkozes))
|
||||
{
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiattKerdes, string.Empty, OrarendResource.OraUtkozes, osztalyVagyTanarOraiadottUtkozes)/*A naplózandó óra időtartamába egy már naplózott óra, vagy órarendi óra is beleesik, szeretné folytatni?*/ });
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case TevekenysegUtkozesEnum.UtkozesMegengedett: /*Ütközés lehetséges, nem kell a napirend miatt szólni*/
|
||||
if (utkozik)
|
||||
{
|
||||
return Json(new { Valid = false, Text = StringResourcesUtil.GetString(4613)/*Terem ütközés lépett fel szeretné folytatni?*/ });
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Json(new { Valid = true, Text = "" });
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveNaplozas(TanoraNaplozasRogzites model, int? szervezetTipusId = null)
|
||||
{
|
||||
var startDate = model.TanoraMuveletek.CalendarModel.Start;
|
||||
model.TanoraAdatokRogzites.OraKezdete = new DateTime(startDate.Year, startDate.Month, startDate.Day, model.TanoraAdatokRogzites.OraKezdete.Hour, model.TanoraAdatokRogzites.OraKezdete.Minute, 0, DateTimeKind.Utc).ToLocalTime();
|
||||
|
||||
var endDdate = model.TanoraMuveletek.CalendarModel.End;
|
||||
model.TanoraAdatokRogzites.OraVege = new DateTime(endDdate.Year, endDdate.Month, endDdate.Day, model.TanoraAdatokRogzites.OraVege.Hour, model.TanoraAdatokRogzites.OraVege.Minute, 0, DateTimeKind.Utc).ToLocalTime();
|
||||
|
||||
NaplozasResultCo saveResult = null;
|
||||
if (!model.TanoraAdatokRogzites.IsMegtartott)
|
||||
{
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
var res = SaveNemMegtartottNaplozas(model, szervezetTipusId);
|
||||
return res;
|
||||
}
|
||||
|
||||
if (!model.TanoraMuveletek.IsTanoranKivuli)
|
||||
{
|
||||
if (model.TanoraMuveletek.CalendarModel.OraType == CalendarOraTypeEnum.TanitasiOra
|
||||
&& (!model.TanoraAdatokRogzites.CsengetesiRendID.HasValue || model.TanoraAdatokRogzites.CsengetesiRendID < 0))
|
||||
{
|
||||
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.TanoraAdatokRogzites.CsengetesiRendID = helper.GetAktivCsengetesiRendId();
|
||||
}
|
||||
|
||||
if (!model.TanoraAdatokRogzites.CsengetesiRendID.HasValue || model.TanoraAdatokRogzites.CsengetesiRendID < 0)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.TanoraAdatokRogzites.CsengetesiRendID), OrarendResource.CsengetesiRendMegadasaKotelezo);
|
||||
}
|
||||
|
||||
if (!model.TanoraAdatokRogzites.Oraszam.HasValue || model.TanoraAdatokRogzites.Oraszam < 0)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.TanoraAdatokRogzites.Oraszam), OrarendResource.OraszamMegadasaKotelezo);
|
||||
}
|
||||
|
||||
if (model.TanoraAdatokRogzites.Oraszam.HasValue && model.TanoraAdatokRogzites.CsengetesiRendID.HasValue)
|
||||
{
|
||||
var (minOraszam, maxOraszam) = Logic.OrarendiOraLogic.GetMinMaxOraszam(model.TanoraAdatokRogzites.CsengetesiRendID.Value);
|
||||
if (model.TanoraAdatokRogzites.Oraszam > maxOraszam || model.TanoraAdatokRogzites.Oraszam < minOraszam)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.TanoraAdatokRogzites.Oraszam), string.Format(OrarendResource.OraszamError, minOraszam.ToString(), maxOraszam.ToString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Logic.OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.TanoraMuveletek.CalendarModel.Start, model.TanoraMuveletek.CalendarModel.Start).TimeOfDay >=
|
||||
Logic.OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.TanoraMuveletek.CalendarModel.End, model.TanoraMuveletek.CalendarModel.End).TimeOfDay)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.TanoraAdatokRogzites.OraVege), ErrorResource.NapirendKezdetiIdopontjaNemLehetKesobbMintAZaroIdopont);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.MulasztasNaplozasRogzites.MulasztasList.Exists(x => x.MulasztasTipus == (int)MulasztasTipusEnum.keses && (x.Keses == null || x.Keses == 0)))
|
||||
{
|
||||
ModelState.AddModelError(string.Empty, ErrorResource.AKesesekHosszanakKitolteseKotelezo);
|
||||
}
|
||||
|
||||
if (!model.MulasztasNaplozasRogzites.TemaTanmenetId.HasValue || (model.MulasztasNaplozasRogzites.TemaTanmenetId == -1))
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(model.MulasztasNaplozasRogzites.Tema))
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.MulasztasNaplozasRogzites.Tema), ErrorResource.OraTemajanakKivalasztasaVagyATemaMegadasaKotelezo);
|
||||
}
|
||||
else if (model.MulasztasNaplozasRogzites.Tema.Length > 1000) /*db ben ez a max char jelenleg*/
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.MulasztasNaplozasRogzites.Tema), ErrorResource.TemaTulHosszu);
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.HaziFeladatNaplozasRogzites?.HaziFeladat) && model.HaziFeladatNaplozasRogzites?.Hatarido == null)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.HaziFeladatNaplozasRogzites.Hatarido), OrarendResource.HazifeladatHataridoKotelezo);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.HaziFeladatNaplozasRogzites?.HaziFeladat) && model.HaziFeladatNaplozasRogzites?.Hatarido != null)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.HaziFeladatNaplozasRogzites.HaziFeladat), OrarendResource.HazifeladatSzovegKotelezo);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.TanoraAdatokRogzites.Megjegyzes) && model.TanoraAdatokRogzites.Megjegyzes.Length > 255)
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.TanoraAdatokRogzites.Megjegyzes), ErrorResource.AMegjegyzesMax255KarakterLehet);
|
||||
}
|
||||
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var naploValidacioParameters = new NaploValidacioParameters(model.TanoraMuveletek.CalendarModel.Start, ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
var co = new NaplozasCo();
|
||||
model.ConvertTo(co, model.TanoraMuveletek.NaplozasDatum);
|
||||
co.SzervezetTipusId = szervezetTipusId;
|
||||
var naplozasLogic = new NaplozasLogic(validator, co);
|
||||
|
||||
if (IsNaplozhatZarastolFuggetlenul(naplozasLogic.GetModel.OraAdat.OraKezdete.Date, naplozasLogic.GetModel.OraAdat.OsztalyCsoportId))
|
||||
{
|
||||
var orarendiOraHelper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (model.TanoraAdatokRogzites.CsengetesiRendID.HasValue && !model.TanoraMuveletek.IsTanoranKivuli)
|
||||
{
|
||||
var csengrendOraId = orarendiOraHelper.GetCsengetesiRendOraId(model.TanoraAdatokRogzites.CsengetesiRendID.Value, model.TanoraAdatokRogzites.Oraszam.Value);
|
||||
if (!csengrendOraId.HasValue)
|
||||
{
|
||||
throw new KretaError(OrarendResource.CsengetesiRendhezNincsCsengetesiOra);
|
||||
}
|
||||
model.TanoraAdatokRogzites.CsengetesiRendOraId = csengrendOraId;
|
||||
}
|
||||
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
saveResult = naplozasLogic.SaveNaplozas(_fileServiceHelper, _coreApiClient);
|
||||
}
|
||||
}
|
||||
catch (KretaError ke)
|
||||
{
|
||||
ModelState.AddModelError(ErrorResource.Hiba, ke.Message);
|
||||
}
|
||||
catch (ValidationException ve)
|
||||
{
|
||||
ModelState.AddModelError(ErrorResource.Hiba, ve.Message);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
ClaimData.NemNaplozottTanorakCount = ClaimData.SetNemNaplozottTanorakCount();
|
||||
return Request.CreateResponse(HttpStatusCode.OK, new { saveResult.TanitasiOraId, saveResult.HazifeladatId, saveResult.DKTHiba });
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveNemMegtartottNaplozas(TanoraNaplozasRogzites model, int? szervezetTipusId = null)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var naploValidacioParameters = new NaploValidacioParameters(model.TanoraMuveletek.CalendarModel.Start, ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
|
||||
var co = new NaplozasCo();
|
||||
model.ConvertTo(co, model.TanoraMuveletek.NaplozasDatum);
|
||||
var naplozasLogic = new NaplozasLogic(validator, co);
|
||||
|
||||
if (IsNaplozhatZarastolFuggetlenul(naplozasLogic.GetModel.OraAdat.OraKezdete.Date, naplozasLogic.GetModel.OraAdat.OsztalyCsoportId))
|
||||
{
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
naplozasLogic.SaveNemMegtartottNaplozas(_fileServiceHelper, _coreApiClient);
|
||||
}
|
||||
|
||||
ClaimData.NemNaplozottTanorakCount = ClaimData.SetNemNaplozottTanorakCount();
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public IHttpActionResult DeleteTanora(TanoraMuveletek pram, int? szervezetTipusId = null)
|
||||
{
|
||||
if (!Authorization.IsValidTanitasiOra(pram.CalendarModel.EventId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.NaplozasTorlese(pram.CalendarModel.EventId, true);
|
||||
|
||||
ClaimData.NemNaplozottTanorakCount = ClaimData.SetNemNaplozottTanorakCount();
|
||||
return Json(new { Title = CommonResource.Siker, Text = CommonResource.SikeresTorles });
|
||||
}
|
||||
catch (KretaError e)
|
||||
{
|
||||
return Json(new { Title = CommonResource.BiztosanTorli, Text = e.Message, TanoraId = pram.CalendarModel.EventId });
|
||||
}
|
||||
catch (KretaMissingTanoraException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message) { UnHandledException = e };
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsNaplozhatZarastolFuggetlenul(DateTime date, int? osztalyId)
|
||||
{
|
||||
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
return naplozarasLogic.IsNaplozhatZarastolFuggetlenul(date, osztalyId);
|
||||
}
|
||||
|
||||
public int GetNemNaplozottTanorakCount()
|
||||
{
|
||||
return ClaimData.NemNaplozottTanorakCount;
|
||||
}
|
||||
|
||||
|
||||
private bool IsTeremBefogadokepessegeKissebbMintAzOsztalyCsoportLetszama(SystemSettingsHelper systemSettingsHelper, TeremHelper teremHelper, int? teremId, int mulasztasokSzama)
|
||||
{
|
||||
if (teremId.HasValue) //Terem befogadóképesség ellenőrzése kell
|
||||
{
|
||||
var naplozasTeremBefogadokepesseg = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Naplozas_terem_befogadokepesseg);
|
||||
|
||||
if (naplozasTeremBefogadokepesseg)
|
||||
{
|
||||
var teremKapacitas = teremHelper.GetTeremKapacitasById(teremId.Value);
|
||||
|
||||
if (teremKapacitas < mulasztasokSzama)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminOsztalyOrarendApiController : BaseAdminOsztalyOrarendApiController
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminTanariOrarendApiController : BaseAdminTanariOrarendApiController
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminTeremOrarendApiController : BaseAdminTeremOrarendApiController
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
using System;
|
||||
using System.Net.Http;
|
||||
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.Mulasztas;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisTanariOrarendApiController : BaseTanariOrarendApiController
|
||||
{
|
||||
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
private readonly IFileServiceHelper _fileServiceHelper;
|
||||
private readonly ICoreApiClient _coreApiClient;
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
public int? SzervezetId => IsDualisKepzesEnabled ? (int)SzervezetTipusEnum.Dualis : (int?)null;
|
||||
|
||||
public DualisTanariOrarendApiController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(authorization, fileServiceHelper, coreApiClient)
|
||||
{
|
||||
Authorization = authorization;
|
||||
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
_coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokForDetail(int osztalycsoportId, int tanoraId, DateTime oraKezdete, DateTime oraVege, int targyId, int tanarId, bool hianyzokAutoKitoltes, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return new MulasztasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasok(osztalycsoportId, tanoraId, oraKezdete, oraVege, targyId, tanarId, hianyzokAutoKitoltes, IsDualisKepzesEnabled ? SzervezetTipusEnum.Dualis : (SzervezetTipusEnum?)null).ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult ValidateNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return ValidateNaplozas(model, SzervezetId);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return SaveNaplozas(model, SzervezetId);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNemMegtartottNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return SaveNemMegtartottNaplozas(model, SzervezetId);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteTanora(TanoraMuveletek pram)
|
||||
{
|
||||
return DeleteTanora(pram, SzervezetId);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,262 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class HazifeladatokListajaApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public HazifeladatokListajaApiController(IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
public DataSourceResult GetHazifeladatokListajaGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList, isEmptyCoList) = GetGridData(data, request);
|
||||
|
||||
if (isEmptyCoList)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList, _) = GetGridData(data, request, General.MaxHazifeladatSzovegHossz);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<HazifeladatokListajaGridModel>(HazifeladatokListajaGridModel.HazifeladatExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.HazifeladatExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{OrarendResource.HazifeladatExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<HazifeladatokListajaGridModel> modelList, bool isEmptyCoList) GetGridData(string data, DataSourceRequest request, int? maxHazifeladatSzovegHossz = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<HazifeladatokListajaSrcModel>(data);
|
||||
|
||||
var osztalyCsoportIds = new List<int>();
|
||||
var isEmptyCoList = false;
|
||||
if ((model.HazifeladatokListajaTipus == HazifeladatokListajaTipusEnum.Csopvez || model.HazifeladatokListajaTipus == HazifeladatokListajaTipusEnum.Ofo)
|
||||
&& !model.OsztalyCsoportIdSrc.HasValue)
|
||||
{
|
||||
switch (model.HazifeladatokListajaTipus)
|
||||
{
|
||||
case HazifeladatokListajaTipusEnum.Csopvez:
|
||||
osztalyCsoportIds.AddRange(new ComboBoxHelperApiController().GetCsoportVezListWithTanoraiCeluak().Content.Select(i => int.Parse(i.Value)));
|
||||
break;
|
||||
case HazifeladatokListajaTipusEnum.Ofo:
|
||||
osztalyCsoportIds.AddRange(new ComboBoxHelperApiController().GetTanitottOsztalyokList().Content.Select(i => int.Parse(i.Value)));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!osztalyCsoportIds.Any())
|
||||
{
|
||||
isEmptyCoList = true;
|
||||
}
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = isEmptyCoList ? new List<HaziFeladatItemCo>() : new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHazifeladatCoList(model.ToCo(osztalyCsoportIds), maxHazifeladatSzovegHossz);
|
||||
|
||||
var modelList = new List<HazifeladatokListajaGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new HazifeladatokListajaGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList, isEmptyCoList);
|
||||
}
|
||||
|
||||
public DataSourceResult GetFeladatokListajaGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList, isEmptyCoList) = GetFeladatokGridData(data, request);
|
||||
|
||||
if (isEmptyCoList)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetFeladatokListajaExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList, _) = GetFeladatokGridData(data, request, General.MaxHazifeladatSzovegHossz);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FeladatokListajaGridModel>(FeladatokListajaGridModel.HazifeladatExportAttributeId);
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.FeladatokListajaExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OrarendResource.FeladatokListaja_export);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<HazifeladatokListajaGridModel> modelList, bool isEmptyCoList) GetFeladatokGridData(string data, DataSourceRequest request, int? maxHazifeladatSzovegHossz = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<FeladatokListajaSrcModel>(data);
|
||||
|
||||
var osztalyCsoportIds = new List<int>();
|
||||
var isEmptyCoList = false;
|
||||
if ((model.HazifeladatokListajaTipus == HazifeladatokListajaTipusEnum.Csopvez || model.HazifeladatokListajaTipus == HazifeladatokListajaTipusEnum.Ofo)
|
||||
&& !model.OsztalyCsoportIdSrc.HasValue)
|
||||
{
|
||||
switch (model.HazifeladatokListajaTipus)
|
||||
{
|
||||
case HazifeladatokListajaTipusEnum.Csopvez:
|
||||
osztalyCsoportIds.AddRange(new ComboBoxHelperApiController().GetCsoportVezListWithTanoraiCeluak().Content.Select(i => int.Parse(i.Value)));
|
||||
break;
|
||||
case HazifeladatokListajaTipusEnum.Ofo:
|
||||
osztalyCsoportIds.AddRange(new ComboBoxHelperApiController().GetTanitottOsztalyokList().Content.Select(i => int.Parse(i.Value)));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!osztalyCsoportIds.Any())
|
||||
{
|
||||
isEmptyCoList = true;
|
||||
}
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = isEmptyCoList ? new List<HaziFeladatItemCo>() : new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHazifeladatCoList(model.ToCo(osztalyCsoportIds), maxHazifeladatSzovegHossz);
|
||||
|
||||
var modelList = new List<HazifeladatokListajaGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new HazifeladatokListajaGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList, isEmptyCoList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveHF(HazifeladatBevitelModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var hazi = new TanarHaziFeladatCO
|
||||
{
|
||||
Id = model.Id,
|
||||
OsztalyCsoportId = model.OsztalycsoportId,
|
||||
TantargyId = model.TantargyId,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
IsTanarRogzitette = true,
|
||||
Oraszam = model.Oraszam,
|
||||
TanitasiOraId = model.TanitasiOraId,
|
||||
FeladasDatuma = model.ErvenyessegKezdete,
|
||||
Hatarido = model.ErvenyessegVege.Value,
|
||||
Szoveg = CommonUtils.CreateLinksInText(model.Szoveg),
|
||||
IntezmenyId = ClaimData.IntezmenyId,
|
||||
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
CsatolmanyId = model.CsatolmanyId
|
||||
};
|
||||
|
||||
int? tanarId = null;
|
||||
if (model.OrarendiOraId.HasValue)
|
||||
{
|
||||
var orarendiOra = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.OrarendiOraId.Value);
|
||||
tanarId = orarendiOra.TanarId;
|
||||
hazi.Idopont = orarendiOra.OraKezdete;
|
||||
}
|
||||
else if (model.TanitasiOraId.HasValue)
|
||||
{
|
||||
var tanitasiOra = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanorakAdatok(model.TanitasiOraId.Value);
|
||||
tanarId = tanitasiOra.Tanar;
|
||||
hazi.Idopont = tanitasiOra.OraKezd;
|
||||
}
|
||||
else
|
||||
{
|
||||
tanarId = ClaimData.FelhasznaloId;
|
||||
}
|
||||
|
||||
new DktFeladatHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveOrUpdateTanarHaziFeladat(hazi, tanarId, fileServiceHelper, coreApiClient);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteHF([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteHazi(id, coreApiClient);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Areas.Tanar.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokFogadoorakApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetFogadooraGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<FogadooraSearchModel>(data);
|
||||
|
||||
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var gridParameters = Converter.GridParameter(request);
|
||||
|
||||
var ds = helper.GetFogadooraGondviselo(ClaimData.GondviseloId ?? -1, model.TanarIdSrc, model.TeremIdSrc, model.IdopontTolSrc, model.IdopontIgSrc, model.IdointervallumTolSrc, model.IdointervallumIgSrc, model.IsJelentkezheto);
|
||||
|
||||
var modelList = new List<InformaciokFogadoorakGridModel>();
|
||||
foreach (var row in ds.Tables[0].AsEnumerable())
|
||||
{
|
||||
modelList.Add(new InformaciokFogadoorakGridModel
|
||||
{
|
||||
ID = row.Field<int>("ID").ToString(),
|
||||
JelentkezesekKezeleseId = row.Field<int>("JelentkezesekKezeleseId"),
|
||||
IdopontGondviseloId = row.Field<int?>("IdopontGondviseloId"),
|
||||
IdopontStr = row.Field<string>("IdopontStr"),
|
||||
JelentkezesiHatarido = row.Field<DateTime?>("JelentkezesiHatarido"),
|
||||
Pedagogus = row.Field<string>("Pedagogus"),
|
||||
Terem = row.Field<string>("Terem"),
|
||||
FogadooraKezdete = row.Field<DateTime>("FogadooraKezdete"),
|
||||
FogadooraVege = row.Field<DateTime>("FogadooraVege"),
|
||||
JelentkezesAllapot = row.Field<int>("JelentkezesAllapot")
|
||||
});
|
||||
}
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameters);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetFogadooraIdopontok(int fogadooraId)
|
||||
{
|
||||
var ds = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFogadooraIdopontok(fogadooraId, ClaimData.GondviseloId.Value, FogadooraTipusEnum.Jelentkezheto);
|
||||
|
||||
List<ComboBoxListItem> dropdownListItems = new List<ComboBoxListItem>();
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
ComboBoxListItem sli = new ComboBoxListItem() { Text = row.Field<string>("Text"), Value = row.Field<int>("Value").ToString() };
|
||||
dropdownListItems.Add(sli);
|
||||
}
|
||||
|
||||
return Json(dropdownListItems);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Jelentkezes(int idopontId)
|
||||
{
|
||||
new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).FogadooraGondviseloJelentkezes(idopontId, ClaimData.GondviseloId.Value);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage Lemondas(int idopontGondviseloId)
|
||||
{
|
||||
new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).FogadooraGondviseloJelentkezesLemondas(idopontGondviseloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public int isSzabadIdopontByFogadooraIdopontId(int fogadooraIdopontId)
|
||||
{
|
||||
var result = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsSzabadIdopontByFogadooraIdopontId(fogadooraIdopontId);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
using System.Data;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokOrarendApiController : ApiController
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokTanorakApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTanitasiOraGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetDiakTanorai(ClaimData.FelhasznaloId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,146 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Exceptions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Ellenorzo.Dao.VN.FeltoltottFajl;
|
||||
using Kreta.Enums;
|
||||
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.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
|
||||
public class KepekListajaApiController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper FileServiceHelper;
|
||||
|
||||
public KepekListajaApiController(IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public DataSourceResult GetKepekListajaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
KepekListajaSearchModel model = JsonConvert.DeserializeObject<KepekListajaSearchModel>(data);
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType()) { GridParameters = Converter.GridParameter(request) };
|
||||
|
||||
var fileKereses = new FileKeresesRequestDao
|
||||
{
|
||||
DatumTol = model.DatumTol,
|
||||
DatumIg = model.DatumIg,
|
||||
FeladatKategoriaId = model.FeladatKategoriaId,
|
||||
FeladatEllatasiHelyId = model.FeladatEllatasiHelyId,
|
||||
FajlNeve = model.KepNeve,
|
||||
OsztalyCsoportId = model.OsztalyCsoportId,
|
||||
TanarHelyettesitoId = ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue) ? model.TanarHelyettesitoId : ClaimData.FelhasznaloId,
|
||||
TantargyId = model.TantargyId,
|
||||
FoglalkozasId = ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue) ? model.FoglalkozasId : null,
|
||||
OraFileTipusId = (int)OraFileTipusEnum.openboard,
|
||||
IsOnlineOra = model.IsOnlineOra
|
||||
};
|
||||
|
||||
DataSet kepek = helper.FileKereses(fileKereses);
|
||||
return kepek.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveKepData(KepekListajaGridModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!model.OraFileId.IsEntityId())
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletKozben);
|
||||
}
|
||||
|
||||
if (model.KepNeve == null)
|
||||
{
|
||||
ModelState.AddModelError("KepekListajaGridModel.KepNeve", ErrorResource.FileNevenekMegadasaKotelezo);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
|
||||
new OpenBoardHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveOraFileData(model.OraFileId.Value, model.KepNeve, model.Megjegyzes);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
catch (CannotBeInsertedException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteKep([FromBody] int oraFileId)
|
||||
{
|
||||
try
|
||||
{
|
||||
new OraFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), FileServiceHelper).DeleteOraFile(oraFileId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (CannotBeDeletedException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteSelectedKep(List<int> selectedOraFileIdList)
|
||||
{
|
||||
string errorMsg = string.Empty;
|
||||
var counter = 0;
|
||||
|
||||
var oraFileHelper = new OraFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), FileServiceHelper);
|
||||
|
||||
foreach (var oraFileId in selectedOraFileIdList)
|
||||
{
|
||||
try
|
||||
{
|
||||
oraFileHelper.DeleteOraFile(oraFileId);
|
||||
counter++;
|
||||
}
|
||||
catch (CannotBeDeletedException ex)
|
||||
{
|
||||
errorMsg += $"{ex.Message}{Environment.NewLine}";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(errorMsg))
|
||||
{
|
||||
return Json(new { Message = string.Format(ErrorResource.NSorTorlesSikeres, counter) });
|
||||
}
|
||||
|
||||
if (counter > 0)
|
||||
{
|
||||
errorMsg += Environment.NewLine + string.Format(ErrorResource.NSorTorlesSikeres, counter);
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class OrarendekTorleseApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage FelhelyOrarendekTorlese(FelhelyOrarendTorleseParameterModel model)
|
||||
{
|
||||
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
|
||||
|
||||
if (!ValidateBaseModel(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.KivalasztottFelhelyekIds))
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.KivalasztottFelhelyekIds), OrarendekTorleseResource.LegalabbEgyFeladatellatasiHelyKivalasztasaKotelezo);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var orarendekTorleseCo = model.ConvertToCo();
|
||||
var excelFiles = orarendTorleseHelper.OrarendekTorlese(orarendekTorleseCo);
|
||||
var base64ZipResult = CreateBase64ZipResult(excelFiles);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, base64ZipResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage CsoportOrarendekTorlese(CsoportOrarendTorleseModel model)
|
||||
{
|
||||
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
|
||||
|
||||
if (!ValidateBaseModel(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.SelectedCsoportok))
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.SelectedCsoportok), OrarendekTorleseResource.LegalabbEgyCsoportKivalasztasaKotelezo);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var orarendekTorleseCo = model.ConvertToCo();
|
||||
var excelFiles = orarendTorleseHelper.OrarendekTorlese(orarendekTorleseCo);
|
||||
var base64ZipResult = CreateBase64ZipResult(excelFiles);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, base64ZipResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage OsztalyOrarendekTorlese(OsztalyOrarendTorleseModel model)
|
||||
{
|
||||
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
|
||||
|
||||
if (!ValidateBaseModel(model, out var errorDictionary))
|
||||
{
|
||||
ModelState.AddRange(errorDictionary);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.SelectedOsztalyok))
|
||||
{
|
||||
ModelState.AddModelError(nameof(model.SelectedOsztalyok), OrarendekTorleseResource.LegalabbEgyOsztalyKivalasztasaKotelezo);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var orarendekTorleseCo = model.ConvertToCo();
|
||||
var excelFiles = orarendTorleseHelper.OrarendekTorlese(orarendekTorleseCo);
|
||||
var base64ZipResult = CreateBase64ZipResult(excelFiles);
|
||||
|
||||
return Request.CreateResponse(HttpStatusCode.OK, base64ZipResult);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
private bool ValidateBaseModel(BaseOrarendTorleseModel model, out Dictionary<string, List<string>> errorDictionary)
|
||||
{
|
||||
errorDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
if (model.KezdeteDatum.HasValue && model.VegeDatum.HasValue && model.KezdeteDatum > model.VegeDatum)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.KezdeteDatum), OrarendekTorleseResource.IntervallumKezdeteNemLehetNagyobbMintVege);
|
||||
}
|
||||
|
||||
if (model.KezdeteDatum.HasValue && model.KezdeteDatum < model.MinDatum)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.KezdeteDatum), OrarendekTorleseResource.IntervallumKezdeteNemLehetKisebbMintTanevKezdete);
|
||||
}
|
||||
|
||||
if (model.VegeDatum.HasValue && model.VegeDatum > model.MaxDatum)
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.VegeDatum), OrarendekTorleseResource.IntervallumVegeNemLehetNagyobbMintTanevVege);
|
||||
}
|
||||
|
||||
if (!Enum.TryParse(model.OraTipus, out OrarendekTorleseNezetTipusEnum _))
|
||||
{
|
||||
AddErrorMessage(errorDictionary, nameof(model.OraTipus), OrarendekTorleseResource.OraTipusNemMegfelelo);
|
||||
}
|
||||
|
||||
return !errorDictionary.Any();
|
||||
}
|
||||
|
||||
private void AddErrorMessage(Dictionary<string, List<string>> errorDictionary, string key, string message)
|
||||
{
|
||||
if (!errorDictionary.TryGetValue(key, out var messages))
|
||||
{
|
||||
messages = new List<string>();
|
||||
errorDictionary.Add(key, messages);
|
||||
}
|
||||
messages.Add(message);
|
||||
}
|
||||
|
||||
private string CreateBase64ZipResult(List<(string FileName, MemoryStream FileStream)> excelFiles)
|
||||
{
|
||||
string result = null;
|
||||
if (excelFiles.Any())
|
||||
{
|
||||
using (var outputStream = new MemoryStream())
|
||||
{
|
||||
using (var zipOutputStream = new ZipOutputStream(outputStream))
|
||||
{
|
||||
var buffer = new byte[4096];
|
||||
foreach (var (FileName, FileStream) in excelFiles)
|
||||
{
|
||||
var entry = new ZipEntry(FileName);
|
||||
zipOutputStream.PutNextEntry(entry);
|
||||
|
||||
int sourceBytes;
|
||||
do
|
||||
{
|
||||
sourceBytes = FileStream.Read(buffer, 0, buffer.Length);
|
||||
zipOutputStream.Write(buffer, 0, sourceBytes);
|
||||
} while (sourceBytes > 0);
|
||||
}
|
||||
|
||||
zipOutputStream.Finish();
|
||||
outputStream.Position = 0;
|
||||
|
||||
result = Convert.ToBase64String(outputStream.ToArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,177 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class SzamonkeresElorejelzesApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiRolePackageAuthorize(
|
||||
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
|
||||
KretaClaimPackages.Osztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Adminisztrator.ClaimValue,
|
||||
KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue,
|
||||
KretaClaimPackages.Naplo.ClaimValue
|
||||
)]
|
||||
public DataSourceResult GetSzamonkeresElorejelzesDetailGrid(int oraGroupId, int osztalyCsoportId, DateTime datum, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
|
||||
SzamonkeresElorejelzesSearchCO co = new SzamonkeresElorejelzesSearchCO
|
||||
{
|
||||
OraGroupId = oraGroupId,
|
||||
Datum = datum,
|
||||
OsztalyCsoportId = osztalyCsoportId
|
||||
};
|
||||
|
||||
var ds = helper.GetSzamonkeresElorejelzesDetailDataSet(co, isKellKapcsolodoOsztalyok: true);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult GetModListAndComboItemColor(int? OraGroupId, int? OsztalyCsoportId, DateTime? Datum)
|
||||
{
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var szamonkeresModIdList = helper.GetModListAndComboItemColorNapiLimithez(OraGroupId, Datum, OsztalyCsoportId, out string backgroundColor);
|
||||
|
||||
return Json(new { ErtekelesModList = szamonkeresModIdList, color = backgroundColor });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult ValidateSzamonkeresElorejelzes(SzamonkeresElorejelzesModel model)
|
||||
{
|
||||
var szKLogic = new SzamonkeresElorejelzesLogic();
|
||||
int limit = szKLogic.GetNapiSzamonkeresiLimit;
|
||||
List<int> ertekelesModokLimithez = szKLogic.GetModokListNapiLimithez;
|
||||
|
||||
if (model.ErtekelesModId != null && ertekelesModokLimithez.Contains(model.ErtekelesModId.Value) &&
|
||||
limit > 0 && ertekelesModokLimithez.Count > 0 && szKLogic.SzamonkeresLimitFigyelmeztetes < 3)
|
||||
{
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
SzamonkeresElorejelzesSearchCO co = new SzamonkeresElorejelzesSearchCO
|
||||
{
|
||||
OraGroupId = model.OraGroupId,
|
||||
Datum = model.Datum,
|
||||
NapiSzamonkeresLimit = limit,
|
||||
OsztalyCsoportId = model.OsztalyCsoportId,
|
||||
ErtekelesModokLimithez = ertekelesModokLimithez
|
||||
};
|
||||
|
||||
var ds = helper.GetTanulokSzamonkeresElorejelzesei(co);
|
||||
|
||||
switch (szKLogic.SzamonkeresLimitFigyelmeztetes)
|
||||
{
|
||||
case 1:
|
||||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
string msg = string.Format(OrarendResource.FelvitelNemLehetsegesLimit0Miatt, limit) + "<br>";
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
msg += SDAConvert.ToString(row["Nev"]) + " - " + SDAConvert.ToString(row["OsztalyNev"]) + " (" + SDAConvert.ToString(row["SzamonkeresekSzama"]) + ") " + "<br>";
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.BadRequest, msg);
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
string msg = string.Format(OrarendResource.FelvitelNemLehetsegesLimit0MiattKerdes, limit) + "<br>" + "<br>";
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
msg += SDAConvert.ToString(row["Nev"]) + " - " + SDAConvert.ToString(row["OsztalyNev"]) + " (" + SDAConvert.ToString(row["SzamonkeresekSzama"]) + ") " + "<br>";
|
||||
}
|
||||
|
||||
return Json(new { Valid = false, Text = msg });
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Json(new { Valid = true, Text = "" });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveSzamonkeresElorejelzes(SzamonkeresElorejelzesModel model)
|
||||
{
|
||||
ModelState.Merge(model.Validate());
|
||||
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
SzamonkeresElorejelzesSearchCO co = new SzamonkeresElorejelzesSearchCO
|
||||
{
|
||||
OraGroupId = model.OraGroupId,
|
||||
DatumTol = model.Datum,
|
||||
DatumIg = model.Datum.Value.AddDays(1),
|
||||
OsztalyCsoportId = model.OsztalyCsoportId
|
||||
};
|
||||
|
||||
var ds = helper.GetBejelentettSzamonkeresekGrid(co);
|
||||
|
||||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.DuplikaltSzamonkeresElorejelzes);
|
||||
}
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
helper.SaveSzamonkeresElorejelzes(model.ToCo(), ClaimData.FelhasznaloId);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteSzamonkeresElorejelzes(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new SzamonkeresElorejelzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
helper.DeleteSzamonkeresElorejelzes(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaATorlesSoran);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
[ApiRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
|
||||
public class TanarOralatogatasApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveOralatogatas(OralatogatasModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
if (!model.OralatogatasID.HasValue && model.TanarId != ClaimData.FelhasznaloId
|
||||
&& helper.OralatogatasUtkozes(ClaimData.FelhasznaloId, model.OraID.Value, out string errorMessage))
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMessage);
|
||||
}
|
||||
|
||||
OralatogatasokCO co = new OralatogatasokCO()
|
||||
{
|
||||
LatogatoID = ClaimData.FelhasznaloId,
|
||||
Megjegyzes = model.OralatogatasSzovege,
|
||||
Date = model.OralatogatasDatuma,
|
||||
Ora = model.OraID.Value,
|
||||
Id = model.OralatogatasID ?? -1,
|
||||
NemKotottMunkaidos = model.NemKotottMunkaidos
|
||||
};
|
||||
|
||||
if (new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(Enums.RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa))
|
||||
{
|
||||
co.NemKotottMunkaidos = false;
|
||||
}
|
||||
|
||||
helper.SaveOralatogatas(co);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteOralatogatas(int id)
|
||||
{
|
||||
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.DeleteOralatogatas(id, ClaimData.FelhasznaloId);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> 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 Json(lista.ToComboBoxItemList().Where(x => !felhasznalokOnlyAlkalmazottSzerepkorIds.Contains(SDAConvert.ToInt32(x.Value))).ToList());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,773 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Mulasztas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
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.Linq;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class TanariOrarendApiController : BaseTanariOrarendApiController
|
||||
{
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
private readonly IFileServiceHelper _fileServiceHelper;
|
||||
private readonly ICoreApiClient _coreApiClient;
|
||||
|
||||
public TanariOrarendApiController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient) : base(authorization, fileServiceHelper, coreApiClient)
|
||||
{
|
||||
Authorization = authorization;
|
||||
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
_coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return base.SaveNaplozas(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNemMegtartottNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return base.SaveNemMegtartottNaplozas(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult ValidateNaplozas(TanoraNaplozasRogzites model)
|
||||
{
|
||||
return base.ValidateNaplozas(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult UtkozesValidateNaplozas(TanoraIdBeallitasModel model)
|
||||
{
|
||||
model.calendarModel.Start = model.calendarModel.Start.ToLocalTime();
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var naploValidacioParameters = new NaploValidacioParameters(model.calendarModel.Start, connectionType, ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
|
||||
NaplozasElokeszitesLogic naplozasLogic;
|
||||
if (model.calendarModel.EventType == EventTypeEnum.UjEgyediOraFelvitel ||
|
||||
(model.calendarModel.EventType == EventTypeEnum.UjOraFelvitele && (model.calendarModel.OraType == CalendarOraTypeEnum.UresOra ||
|
||||
model.calendarModel.OraType == CalendarOraTypeEnum.Egyeb)))
|
||||
{
|
||||
var co = new EgyediNaplozasElokeszitesCo();
|
||||
model.ConvertTo(co);
|
||||
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
}
|
||||
else
|
||||
{
|
||||
var co = new NaplozasElokeszitesCo();
|
||||
model.calendarModel.ConvertTo(co);
|
||||
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
}
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
var tevekenysegUtkozes = systemSettingsHelper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles);
|
||||
|
||||
var osztalyVagyTanarOraiadottUtkozes = TanevRendjeLogic.IsEgyediNapByDate(model.calendarModel.Start.Date) ? "" : naplozasLogic.GetOsztalyEsTanarOraiUtkozes();
|
||||
switch ((TevekenysegUtkozesEnum)tevekenysegUtkozes)
|
||||
{
|
||||
case TevekenysegUtkozesEnum.UtkozesNemLehetseges:
|
||||
if (!string.IsNullOrWhiteSpace(osztalyVagyTanarOraiadottUtkozes))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiatt, osztalyVagyTanarOraiadottUtkozes));
|
||||
}
|
||||
break;
|
||||
case TevekenysegUtkozesEnum.UtkozeskorFigyelmeztetes:
|
||||
if (!string.IsNullOrWhiteSpace(osztalyVagyTanarOraiadottUtkozes))
|
||||
{
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.TanoraFelviteleNemLehetsegesUtkozesMiattKerdes, string.Empty, string.Empty, osztalyVagyTanarOraiadottUtkozes) });
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return Json(new { Valid = true, Text = "" });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveNemKotottMunkaIdo(NemKotottMunkaidoModel model)
|
||||
{
|
||||
model.isMegtartott = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
model.Kezdet = Logic.OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Kezdet.Value);
|
||||
model.Veg = Logic.OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Veg.Value);
|
||||
|
||||
var customModelState = Logic.NemKotottMunkaidoLogic.CheckCustomValidation(ModelState, model);
|
||||
if (!customModelState.IsValid)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, customModelState);
|
||||
}
|
||||
|
||||
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var co = Logic.NemKotottMunkaidoLogic.ConvertModelToCO(model);
|
||||
if (model.Id.IsEntityId())
|
||||
{
|
||||
helper.Update(co);
|
||||
}
|
||||
else
|
||||
{
|
||||
co.GroupId = Guid.NewGuid().ToString();
|
||||
helper.Insert(co);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteNemKotottMunkaIdo(int Id, bool isGlobal)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidNemKotottMunkaido(Id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
helper.Delete(Id, isAdmin: false, isGlobal);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (KretaError ke)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ke.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTanarAltalNemKotottMunkaIdo(int Id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidNemKotottMunkaido(Id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
helper.DeleteTanarAltal(Id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (KretaError ke)
|
||||
{
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ke.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult UtkozesValidateNemKotottMunkaido(NemKotottMunkaidoModel model)
|
||||
{
|
||||
var hasUtkozes = Logic.NemKotottMunkaidoLogic.CheckUtkozesValidation(model);
|
||||
int tevekenysegutkozesSystemSetting = Logic.NemKotottMunkaidoLogic.GetTevekenysegUtkozesSystemSetting();
|
||||
|
||||
if (tevekenysegutkozesSystemSetting != (int)TevekenysegUtkozesEnum.UtkozesMegengedett && hasUtkozes)
|
||||
{
|
||||
if (tevekenysegutkozesSystemSetting == (int)TevekenysegUtkozesEnum.UtkozesNemLehetseges)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.NemKotottMunkaidoFelviteleNemLehetsegesUtkozesMiatt);
|
||||
}
|
||||
|
||||
return Json(new { Valid = false, Text = string.Format(OrarendResource.NemKotottMunkaidoFelviteleNemLehetsegesUtkozesMiattKerdes) });
|
||||
}
|
||||
return Json(new { Valid = true, Text = string.Empty });
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokForInfo(int osztalycsoportId, int tanoraId, DateTime oraKezdete, DateTime oraVege, int targyId, int tanarId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return new MulasztasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasok(osztalycsoportId, tanoraId, oraKezdete, oraVege, targyId, tanarId, false).ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokForDetail(int osztalycsoportId, int tanoraId, DateTime oraKezdete, DateTime oraVege, int targyId, int tanarId, bool hianyzokAutoKitoltes, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return new MulasztasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasok(osztalycsoportId, tanoraId, oraKezdete, oraVege, targyId, tanarId, hianyzokAutoKitoltes).ToDataSourceResult();
|
||||
}
|
||||
|
||||
public string GetTanarokNeve(string id)
|
||||
{
|
||||
return int.TryParse(id, out int fID) && fID.IsEntityId()
|
||||
? new FoglalkozasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarokTanoranKivuliFoglalkozashoz(fID)
|
||||
: string.Empty;
|
||||
}
|
||||
|
||||
public bool IsTanevRendEsemenyNemKotottMunkaido(CalendarModel model)
|
||||
{
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
return helper.GetVanTanevRendjeEsemenyNemKotottMunkaido(model.Start, model.End);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public DateTime GetNaplozarasDate(CalendarModel model)
|
||||
{
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
return helper.GetNaplozarasDate(model.Start).ToUniversalTime();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public JObject GetNaploZarasInfo(CalendarModel model)
|
||||
{
|
||||
var naplozarasDate = GetNaplozarasDate(model);
|
||||
bool csakErtekelesZarasa = new NaplozarasLogic(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsCsakErtekelesZarasaBeallitas();
|
||||
JObject json = JObject.FromObject(new { NaplozarasDate = naplozarasDate, CsakErtekelesZarasa = csakErtekelesZarasa });
|
||||
return json;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public int GetCsengetesiRend(CalendarModel model)
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
return helper.GetTanitasiCsengetesiRendOraIdja(model.EventId);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetHelyettesitesTipus(string osszevonas = null)
|
||||
{
|
||||
var data = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value, false);
|
||||
|
||||
if (osszevonas != ((int)HelyettesitesTipusEnum.oraosszevonas).ToString())
|
||||
{
|
||||
data.Remove(((int)HelyettesitesTipusEnum.oraosszevonas).ToString());
|
||||
}
|
||||
|
||||
return Json(data.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetHelyettesitesTipusOsszevonassal()
|
||||
{
|
||||
var data = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HelyettesitesTipus, ClaimData.SelectedTanevID.Value, false);
|
||||
|
||||
return Json(data.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetHelyettesitoTanarok()
|
||||
{
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var data = helper.GetTanarNevek(string.Empty, oktatasiAzonositoval: true);
|
||||
data.Remove(ClaimData.FelhasznaloId.ToString());
|
||||
|
||||
return Json(data.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<GroupComboBoxListItem>> GetTanoranKivuliFoglalkozasok(DateTime? datum = null, bool? isForOrarend = null, bool? filterNincsBeloleOra = false, int? hanyadikOra = null)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(ClaimData.FelhasznaloId, filterNincsBeloleOra ?? false, datum, isForOrarend, hanyadikOra);
|
||||
}
|
||||
|
||||
public JsonResult<List<GroupComboBoxListItem>> GetTanoranKivuliFoglalkozasok(int filterId, bool filterNincsBeloleOra = false, DateTime? datum = null, bool? isForOrarend = null, int? hanyadikOra = null)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new TantargyFelosztasHelper(connectionType);
|
||||
|
||||
var foglalkozasok = helper.GetFoglalkozasok(filterId, filterNincsBeloleOra: filterNincsBeloleOra);
|
||||
var list = foglalkozasok.Tables[0].AsEnumerable();
|
||||
|
||||
if (isForOrarend.HasValue && isForOrarend.Value && datum.HasValue && hanyadikOra.HasValue)
|
||||
{
|
||||
var osztalyCsoportIds = new CsengetesiRendHelper(connectionType).GetOsztalyCsoportIdsForCsengetesiRend(datum.Value, hanyadikOra.Value, list.Select(x => x.Field<int>("OsztalyCsoportId")));
|
||||
|
||||
list = list.Where(x => osztalyCsoportIds.Contains(x.Field<int>("OsztalyCsoportId")));
|
||||
}
|
||||
|
||||
var filteredList = list.Select(dataRow => new ComboBoxListItem
|
||||
{
|
||||
Value = dataRow.Field<int>("ID").ToString() + " - " + dataRow.Field<int>("OsztalyCsoportId").ToString(),
|
||||
Text = dataRow.Field<string>("Tantargy") + " - " + dataRow.Field<string>("OsztalyCsoportNev"),
|
||||
GroupName = dataRow.Field<string>("IsOsztalyOrOsztalyJelleguCsoport") == "T" ? StringResourcesUtil.GetString(4808) /*Tanórai célú csoportok*/ : StringResourcesUtil.GetString(4809) /*Tanórán kívüli csoportok*/
|
||||
}).ToList();
|
||||
|
||||
return Json(ComboBoxHelper.ConvertDataToGroup(filteredList));
|
||||
}
|
||||
|
||||
public JsonResult<List<GroupComboBoxListItem>> GetNapirendTanoranKivuliFoglalkozasok(int filterId, DateTime? datum = null, bool? isForOrarend = null, int? hanyadikOra = null)
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
var helper = new TantargyFelosztasHelper(connectionType);
|
||||
|
||||
var foglalkozasok = helper.GetFoglalkozasok(filterId);
|
||||
var list = foglalkozasok.Tables[0].AsEnumerable();
|
||||
|
||||
if (isForOrarend.HasValue && isForOrarend.Value && datum.HasValue && hanyadikOra.HasValue)
|
||||
{
|
||||
var osztalyCsoportIds = new CsengetesiRendHelper(connectionType).GetOsztalyCsoportIdsForCsengetesiRend(datum.Value, hanyadikOra.Value, list.Select(x => x.Field<int>("OsztalyCsoportId")));
|
||||
|
||||
list = list.Where(x => osztalyCsoportIds.Contains(x.Field<int>("OsztalyCsoportId")));
|
||||
}
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
var csakOsztalyEsTanoraJelleguCsoport = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Foglalkozasnal_csak_osztaly_es_tanora_jellegu_csoport_allithato);
|
||||
|
||||
if (csakOsztalyEsTanoraJelleguCsoport)
|
||||
{
|
||||
list = list.Where(x => x.Field<string>("IsOsztalyOrOsztalyJelleguCsoport") == "T");
|
||||
}
|
||||
|
||||
var filteredList = list.Select(dataRow => new ComboBoxListItem
|
||||
{
|
||||
Value = dataRow.Field<int>("ID").ToString() + " - " + dataRow.Field<int>("OsztalyCsoportId").ToString(),
|
||||
Text = dataRow.Field<string>("Tantargy") + " - " + dataRow.Field<string>("OsztalyCsoportNev"),
|
||||
GroupName = dataRow.Field<string>("IsOsztalyOrOsztalyJelleguCsoport") == "T" ? StringResourcesUtil.GetString(4808) /*Tanórai célú csoportok*/ : StringResourcesUtil.GetString(4809) /*Tanórán kívüli csoportok*/
|
||||
}).ToList();
|
||||
|
||||
return Json(ComboBoxHelper.ConvertDataToGroup(filteredList));
|
||||
}
|
||||
|
||||
public JsonResult<List<GroupComboBoxListItem>> GetTanoranKivuliFoglalkozasokOsztalyList()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csakOsztalyEsTanoraJelleguCsoport = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Foglalkozasnal_csak_osztaly_es_tanora_jellegu_csoport_allithato);
|
||||
|
||||
var ocsHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var ds = ocsHelper.GetOsztalyCsoportokTanoranKivuliFoglalkozasokhozWithGroup(csakOsztalyEsTanoraJelleguCsoport);
|
||||
|
||||
var result = new List<ComboBoxListItem>();
|
||||
foreach (DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
var item = new ComboBoxListItem();
|
||||
item.Value = dr["ID"].ToString();
|
||||
item.Text = dr["OsztalyCsoport"].ToString();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(SDAConvert.ToString(dr["CsoportTipusa_DNAME"])))
|
||||
{
|
||||
item.GroupName = dr["CsoportTipusa_DNAME"].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
item.GroupName = "";
|
||||
}
|
||||
result.Add(item);
|
||||
}
|
||||
|
||||
return Json(ComboBoxHelper.ConvertDataToGroup(result));
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTantargyak([DataSourceRequest] DataSourceRequest request, bool filterNincsBeloleOra = false)
|
||||
{
|
||||
var helper = new TantargyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var dictionary = helper.GetTantargyakForDDL(filterNincsBeloleOra: filterNincsBeloleOra, isSzakkepzo: ClaimData.IsSzakkepzoIntezmeny);
|
||||
var dropdownListItems = new List<ComboBoxListItem>();
|
||||
|
||||
foreach (var item in dictionary)
|
||||
{
|
||||
var sli = new ComboBoxListItem() { Text = item.Value, Value = item.Key };
|
||||
dropdownListItems.Add(sli);
|
||||
}
|
||||
return Json(dropdownListItems);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetErtekelesTipus()
|
||||
{
|
||||
return Json(FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErtekelesMod, ClaimData.SelectedTanevID.Value, true).ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTema(int osztcsop, int targy)
|
||||
{
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var list = helper.GetTemaIdAndNameForNaplozasDDL(targy, osztcsop).ToComboBoxItemList();
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
public JsonResult<DataTable> CheckTanarOra(CalendarModel model)
|
||||
{
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var data = helper.CheckTanarOra(model.Start, model.End, model.HelyettesitoId.Value, model.Hanyadikora, isNapirend: false, isEgyediHelyettesites: false);
|
||||
return Json(data.Tables[0]);
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public JsonResult<List<ComboBoxListItem>> GetTorvenyKategoriaList()
|
||||
{
|
||||
var dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TevekenysegTipus, ClaimData.SelectedTanevID.Value);
|
||||
List<ComboBoxListItem> list = new List<ComboBoxListItem>();
|
||||
|
||||
foreach (var item in dictionary)
|
||||
{
|
||||
ComboBoxListItem ci = new ComboBoxListItem() { Text = item.Value, Value = item.Key };
|
||||
list.Add(ci);
|
||||
}
|
||||
|
||||
return Json(list);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTanarList()
|
||||
{
|
||||
return Json(GetTanarDictionary().ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public List<System.Web.Mvc.SelectListItem> GetTanarListItems()
|
||||
{
|
||||
return GetTanarDictionary().ToSelectListItemList();
|
||||
}
|
||||
|
||||
private static IDictionary<string, string> GetTanarDictionary()
|
||||
{
|
||||
IDictionary<string, string> list;
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
list = helper.GetTanarok(string.Empty, oktatasiAzonositoval: false);
|
||||
|
||||
list.Remove("");
|
||||
return list;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public IHttpActionResult DeleteTanora(TanoraMuveletek pram)
|
||||
{
|
||||
return base.DeleteTanora(pram);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
/// TODO: (DevKornél) string resx-ből
|
||||
/// TODO: (DevKornél) pram rename
|
||||
public IHttpActionResult OraOsszevonasDelete(TanoraMuveletek pram)
|
||||
{
|
||||
try
|
||||
{
|
||||
LicenceHelper.LicenceWait(ClaimData.LicenceDatum);
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.NaplozasTorlese(pram.CalendarModel.EventId);
|
||||
|
||||
return Json(new { Title = StringResourcesUtil.GetString(366) /*Siker*/, Text = StringResourcesUtil.GetString(3211) /*Sikeres törlés*/});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(3212) /*Törlés sikertelen*/)
|
||||
{
|
||||
UnHandledException = ex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsTanitasiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isTanitasiNap = tanevrendHelper.IsTanitasiNap(date, null);
|
||||
|
||||
return isTanitasiNap;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public int GetOsztalyCsoportTerem(int? osztalyCsoportId)
|
||||
{
|
||||
if (osztalyCsoportId > 0)
|
||||
{
|
||||
return new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportTeremId(osztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public int GetTeremByFoglalkozas(int? foglalkozasId)
|
||||
{
|
||||
if (foglalkozasId > 0)
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
return helper.GetTeremByFoglalkozas(foglalkozasId.Value);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool IsOrarendiNap(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isOrarendiNap = tanevrendHelper.IsOrarendiNap(date, null);
|
||||
|
||||
return isOrarendiNap;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public bool EnabledNemKotottMunkaidoRogzitese(DateTime date)
|
||||
{
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var enabledNemKotottMunkaidoRogzitese = tanevrendHelper.EnabledNemKotottMunkaidoRogzitese(date);
|
||||
|
||||
return enabledNemKotottMunkaidoRogzitese;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveHaziFeladat(TanoraNaplozasRogzites model)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(model.HaziFeladatNaplozasRogzites.HaziFeladat) && !model.HaziFeladatNaplozasRogzites.Hatarido.HasValue && model.HaziFeladatNaplozasRogzites.Id.HasValue)
|
||||
{
|
||||
new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteHazi(model.HaziFeladatNaplozasRogzites.Id.Value, _coreApiClient);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.HaziFeladatNaplozasRogzites.HaziFeladat))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.AHaziFeladatSzovegeNemLehetUres);
|
||||
}
|
||||
if (!model.HaziFeladatNaplozasRogzites.Hatarido.HasValue)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.HataridoMegadasaKotelezo);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var orarendiOra = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.TanoraMuveletek.CalendarModel.EventId);
|
||||
var co = new BusinessLogic.HelperClasses.TanarHaziFeladatCO
|
||||
{
|
||||
Id = model.HaziFeladatNaplozasRogzites.Id,
|
||||
Szoveg = CommonUtils.CreateLinksInText(model.HaziFeladatNaplozasRogzites.HaziFeladat),
|
||||
TanitasiOraId = null,
|
||||
TantargyId = orarendiOra.TantargyId,
|
||||
FeladasDatuma = model.TanoraMuveletek.CalendarModel.Start.Date,
|
||||
Hatarido = model.HaziFeladatNaplozasRogzites.Hatarido.Value,
|
||||
HelyettesitoId = model.TanoraMuveletek.CalendarModel.HelyettesitoId,
|
||||
IsTanarRogzitette = true,
|
||||
OrarendiOraId = model.TanoraMuveletek.CalendarModel.EventId,
|
||||
Oraszam = model.TanoraMuveletek.CalendarModel.Hanyadikora,
|
||||
Idopont = model.TanoraAdatokRogzites.OraKezdete,
|
||||
OsztalyCsoportId = orarendiOra.OsztalyCsoportId,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
IntezmenyId = ClaimData.IntezmenyId,
|
||||
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
CsatolmanyId = model.HaziFeladatNaplozasRogzites.CsatolmanyId
|
||||
};
|
||||
var hfId = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveOrUpdateTanarHaziFeladat(co, orarendiOra.TanarId, _fileServiceHelper, _coreApiClient);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, new { HazifeladatId = hfId });
|
||||
}
|
||||
catch { throw; }
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveHaziFeladatFromDetail(HaziFeladatNaplozas model)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(model.HaziFeladat) && !model.Hatarido.HasValue && model.Id.HasValue)
|
||||
{
|
||||
new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).DeleteHazi(model.Id.Value, _coreApiClient);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(model.HaziFeladat))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.AHaziFeladatSzovegeNemLehetUres);
|
||||
}
|
||||
if (!model.Hatarido.HasValue)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.HataridoMegadasaKotelezo);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
BusinessLogic.HelperClasses.TanarHaziFeladatCO co;
|
||||
int? tanarId;
|
||||
if (!model.IsElmaradt)
|
||||
{
|
||||
var orarendiOra = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOrarendiOraById(model.OrarendiOraId.Value);
|
||||
tanarId = orarendiOra.TanarId;
|
||||
co = new BusinessLogic.HelperClasses.TanarHaziFeladatCO
|
||||
{
|
||||
Id = model.Id,
|
||||
Szoveg = CommonUtils.CreateLinksInText(model.HaziFeladat),
|
||||
TanitasiOraId = null,
|
||||
TantargyId = orarendiOra.TantargyId,
|
||||
FeladasDatuma = model.NapDatuma.Value,
|
||||
Hatarido = model.Hatarido.Value,
|
||||
HelyettesitoId = null,
|
||||
IsTanarRogzitette = true,
|
||||
OrarendiOraId = model.OrarendiOraId,
|
||||
Oraszam = orarendiOra.Oraszam,
|
||||
Idopont = orarendiOra.OraKezdete,
|
||||
OsztalyCsoportId = orarendiOra.OsztalyCsoportId,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
IntezmenyId = ClaimData.IntezmenyId,
|
||||
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
CsatolmanyId = model.CsatolmanyId
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
var tanora = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanorakAdatok(model.TanitasiOraId.Value);
|
||||
tanarId = tanora.Tanar;
|
||||
co = new BusinessLogic.HelperClasses.TanarHaziFeladatCO
|
||||
{
|
||||
Id = model.Id,
|
||||
Szoveg = CommonUtils.CreateLinksInText(model.HaziFeladat),
|
||||
TanitasiOraId = model.TanitasiOraId,
|
||||
TantargyId = tanora.Targy,
|
||||
FeladasDatuma = model.NapDatuma.Value,
|
||||
Hatarido = model.Hatarido.Value,
|
||||
HelyettesitoId = null,
|
||||
IsTanarRogzitette = true,
|
||||
OrarendiOraId = null,
|
||||
Idopont = tanora.OraKezd,
|
||||
OsztalyCsoportId = tanora.OsztCsop,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
IntezmenyId = ClaimData.IntezmenyId,
|
||||
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
TanevId = ClaimData.SelectedTanevID.Value,
|
||||
CsatolmanyId = model.CsatolmanyId
|
||||
};
|
||||
}
|
||||
|
||||
var hfId = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).SaveOrUpdateTanarHaziFeladat(co, tanarId, _fileServiceHelper, _coreApiClient);
|
||||
return Request.CreateResponse(HttpStatusCode.OK, new { HazifeladatId = hfId });
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public JsonResult<CheckFoglalkozasRogzithetoResult> CheckFoglalkozasRogzitheto(DateTime calendarStartDate)
|
||||
{
|
||||
var localCalendarstartDate = calendarStartDate.ToLocalTime();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var isOrarendiNap = tanevrendHelper.IsOrarendiNap(localCalendarstartDate, osztalycsoportId: null);
|
||||
var isTanitasiNap = tanevrendHelper.IsTanitasiNap(localCalendarstartDate, osztalycsoportId: null);
|
||||
|
||||
var naplozaras = orarendHelper.GetNaplozarasDate(localCalendarstartDate);
|
||||
var isCsakErtekelesZarasa = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).IsCsakErtekelesZarasaBeallitas();
|
||||
var isNaplozaras = naplozaras >= localCalendarstartDate;
|
||||
|
||||
var isNapirendMegnyithato = IsNapirendMegnyithato();
|
||||
|
||||
var result = new CheckFoglalkozasRogzithetoResult
|
||||
{
|
||||
IsOrarendiNap = isOrarendiNap,
|
||||
IsTanitasiNap = isTanitasiNap,
|
||||
IsNaplozaras = isNaplozaras,
|
||||
IsCsakErtekelesZarasa = isCsakErtekelesZarasa,
|
||||
IsNapirendMegnyithato = isNapirendMegnyithato
|
||||
};
|
||||
return Json(result);
|
||||
}
|
||||
|
||||
private bool IsNapirendMegnyithato()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
return !systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Pedagogusok_csak_az_eloirt_helyettesiteseiket_regisztralhatjak_a_haladasi_naploban) ||
|
||||
systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanar_vehet_e_fel_orat_maganak) ||
|
||||
systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lehet_orat_felvenni_TTF_nelkul);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult<OraCO> GetCsengetesiRendEsOrak(CsengetesiRendOraszamaModel csengetesiRend)
|
||||
{
|
||||
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var data = helper.GetCsengetesiRendEsOrak(csengetesiRend.AktualisCsengetesiRendId, csengetesiRend.AktualisOraSzam).Tables[0].Rows;
|
||||
|
||||
var ora = new OraCO
|
||||
{
|
||||
Kezdete = data.Count > 0 ? data[0].Field<DateTime>("Kezdete").TimeOfDay : TimeSpan.Zero,
|
||||
Vege = data.Count > 0 ? data[0].Field<DateTime>("Vege").TimeOfDay : TimeSpan.Zero
|
||||
};
|
||||
|
||||
return Json(ora);
|
||||
}
|
||||
|
||||
public bool IsHelyettesitesTulora(KeziHelyettesitesIsTuloraModel cm)
|
||||
{
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var ds = helper.CheckTanarOra(SDAConvert.ToDateTime(cm.Start).Value, SDAConvert.ToDateTime(cm.End).Value, SDAConvert.ToInt32(cm.HelyettesitettId), SDAConvert.ToNullableInt32(cm.Hanyadikora), SDAConvert.ToBoolean(cm.UseFoglakozas), true);
|
||||
|
||||
if (ds != null && ds.Tables.Count > 0)
|
||||
{
|
||||
var szuksegesSorok = ds.Tables[0].AsEnumerable().ToList();
|
||||
if (szuksegesSorok.Count == 1 && szuksegesSorok[0].Field<string>("C_TULORA") == "T")
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public class KeziHelyettesitesIsTuloraModel
|
||||
{
|
||||
public int HelyettesitettId { get; set; }
|
||||
public DateTime Start { get; set; }
|
||||
public DateTime End { get; set; }
|
||||
public int Hanyadikora { get; set; }
|
||||
public bool UseFoglakozas { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Client.CoreApi;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
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.Orarend.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanoraKeresoApiController : ApiController
|
||||
{
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private readonly ICoreApiClient coreApiClient;
|
||||
|
||||
public TanoraKeresoApiController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper, ICoreApiClient coreApiClient)
|
||||
{
|
||||
Authorization = authorization;
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
this.coreApiClient = coreApiClient ?? throw new ArgumentNullException(nameof(coreApiClient));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public DataSourceResult GetTanitasiOraGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request.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<TanitasiOraGridModel>(TanitasiOraGridModel.TanoraExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(OrarendResource.Tanorak, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), OrarendResource.ExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<TanitasiOraGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanitasiOraSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanitasiOraCoList(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
var modelList = new List<TanitasiOraGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new TanitasiOraGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public bool DeleteTanora(int tanoraId)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanoraCO tanora;
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
tanora = helper.GetTanorakAdatok(tanoraId);
|
||||
|
||||
var calendarModel = new CalendarModel();
|
||||
calendarModel.Start = tanora.OraKezd;
|
||||
calendarModel.End = tanora.OraVeg;
|
||||
calendarModel.EventId = tanoraId;
|
||||
calendarModel.EventType = EventTypeEnum.LetezoOraSzerkesztese;
|
||||
calendarModel.AllDay = false;
|
||||
calendarModel.EventColor = string.Empty;
|
||||
calendarModel.OraType = CalendarOraTypeEnum.TanitasiOra;
|
||||
calendarModel.HelyettesitesId = tanora.HelyettesitesId;
|
||||
calendarModel.HelyettesitoId = tanora.Helyettesito;
|
||||
calendarModel.UseFoglakozas = tanora.Fogl.HasValue;
|
||||
calendarModel.isHelyettesites = tanora.Helyettesito.HasValue;
|
||||
calendarModel.IsOraOsszevonas = tanora.HelyettesitesTipus == (int)HelyettesitesTipusEnum.oraosszevonas;
|
||||
calendarModel.Tema = tanora.Tema;
|
||||
|
||||
if (!tanora.Tanar.HasValue)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
|
||||
}
|
||||
|
||||
var muveletPram = new TanoraMuveletek(tanora.Tanar.Value, calendarModel);
|
||||
|
||||
using (var tanariOrarend = new TanariOrarendApiController(Authorization, fileServiceHelper, coreApiClient))
|
||||
{
|
||||
tanariOrarend.DeleteTanora(muveletPram);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetCsoportTipusList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
var dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.CsoportTipus, ClaimData.SelectedTanevID.Value, false);
|
||||
return Json(dictionary.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetFoglalkozasList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
var foglalkozasHelper = new FoglalkozasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var dictionary = foglalkozasHelper.GetOsszesFoglalkozas();
|
||||
return Json(dictionary.ToComboBoxItemList());
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTantargyList([DataSourceRequest] DataSourceRequest request)
|
||||
{
|
||||
var helper = new TantargyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var dictionary = helper.GetTantargyakForDDL(isSzakkepzo: ClaimData.IsSzakkepzoIntezmeny);
|
||||
return Json(dictionary.ToComboBoxItemList());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminBejelentettSzamonkeresekController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new BejelentettSzamonkeresekSearchModel();
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminKepekListajaController : Controller
|
||||
{
|
||||
private readonly IFileServiceHelper FileServiceHelper;
|
||||
private IFeatureContext FeatureContext { get; set; }
|
||||
|
||||
public AdminKepekListajaController(IFeatureContext featureContext, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View("~/Areas/Orarend/Views/KepekListaja/Index.cshtml", new KepekListajaSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro });
|
||||
}
|
||||
|
||||
public ActionResult OpenKepInfoPopUp(int oraFileId)
|
||||
{
|
||||
return View(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenKepInfo(oraFileId, FileServiceHelper));
|
||||
}
|
||||
|
||||
public string DownloadSelectedKep(List<int> selectedOraFileIdList)
|
||||
{
|
||||
Guid guid = KepekListajaLogic.DownloadSelectedKep(selectedOraFileIdList, FileServiceHelper);
|
||||
return Url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = "képek.zip", contentType = Constants.ImportExport.ContentType, area = "" });
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminKozpontiOrakController : Controller
|
||||
{
|
||||
// GET: Orarend/AdminKozpontiOrak
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new KozpontiOraModel();
|
||||
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = helper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = helper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
var comboBoxHelperController = new ComboBoxHelperApiController();
|
||||
|
||||
model.Tanarok = comboBoxHelperController.GetTanarDropDown().ToJson();
|
||||
model.Tantargyak = comboBoxHelperController.GetTantargyDropDown(filterNincsBeloleOra: true).ToJson();
|
||||
model.Termek = comboBoxHelperController.GetTeremListWithoutGroupDropDown().ToJson();
|
||||
|
||||
model.TabList = GetKozpontiOraTabs();
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult OpenSelectPopUp()
|
||||
{
|
||||
var model = new PopUpModel(new object(), "Select_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "KozpontiOra.selectPopUpWindowCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenDetailsGrid(AdminKozpontiOrakOsztalyokGridModel model)
|
||||
{
|
||||
return PartialView("DetailGrid", model);
|
||||
}
|
||||
|
||||
public ActionResult OpenModositasPopUp(DateTime start, DateTime end, int hanyadikOra)
|
||||
{
|
||||
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "Modositas_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "KozpontiOra.modositasPopUpWindowCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenOrarendiOrakTorleseKozpontilagPopUp(DateTime start, DateTime end, int hanyadikOra)
|
||||
{
|
||||
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakTorleseKozpontilag_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "KozpontiOra.deleteOrarendiOrakKozpontilagPopUpWindowCancel");
|
||||
model.AddBtn(model, "torlesBtn", CommonResource.Torles, "KozpontiOra.OrarendOrakTorleseKozpontilag");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenOrarendiOrakVisszaallitasaPopUp(DateTime start, DateTime end, int hanyadikOra)
|
||||
{
|
||||
var model = new PopUpModel(new AdminKozpontiOrakSearchModel { Start = start, End = end, HanyadikOra = hanyadikOra }, "OrarendiOrakVisszaallitasa_PopUp");
|
||||
|
||||
model.AddBtn(model, "megseBtn", KozpontiOrakResource.KilepesVisszaallitasNelkul, "KozpontiOra.OrarendiOrakVisszaallitasaPopUpWindowCancel");
|
||||
model.AddBtn(model, "torlesBtn", KozpontiOrakResource.KijeloltOrakVisszaallitasa, "KozpontiOra.OrarendOrakVisszaallitasa");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
|
||||
public ActionResult OpenCreate(TanoraAdatok model)
|
||||
{
|
||||
var rogzitesModel = AdminKozpontiOrakRogzitesModel.MapFromTanoraAdatok(model);
|
||||
|
||||
return PartialView("Create", rogzitesModel);
|
||||
}
|
||||
|
||||
public ActionResult OpenUtkozoOrak(DateTime start, DateTime end, int hanyadikora, List<AdminKozpontiOrakRogzitesSelectedModel> list)
|
||||
{
|
||||
var searchModel = new AdminKozpontiOrakSearchModel
|
||||
{
|
||||
Start = start.ToLocalTime(),
|
||||
End = end.ToLocalTime(),
|
||||
HanyadikOra = hanyadikora,
|
||||
KozpontiOrakList = list
|
||||
};
|
||||
|
||||
return PartialView("UtkozoOrarendiOrak", searchModel);
|
||||
}
|
||||
|
||||
public ActionResult OpenCreateTanoraAdatok(AdminKozpontiOrakRogzitesModel model)
|
||||
{
|
||||
var tanoraAdataiModel = TanoraAdatok.MapFromKozpontiOrakRogzitesModel(model);
|
||||
tanoraAdataiModel.Sorszamozando = true;
|
||||
|
||||
return PartialView("CreateTanoraAdatok", tanoraAdataiModel);
|
||||
}
|
||||
|
||||
public ActionResult GetKozpontiOra(int index = 0)
|
||||
{
|
||||
var model = new KozpontiOraCalendarModel
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
|
||||
return View("KozpontiOra_Tab", model);
|
||||
}
|
||||
|
||||
private List<TabStripItemModel> GetKozpontiOraTabs()
|
||||
{
|
||||
return new List<TabStripItemModel>
|
||||
{
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = KozpontiOrakResource.KozpontiOraKezelese,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminKozpontiOrak",
|
||||
Action = "GetKozpontiOra",
|
||||
RouteParameters = new Dictionary<string, string> {
|
||||
{ "index", "0"}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,248 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNaploEllenorzesController : BaseNaploTanariOrarendController
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public AdminNaploEllenorzesController(IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new TanariOrarendModelKeresheto();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.IsNemKellNemKotott = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
|
||||
var fogadooraMegjelenik = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese) && !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue);
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
model.TanorakServiceAction = "GetAdminNaploEllenorzesTanorakOrarendiOrak";
|
||||
model.TanoranKivuliFoglalkozasokServiceAction = "GetAdminNaploEllenorzesTanoranKivuliFoglalkozasok";
|
||||
model.NemKotottMunkaidoServiceAction = "GetAdminNaploEllenorzesNemKotottMunkaido";
|
||||
model.FogadoorakServiceAction = "GetAdminNaploEllenorzesFogadoora";
|
||||
|
||||
model.TanorakCalendarClickJSFunction = "AdminNaploEllenorzesHelper.TanorakCalendarClickEvent";
|
||||
model.TanoranKivuliFoglalkozasokCalendarClickJSFunction = "AdminNaploEllenorzesHelper.FoglalkozasokCalendarClickEvent";
|
||||
model.NemKotottMunkaidoCalendarClickJSFunction = "AdminNaploEllenorzesHelper.NemKotottCalendarClickEvent";
|
||||
model.FogadooraCalendarClickJSFunction = "AdminNaploEllenorzesHelper.FogadooraCalendarClickEvent";
|
||||
|
||||
model.TanoranKivuliFoglalkozasokCalendarSelectJSFunction = model.NemKotottMunkaidoCalendarSelectJSFunction = model.FogadooraCalendarSelectJSFunction = "undefined";
|
||||
|
||||
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.LezartOsztalyokEsOsztalybontottCsoportokIdList = naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik();
|
||||
|
||||
model.RendkivuliTanitasiNapok = tanevHelper.GetTanevRendkivuliNapok();
|
||||
model.IsShowRogzitottOrak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_megjelenitese);
|
||||
|
||||
#region Calendar megjelenítés
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
#endregion Calendar megjelenítés
|
||||
|
||||
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
|
||||
model.TabList = GetTanariOrarendTabs(fogadooraMegjelenik);
|
||||
|
||||
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
ViewBag.fogadooraStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.fogadooraEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult AdminNaploEllenorzesEvent(CalendarModel calendarModel)
|
||||
{
|
||||
try
|
||||
{
|
||||
var tbm = new TanoraIdBeallitasModel() { calendarModel = calendarModel };
|
||||
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
|
||||
var tanarSorszamozhat = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ora_sorszamozasat_naplozo_pedagogus_eldontheti);
|
||||
var elmaradtTanitasiOraRogzitesenekTiltasa = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
|
||||
|
||||
var naploValidacioParameters = new NaploValidacioParameters(calendarModel.Start, ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
|
||||
var co = new NaplozasElokeszitesCo();
|
||||
calendarModel.ConvertTo(co);
|
||||
var naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, calendarModel);
|
||||
|
||||
var model = new TanoraNaplozasTabok();
|
||||
|
||||
var pm = new PopUpModel(model, "NaploEllenorzes");
|
||||
model.TabList = GetDetailTabs(naplozasLogic, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
|
||||
model.TanoraMuveletek = muveletPram;
|
||||
|
||||
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
|
||||
|
||||
if ((calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanitasiOra
|
||||
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
|
||||
&& naplozasLogic.GetModel.IsElmaradtOra)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = "deleteNaplozas", Text = Resources.OrarendResource.NaplozasiAdatokTorlese, EventName = "AdminNaploEllenorzesHelper.deleteNaplozasConfirm" });
|
||||
}
|
||||
|
||||
if (calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.OrarendiOra
|
||||
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliFoglalkozas
|
||||
|| calendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.TanoranKivuliTevekenyseg)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = "updateNemMegtartott", Text = Resources.OrarendResource.NemMegtartottOra, EventName = "AdminNaploEllenorzesHelper.updateNemMegtartottConfirm" });
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public ActionResult AdminNaploEllenorzesNemKotottMunkaidoEvent(CalendarModel calendarModel)
|
||||
{
|
||||
var co = new NaplozasElokeszitesCo();
|
||||
calendarModel.ConvertTo(co);
|
||||
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, calendarModel);
|
||||
|
||||
var model = new TanoraNaplozasTabok();
|
||||
|
||||
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var coNkm = helper.GetNemKotottMunkaidoById(calendarModel.EventId);
|
||||
|
||||
var pm = new PopUpModel(model, "NaploEllenorzes");
|
||||
model.TabList = new List<TabStripItemModel> {
|
||||
new TabStripItemModel {
|
||||
ItemId = "1",
|
||||
ItemName = "Adatok",
|
||||
PartialViewName = "NaploEllenorzesNemKotottMunkaido_Tab",
|
||||
Model = NemKotottMunkaidoLogic.ConvertModelFromCo(coNkm),
|
||||
IsActive = true
|
||||
}
|
||||
};
|
||||
model.TanoraMuveletek = muveletPram;
|
||||
|
||||
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult AdminNaploEllenorzesFogadooraEvent(CalendarModel calendarModel)
|
||||
{
|
||||
var fm = new FogadooraModel();
|
||||
var isModosithatoFogadoora = false;
|
||||
|
||||
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var fogadooraCo = helper.GetFogadooraById(calendarModel.EventId);
|
||||
fm.Id = fogadooraCo.Id;
|
||||
fm.FogadoOraDatuma = fogadooraCo.FogadoOraKezdete.Date;
|
||||
fm.FogadoOraKezdete = fogadooraCo.FogadoOraKezdete;
|
||||
fm.FogadoOraVege = fogadooraCo.FogadoOraVege;
|
||||
fm.Rendszeresseg = fogadooraCo.Rendszeresseg;
|
||||
fm.TeremId = fogadooraCo.TeremId;
|
||||
fm.JelentkezesekKezelese = (int)FogadooraTipusEnum.Jelentkezheto == fogadooraCo.FogadooraTipusEnumId || (int)FogadooraTipusEnum.JelentkezhetoDarabolt == fogadooraCo.FogadooraTipusEnumId;
|
||||
fm.IsIdosavraOsztas = fogadooraCo.IsIdosavraOsztas;
|
||||
fm.EgysegnyiIdopontok = fogadooraCo.EgysegnyiIdopontok;
|
||||
fm.SelectedOsztalyCsoportIdList = fogadooraCo.SelectedOsztalyCsoportIdList;
|
||||
fm.RendszeresFogadooraElsoDatuma = fogadooraCo.FogadoOraKezdete;
|
||||
fm.RendszeresFogadooraUtolsoDatuma = fogadooraCo.FogadoOraVege;
|
||||
fm.IsEgyAlkalomModosul = false;
|
||||
fm.IsCalendar = true;
|
||||
fm.IsFaliujsagonMegjelenjen = fogadooraCo.IsFaliujsagonMegjelenjen;
|
||||
fm.IsRendszeressegModosithato = false;
|
||||
fm.FaliujsagErvenyessegKezdete = fogadooraCo.FaliujsagErvenyessegKezdete;
|
||||
fm.FaliujsagErvenyessegVege = fogadooraCo.FaliujsagErvenyessegVege;
|
||||
|
||||
fm.TanevUtolsoNapja = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().UtolsoTanitasiNap;
|
||||
|
||||
var jelentkezettGvDs = helper.GetJelentkezettGondviseloCntByFogadooraId(calendarModel.EventId);
|
||||
if (jelentkezettGvDs.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
fm.VanGvJelentkezes = true;
|
||||
}
|
||||
|
||||
if (!isModosithatoFogadoora)
|
||||
{
|
||||
fm.TeremNev = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremNev(fogadooraCo.TeremId);
|
||||
}
|
||||
|
||||
var rendszeressegDictionary = EnumExtensions.EnumToDictionary<FogadooraRendszeressegEnum>(ClaimData.SelectedTanevID.Value);
|
||||
fm.RendszeressegText = rendszeressegDictionary.First(x => x.Key == fogadooraCo.Rendszeresseg.ToString()).Value;
|
||||
|
||||
var pm = new PopUpModel(fm, "~/Areas/Orarend/Views/TanariOrarend/Fogadoora_Details.cshtml");
|
||||
pm.AddCancelBtn(pm, "AdminNaploEllenorzesHelper.windowCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
private List<TabStripItemModel> GetDetailTabs(NaplozasElokeszitesLogic logic, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>();
|
||||
var naplozasModel = new TanoraNaplozas(fileServiceHelper);
|
||||
naplozasModel.Fill(logic.GetModel, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = StringResourcesUtil.GetString(3804) /*Naplózás*/,
|
||||
PartialViewName = "NaploEllenorzesMulasztas_Tab",
|
||||
Model = naplozasModel.Mulasztas,
|
||||
IsActive = true
|
||||
});
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "5",
|
||||
ItemName = StringResourcesUtil.GetString(1922) /*Tanóra adatai*/,
|
||||
PartialViewName = "NaploEllenorzesTanora_Tab",
|
||||
Model = naplozasModel.TanoraAdatai,
|
||||
IsActive = false
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNemElerhetoOrarendiElemekController : Controller
|
||||
{
|
||||
// GET: Orarend/AdminNemElerhetoOrarendiElemek
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult OpenOrarendiOraInfoPopUp(int orarendiOraId)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
OrarendiOraCO orarendiOraCO = orarendiOraHelper.GetOrarendiOraById(orarendiOraId);
|
||||
|
||||
OrarendiOraModel orarendiOraModel = new OrarendiOraModel
|
||||
{
|
||||
OraErvenyessegKezdete = orarendiOraCO.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = orarendiOraCO.OraErvenyessegVege,
|
||||
OraErvenyessegKezdeteSzoveg = orarendiOraCO.OraErvenyessegKezdete.ToShortDateString(),
|
||||
OraErvenyessegVegeSzoveg = orarendiOraCO.OraErvenyessegVege.ToShortDateString(),
|
||||
HetNapjaSzoveg = orarendiOraCO.HetNapjaNev,
|
||||
Hetirend = orarendiOraCO.HetirendNev,
|
||||
FoglalkozasNev = orarendiOraCO.FoglalkozasNev,
|
||||
OsztalyCsoportNev = orarendiOraCO.OsztalyCsoportNev,
|
||||
TantargyNev = orarendiOraCO.TantargyNev,
|
||||
TanarNev = orarendiOraCO.TanarNev,
|
||||
TeremNev = orarendiOraCO.TeremNev,
|
||||
OraKezdete = orarendiOraCO.OraKezdete,
|
||||
OraVege = orarendiOraCO.OraVege,
|
||||
CsengetesiRendNev = orarendiOraCO.CsengetesiRendNev,
|
||||
OraKezdeteSzoveg = orarendiOraCO.OraKezdete.ToString("HH:mm"),
|
||||
OraVegeSzoveg = orarendiOraCO.OraVege.ToString("HH:mm"),
|
||||
};
|
||||
|
||||
var model = new PopUpModel(orarendiOraModel, "Info_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "AdminNemElerhetoOrarendiElemKeresoHelper.orarendiOraInfoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminNemNaplozottTanorakController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new NemNaplozottTanorakSearchModel();
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.ApiControllers;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminOsztalyOrarendController : BaseAdminOsztalyOrarendController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new AdminOsztalyOrarendModel
|
||||
{
|
||||
TabList = GetAdminOrarendTabs()
|
||||
};
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, false);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, false);
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetAdminOrarendTabs()
|
||||
{
|
||||
var list = new List<TabStripItemModel> {
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = AdminisztracioResource.Tanorak,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminOsztalyOrarend",
|
||||
Action = "GetOrarendiOrak",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "0" }
|
||||
}
|
||||
},
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = AdminisztracioResource.Napirend,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminOsztalyOrarend",
|
||||
Action = "GetTanoranKivuliFoglalkozasok",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "1" }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,205 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminTanariOrarendController : BaseAdminTanariOrarendController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var nemKellNemKotott = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
|
||||
var model = new AdminTanariOrarendModel
|
||||
{
|
||||
TabList = GetAdminOrarendTabs(nemKellNemKotott)
|
||||
};
|
||||
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(Kreta.Enums.RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, false);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, false);
|
||||
}
|
||||
|
||||
public ActionResult GetNemKotottMunkaido(int index = 2)
|
||||
{
|
||||
var model = new TanariOrarendNemKotottMunkaidoModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
|
||||
return View("NemKotottMunkaido_Tab", model);
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetAdminOrarendTabs(bool nemKellNemKotott)
|
||||
{
|
||||
var list = new List<TabStripItemModel> {
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = AdminisztracioResource.Tanorak,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminTanariOrarend",
|
||||
Action = "GetOrarendiOrak",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "0" }
|
||||
}
|
||||
},
|
||||
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = AdminisztracioResource.Napirend,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminTanariOrarend",
|
||||
Action = "GetTanoranKivuliFoglalkozasok",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "1" }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (!nemKellNemKotott)
|
||||
{
|
||||
list.Add(new TabStripItemModel
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = AdminisztracioResource.NemKotottMunkaido,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminTanariOrarend",
|
||||
Action = "GetNemKotottMunkaido",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "2" }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewNemKotottMunkaidoPopUp(CalendarModel model)
|
||||
{
|
||||
var nkmm = new NemKotottMunkaidoModel
|
||||
{
|
||||
Datum = model.Start.ToLocalTime().Date,
|
||||
Kezdet = model.Start.ToLocalTime(),
|
||||
Veg = model.End.ToLocalTime(),
|
||||
HetirendId = 1554 /*Minden héten*/
|
||||
};
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
|
||||
|
||||
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.newNemKotottMunkaidoCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "NemKotottMunkaido.EgyOraHozzaadasaSave");
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "NemKotottMunkaido.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "NemKotottMunkaido.EddigHetigSave");
|
||||
pm = pm.AddBtn(pm, "EgeszTanevreSave", OrarendResource.AddAllDay, "NemKotottMunkaido.EgeszTanevreSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult OpenModNemKotottMunkaidoPopUp(CalendarModel model)
|
||||
{
|
||||
var nkmm = GetModNemKotottMunkaidoModel(model);
|
||||
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.modNemKotottMunkaidoCancel");
|
||||
|
||||
if (!nkmm.isReadonly)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSaveDay", OrarendResource.ModSaveOneDay, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay", true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidosSaveFrom", OrarendResource.ModSaveFrom, "NemKotottMunkaido.modNemKotottMunkaidoSaveFrom", true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSaveTo", OrarendResource.ModSaveTo, "NemKotottMunkaido.modNemKotottMunkaidoSaveTo", true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", OrarendResource.ModAllSave, "NemKotottMunkaido.modNemKotottMunkaidoSave", true, "pull-left");
|
||||
|
||||
if (nkmm.TulajId == ClaimData.FelhasznaloId || SzerepkorTipusEnum.Adminisztrator == ClaimData.FelhasznaloSzerepkor)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDeleteDay", OrarendResource.DeleteOneDay, "NemKotottMunkaido.modNemKotottMunkaidoDeleteDayConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDeleteFrom", OrarendResource.DeleteFrom, "NemKotottMunkaido.modNemKotottMunkaidosDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidosDeleteTo", OrarendResource.DeleteTo, "NemKotottMunkaido.modNemKotottMunkaidoDeleteToConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDelete", OrarendResource.DeleteAll, "NemKotottMunkaido.modNemKotottMunkaidoDeleteConfirmWindow", "pull-left");
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
|
||||
private NemKotottMunkaidoModel GetModNemKotottMunkaidoModel(CalendarModel model)
|
||||
{
|
||||
NemKotottMunkaidoHelper helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var co = helper.GetNemKotottMunkaidoById(model.EventId);
|
||||
return NemKotottMunkaidoLogic.ConvertModelFromCo(co);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.ApiControllers;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class AdminTeremOrarendController : BaseAdminTeremOrarendController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new AdminTeremOrarendModel
|
||||
{
|
||||
TabList = GetAdminOrarendTabs()
|
||||
};
|
||||
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, false);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, false);
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetAdminOrarendTabs()
|
||||
{
|
||||
var list = new List<TabStripItemModel> {
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = AdminisztracioResource.Tanorak,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminOsztalyOrarend",
|
||||
Action = "GetOrarendiOrak",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "0" }
|
||||
}
|
||||
},
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = AdminisztracioResource.Napirend,
|
||||
Area = "Orarend",
|
||||
Controller = "AdminOsztalyOrarend",
|
||||
Action = "GetTanoranKivuliFoglalkozasok",
|
||||
RouteParameters = new Dictionary<string, string>
|
||||
{
|
||||
{ "index", "1" }
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,414 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.ApiControllers;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
public class BaseAdminOsztalyOrarendController : Controller
|
||||
{
|
||||
[NonAction]
|
||||
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new OrarendiOrakModel
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("OrarendiOrak_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("TanoranKivuliFoglalkozasok_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var ocsHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isMentor = ocsHelper.IsMentorCsoport(model.OsztalyId);
|
||||
if (model.CalendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
var ds = ocsHelper.GetOsztalyCsoportokWithGroup();
|
||||
var csoportTipusEnum = (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_;
|
||||
foreach (DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
if (int.Parse(dr["ID"].ToString()) == model.OsztalyId && !string.IsNullOrWhiteSpace(SDAConvert.ToString(dr["CsoportTipusa"])))
|
||||
{
|
||||
csoportTipusEnum = int.Parse(dr["CsoportTipusa"].ToString());
|
||||
}
|
||||
}
|
||||
|
||||
var csoportTipus = new AdatszotarHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsoportTipusList().SingleOrDefault(x => x.Id == csoportTipusEnum);
|
||||
var isOrarendiElemHosszAlapjan = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
|
||||
if (csoportTipus != null && csoportTipus.OraPerc.HasValue && (isOrarendiElemHosszAlapjan || isFromSzervezet || isMentor))
|
||||
{
|
||||
model.CalendarModel.End = model.CalendarModel.Start.AddMinutes(csoportTipus.OraPerc.Value);
|
||||
}
|
||||
}
|
||||
|
||||
var oom = GetNewOrarendiOraModel(model.CalendarModel, false, isFromSzervezet, isMentor: isMentor);
|
||||
oom.TTFModel.OsztalyID = model.OsztalyId;
|
||||
if (isMentor)
|
||||
{
|
||||
oom.TTFModel.TanarID = ocsHelper.GetCsoportByCsoportId(model.OsztalyId).CsoportvezetoId;
|
||||
}
|
||||
|
||||
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Osztaly", IsActive = true } };
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.CalendarModel.Start.Date, model.OsztalyId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
|
||||
}
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet);
|
||||
|
||||
var isEgyOra = oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date;
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
|
||||
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bármikor lehessen egy órát törölni
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (isEgyOra)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false, bool isMentor = false)
|
||||
{
|
||||
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet, isMentor: isMentor);
|
||||
|
||||
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Osztaly", IsActive = true } };
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
|
||||
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
|
||||
}
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet);
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public string GetOrarendiOraWindowTitle(CalendarModel model)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
int oraszam = api.GetOraszam(model.EventId, model.OraType);
|
||||
|
||||
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
|
||||
}
|
||||
|
||||
public string GetFoglalkozasWindowTitle(CalendarModel model)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false, bool isMentor = false)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
|
||||
OraKezdete = model.Start.ToLocalTime(),
|
||||
OraVege = model.End.ToLocalTime(),
|
||||
Sorszamozando = true,
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
|
||||
ErvenyessegiIdo = model.Start.ToLocalTime(),
|
||||
OraErvenyessegKezdete = model.Start,
|
||||
ValasztottDatum = model.Start,
|
||||
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
|
||||
CsengetesiRendOraID = model.EventId,
|
||||
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
|
||||
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
|
||||
};
|
||||
|
||||
if (!isTanoranKivuliFoglalkozas)
|
||||
{
|
||||
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
|
||||
}
|
||||
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
|
||||
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
oom.IsMentorOra = isMentor;
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = null
|
||||
};
|
||||
|
||||
var ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
|
||||
var tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
|
||||
|
||||
var tfco = new TantargyFelosztasCO
|
||||
{
|
||||
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
|
||||
TantargyID = ooco.TantargyId.Value
|
||||
};
|
||||
|
||||
var oom = ConvertCoToModel(ooco, tanarId, tfco);
|
||||
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
|
||||
oom.IsModification = true;
|
||||
oom.ModificationDate = model.Start;
|
||||
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
|
||||
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Osztaly.ToString(), isFromSzervezet);
|
||||
oom.OraKezdete = ooco.OraKezdete;
|
||||
oom.OraVege = ooco.OraVege;
|
||||
oom.ErvenyessegiIdo = model.Start;
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
oom.HetirendList = api.GetHetirendList();
|
||||
oom.OsztalyCsoportId = ooco.OsztalyCsoportId;
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
|
||||
{
|
||||
var model = new OrarendiOraModel
|
||||
{
|
||||
ID = ooco.ID,
|
||||
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
|
||||
CsengetesiRendID = ooco.CsengetesiRendID,
|
||||
HetirendID = ooco.Hetirend,
|
||||
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
|
||||
TeremID = ooco.TeremID,
|
||||
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = ooco.OraErvenyessegVege,
|
||||
Oraszam = ooco.Oraszam,
|
||||
Bontott = ooco.Bontott,
|
||||
Differencialt = ooco.Differencialt,
|
||||
Drama = ooco.Drama,
|
||||
HetNapja = ooco.HetNapja,
|
||||
IKTTanora = ooco.IKTTanora,
|
||||
IPRTanora = ooco.IPRTanora,
|
||||
Kooperativ = ooco.Kooperativ,
|
||||
Meres = ooco.Meres,
|
||||
MindennaposTestneveles = ooco.MindennaposTestneveles,
|
||||
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
|
||||
NemzetisegiOra = ooco.NemzetisegiOra,
|
||||
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
|
||||
OnlineOra = ooco.OnlineOra,
|
||||
ParhuzamosOra = ooco.ParhuzamosOra,
|
||||
Sorszamozando = ooco.Sorszamozando,
|
||||
TAMOPOra = ooco.TAMOPOra,
|
||||
KIPOra = ooco.KIPOra,
|
||||
VEKOP73317 = ooco.VEKOP73317,
|
||||
KAPOra = ooco.KAPOra,
|
||||
Tiop = ooco.Tiop,
|
||||
Tulora = ooco.Tulora,
|
||||
IsModification = ooco.IsModification,
|
||||
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Multikulturalis = ooco.Multikulturalis,
|
||||
EFOP32317 = ooco.EFOP32317,
|
||||
KomplexOra = ooco.KomplexOra,
|
||||
GINOP623 = ooco.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = ooco.EFOP33717,
|
||||
TIOP11112120120001 = ooco.TIOP11112120120001,
|
||||
DFHT = ooco.DFHT,
|
||||
Rahangolodas = ooco.Rahangolodas,
|
||||
Testmozgas = ooco.Testmozgas,
|
||||
Muveszet = ooco.Muveszet,
|
||||
Eletgyakorlat = ooco.Eletgyakorlat,
|
||||
Logika = ooco.Logika,
|
||||
TeOrad = ooco.TeOrad,
|
||||
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
|
||||
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = ooco.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
|
||||
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
|
||||
|
||||
TTFModel = new TTFModel
|
||||
{
|
||||
FoglalkozasID = ooco.FoglalkozasID,
|
||||
TanarID = tanarId,
|
||||
Oraszam = (int)tfco.Oraszam,
|
||||
OsztalyID = tfco.OsztalyCsoportID,
|
||||
TantargyID = tfco.TantargyID,
|
||||
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
|
||||
},
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,395 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.ApiControllers;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
public class BaseAdminTanariOrarendController : Controller
|
||||
{
|
||||
[NonAction]
|
||||
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new OrarendiOrakModel
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("OrarendiOrak_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("TanoranKivuliFoglalkozasok_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetNewOrarendiOraModel(model, false, isFromSzervezet: isFromSzervezet);
|
||||
|
||||
var list = new List<TabStripItemModel>();
|
||||
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Tanari", IsActive = true });
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
|
||||
}
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet: isFromSzervezet);
|
||||
var isEgyOra = false;
|
||||
if (oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date)
|
||||
isEgyOra = true;
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
|
||||
|
||||
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bármikor lehessen egy órát törölni
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (isEgyOra)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet);
|
||||
|
||||
var list = new List<TabStripItemModel>();
|
||||
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Tanari", IsActive = true });
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(model.Start.Date, null);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
|
||||
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
|
||||
}
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet: isFromSzervezet);
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.Start.Date, null);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
|
||||
|
||||
if (model.HelyettesitoId == null)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
|
||||
OraKezdete = model.Start.ToLocalTime(),
|
||||
OraVege = model.End.ToLocalTime(),
|
||||
Sorszamozando = true,
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
|
||||
ErvenyessegiIdo = model.Start.ToLocalTime(),
|
||||
OraErvenyessegKezdete = model.Start,
|
||||
ValasztottDatum = model.Start,
|
||||
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
|
||||
CsengetesiRendOraID = model.EventId,
|
||||
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
|
||||
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
|
||||
};
|
||||
|
||||
if (!isTanoranKivuliFoglalkozas)
|
||||
{
|
||||
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
|
||||
}
|
||||
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
|
||||
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
|
||||
{
|
||||
OrarendiOraCO ooco;
|
||||
TantargyFelosztasCO tfco;
|
||||
int tanarId;
|
||||
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
orarendiOraHelper.GridParameters = null;
|
||||
ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
|
||||
tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
|
||||
|
||||
tfco = new TantargyFelosztasCO
|
||||
{
|
||||
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
|
||||
TantargyID = ooco.TantargyId.Value
|
||||
};
|
||||
|
||||
var oom = ConvertCoToModel(ooco, tanarId, tfco);
|
||||
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
|
||||
oom.IsModification = true;
|
||||
oom.ModificationDate = model.Start;
|
||||
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
|
||||
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Tanari.ToString(), isFromSzervezet);
|
||||
oom.OraKezdete = ooco.OraKezdete;
|
||||
oom.OraVege = ooco.OraVege;
|
||||
oom.ErvenyessegiIdo = model.Start;
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
oom.HetirendList = api.GetHetirendList();
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
|
||||
{
|
||||
var model = new OrarendiOraModel
|
||||
{
|
||||
ID = ooco.ID,
|
||||
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
|
||||
CsengetesiRendID = ooco.CsengetesiRendID,
|
||||
HetirendID = ooco.Hetirend,
|
||||
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
|
||||
TeremID = ooco.TeremID,
|
||||
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = ooco.OraErvenyessegVege,
|
||||
Oraszam = ooco.Oraszam,
|
||||
|
||||
Bontott = ooco.Bontott,
|
||||
Differencialt = ooco.Differencialt,
|
||||
Drama = ooco.Drama,
|
||||
HetNapja = ooco.HetNapja,
|
||||
IKTTanora = ooco.IKTTanora,
|
||||
IPRTanora = ooco.IPRTanora,
|
||||
Kooperativ = ooco.Kooperativ,
|
||||
Meres = ooco.Meres,
|
||||
MindennaposTestneveles = ooco.MindennaposTestneveles,
|
||||
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
|
||||
NemzetisegiOra = ooco.NemzetisegiOra,
|
||||
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
|
||||
OnlineOra = ooco.OnlineOra,
|
||||
ParhuzamosOra = ooco.ParhuzamosOra,
|
||||
Sorszamozando = ooco.Sorszamozando,
|
||||
TAMOPOra = ooco.TAMOPOra,
|
||||
KIPOra = ooco.KIPOra,
|
||||
VEKOP73317 = ooco.VEKOP73317,
|
||||
KAPOra = ooco.KAPOra,
|
||||
Tiop = ooco.Tiop,
|
||||
Tulora = ooco.Tulora,
|
||||
IsModification = ooco.IsModification,
|
||||
Multikulturalis = ooco.Multikulturalis,
|
||||
EFOP32317 = ooco.EFOP32317,
|
||||
KomplexOra = ooco.KomplexOra,
|
||||
GINOP623 = ooco.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = ooco.EFOP33717,
|
||||
TIOP11112120120001 = ooco.TIOP11112120120001,
|
||||
DFHT = ooco.DFHT,
|
||||
Rahangolodas = ooco.Rahangolodas,
|
||||
Testmozgas = ooco.Testmozgas,
|
||||
Muveszet = ooco.Muveszet,
|
||||
Eletgyakorlat = ooco.Eletgyakorlat,
|
||||
Logika = ooco.Logika,
|
||||
TeOrad = ooco.TeOrad,
|
||||
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
|
||||
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
|
||||
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = ooco.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
|
||||
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
|
||||
|
||||
TTFModel = new TTFModel
|
||||
{
|
||||
FoglalkozasID = ooco.FoglalkozasID,
|
||||
TanarID = tanarId,
|
||||
Oraszam = (int)tfco.Oraszam,
|
||||
OsztalyID = tfco.OsztalyCsoportID,
|
||||
TantargyID = tfco.TantargyID,
|
||||
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
|
||||
},
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public string GetOrarendiOraWindowTitle(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
int oraszam = api.GetOraszam(model.EventId, model.OraType);
|
||||
|
||||
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
|
||||
}
|
||||
|
||||
public string GetFoglalkozasWindowTitle(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
//var api = new AdminTanariOrarendApiController();
|
||||
//int oraszam = api.GetOraszam(model.EventId, model.OraType);
|
||||
|
||||
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,390 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.ApiControllers;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
public class BaseAdminTeremOrarendController : Controller
|
||||
{
|
||||
[NonAction]
|
||||
public ActionResult GetOrarendiOrak(int index = 0, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new OrarendiOrakModel
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("OrarendiOrak_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1, bool isFromSzervezet = false)
|
||||
{
|
||||
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
|
||||
{
|
||||
Index = index,
|
||||
IsFromSzervezet = isFromSzervezet
|
||||
};
|
||||
|
||||
return View("TanoranKivuliFoglalkozasok_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetNewOrarendiOraModel(model.CalendarModel, false, isFromSzervezet);
|
||||
if (model.OsztalyId != 0)
|
||||
{
|
||||
oom.TTFModel.OsztalyID = model.OsztalyId;
|
||||
}
|
||||
|
||||
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(model.CalendarModel.Start.Date, model.OsztalyId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "OrarendiOrak.newOrarendiOraCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "OrarendiOrak.EgyOraHozzaadasaSave");
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "OrarendiOrak.OrarendhezSave");
|
||||
}
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "OrarendiOrak.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "OrarendiOrak.EddigHetigSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, false, isFromSzervezet);
|
||||
|
||||
var isEgyOra = oom.OraErvenyessegKezdete.Value.Date == oom.OraErvenyessegVege.Value.Date;
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modCancel", AdminisztracioResource.Megsem, "OrarendiOrak.modCancel");
|
||||
pm = pm.AddBtn(pm, "tovabbiOrarendiOraFelvetele", OrarendResource.AddAgain, "OrarendiOrak.tovabbiOrarendiOraFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteFrom", OrarendResource.DeleteFrom, "OrarendiOrak.modOrarendiOraDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteTo", OrarendResource.DeleteTo, "OrarendiOrak.modOrarendiOraDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDelete", OrarendResource.DeleteAll, "OrarendiOrak.modOrarendiOraDeleteConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveFrom", OrarendResource.ModSaveFrom, "OrarendiOrak.modOrarendiOraSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveTo", OrarendResource.ModSaveTo, "OrarendiOrak.modOrarendiOraSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSave", OrarendResource.ModAllSave, "OrarendiOrak.modOrarendiOraSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bármikor lehessen egy órát törölni
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraDeleteDay", OrarendResource.DeleteOneDay, "OrarendiOrak.modOrarendiOraDeleteDayConfirmWindow", "pull-left");
|
||||
if (isEgyOra)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modOrarendiOraSaveDay", OrarendResource.ModSaveOneDay, "OrarendiOrak.modOrarendiOraSaveDay", "pull-left");
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetNewOrarendiOraModel(model, true, isFromSzervezet);
|
||||
|
||||
var list = new List<TabStripItemModel> { new TabStripItemModel { ItemId = "1", ItemName = OrarendResource.TanoraAdatai, Model = oom, PartialViewName = "TanoraAdatok_Bevitel_Terem", IsActive = true } };
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel { ItemId = "2", ItemName = TantargyResource.TabSpecialisAdatok, Model = oom, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
oom.OrarendiOraTabList = list;
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = helper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newOrarendiOraCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "EgyOraHozzaadasaSave", OrarendResource.AddOneDay, "Foglalkozasok.EgyOraHozzaadasaSave");
|
||||
|
||||
if (!isDateHasTanevrend && !isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "EttolHettolSave", OrarendResource.AddFrom, "Foglalkozasok.EttolHettolSave");
|
||||
pm = pm.AddBtn(pm, "EddigHetigSave", OrarendResource.AddTo, "Foglalkozasok.EddigHetigSave");
|
||||
}
|
||||
if (isFromSzervezet || !isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "OrarendhezSave", OrarendResource.AddAllDay, "Foglalkozasok.OrarendhezSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = GetModifyOrarendiOraModel(model, true, isFromSzervezet);
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(oom.ErvenyessegiIdo.Date, oom.OsztalyCsoportId);
|
||||
|
||||
var pm = new PopUpModel(oom, "OrarendiOra_Mod_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.modFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "tovabbiFoglalkozasFelvetele", OrarendResource.AddAgain, "Foglalkozasok.tovabbiFoglalkozasFelvetele");
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteFrom", OrarendResource.DeleteFrom, "Foglalkozasok.modFoglalkozasDeleteFromConfirmWindow", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteTo", OrarendResource.DeleteTo, "Foglalkozasok.modFoglalkozasDeleteToConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDelete", OrarendResource.DeleteAll, "Foglalkozasok.modFoglalkozasDeleteConfirmWindow", "pull-left");
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveDay", OrarendResource.ModSaveOneDay, "Foglalkozasok.modFoglalkozasSaveDay", secondLine: true, "pull-left");
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveFrom", OrarendResource.ModSaveFrom, "Foglalkozasok.modFoglalkozasSaveFrom", secondLine: true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSaveTo", OrarendResource.ModSaveTo, "Foglalkozasok.modFoglalkozasSaveTo", secondLine: true, "pull-left");
|
||||
}
|
||||
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasSave", OrarendResource.ModAllSave, "Foglalkozasok.modFoglalkozasSaveTanev", secondLine: true, "pull-left");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modFoglalkozasDeleteDay", OrarendResource.DeleteOneDay, "Foglalkozasok.modFoglalkozasDeleteDayConfirmWindow", "pull-left");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public string GetOrarendiOraWindowTitle(CalendarModel model)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
int oraszam = api.GetOraszam(model.EventId, model.OraType);
|
||||
|
||||
return string.Format(" [{0} - {1}: {2}. óra]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg, oraszam);
|
||||
}
|
||||
|
||||
public string GetFoglalkozasWindowTitle(CalendarModel model)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start)
|
||||
};
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, model.Start.ToLocalTime().DayOfWeek);
|
||||
|
||||
return string.Format(" [{0} - {1}]", oom.ErvenyessegiIdoSzoveg, oom.HetNapjaSzoveg);
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetNewOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
|
||||
{
|
||||
var oom = new OrarendiOraModel
|
||||
{
|
||||
IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas,
|
||||
OraKezdete = model.Start.ToLocalTime(),
|
||||
OraVege = model.End.ToLocalTime(),
|
||||
Sorszamozando = true,
|
||||
ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate], model.Start.ToLocalTime()),
|
||||
ErvenyessegiIdo = model.Start.ToLocalTime(),
|
||||
OraErvenyessegKezdete = model.Start,
|
||||
ValasztottDatum = model.Start,
|
||||
OraErvenyessegVege = !isFromSzervezet ? model.End : (DateTime?)null,
|
||||
CsengetesiRendOraID = model.EventId,
|
||||
HetirendID = (int)HetiRendTipusEnum.MindegyikHet,
|
||||
Hetirend = HetiRendTipusEnum.MindegyikHet.GetDisplayName(ClaimData.SelectedTanevID.Value)
|
||||
};
|
||||
|
||||
if (!isTanoranKivuliFoglalkozas)
|
||||
{
|
||||
OrarendiOraLogic.SetCsengetesiRendAndOraszam(oom);
|
||||
}
|
||||
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
OrarendiOraLogic.SetHetNapja(oom, oom.ErvenyessegiIdo.DayOfWeek);
|
||||
oom.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel GetModifyOrarendiOraModel(CalendarModel model, bool isTanoranKivuliFoglalkozas, bool isFromSzervezet = false)
|
||||
{
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType())
|
||||
{
|
||||
GridParameters = null
|
||||
};
|
||||
|
||||
var ooco = orarendiOraHelper.GetOrarendiOraById(model.EventId);
|
||||
var tanarId = orarendiOraHelper.GetTanarIdByOrarendiOra(model.EventId);
|
||||
|
||||
var tfco = new TantargyFelosztasCO
|
||||
{
|
||||
OsztalyCsoportID = ooco.OsztalyCsoportId.Value,
|
||||
TantargyID = ooco.TantargyId.Value
|
||||
};
|
||||
|
||||
var oom = ConvertCoToModel(ooco, tanarId, tfco);
|
||||
oom.IsTanoranKivuliFoglalkozas = isTanoranKivuliFoglalkozas;
|
||||
oom.IsModification = true;
|
||||
oom.ModificationDate = model.Start;
|
||||
oom.ErvenyessegiIdoSzoveg = string.Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime], oom.OraErvenyessegKezdete.Value);
|
||||
oom.OrarendiOraTabList = OrarendiOraLogic.GetModOrarendiOraTabs(oom, AdminOrarendTipusEnum.Terem.ToString(), isFromSzervezet);
|
||||
oom.OraKezdete = ooco.OraKezdete;
|
||||
oom.OraVege = ooco.OraVege;
|
||||
oom.ErvenyessegiIdo = model.Start;
|
||||
|
||||
var api = new AdminTanariOrarendApiController();
|
||||
oom.HetirendList = api.GetHetirendList();
|
||||
oom.OsztalyCsoportId = ooco.OsztalyCsoportId;
|
||||
oom.IsEgyediNap = isFromSzervezet ? TanevRendjeLogic.IsEgyediNapByDate(model.Start.Date) : !isFromSzervezet;
|
||||
oom.IsFromSzervezet = isFromSzervezet;
|
||||
oom.OrarendiElemekRogzitesenekElofeltetele = SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return oom;
|
||||
}
|
||||
|
||||
private OrarendiOraModel ConvertCoToModel(OrarendiOraCO ooco, int tanarId, TantargyFelosztasCO tfco)
|
||||
{
|
||||
var model = new OrarendiOraModel
|
||||
{
|
||||
ID = ooco.ID,
|
||||
CsengetesiRendOraID = ooco.CsengetesiRendOraID,
|
||||
CsengetesiRendID = ooco.CsengetesiRendID,
|
||||
HetirendID = ooco.Hetirend,
|
||||
Hetirend = ooco.Hetirend > 0 ? ooco.Hetirend.GetDisplayName<HetiRendTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty,
|
||||
TeremID = ooco.TeremID,
|
||||
OraErvenyessegKezdete = ooco.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = ooco.OraErvenyessegVege,
|
||||
Oraszam = ooco.Oraszam,
|
||||
Bontott = ooco.Bontott,
|
||||
Differencialt = ooco.Differencialt,
|
||||
Drama = ooco.Drama,
|
||||
HetNapja = ooco.HetNapja,
|
||||
IKTTanora = ooco.IKTTanora,
|
||||
IPRTanora = ooco.IPRTanora,
|
||||
Kooperativ = ooco.Kooperativ,
|
||||
Meres = ooco.Meres,
|
||||
MindennaposTestneveles = ooco.MindennaposTestneveles,
|
||||
NemSzakrendszeruOra = ooco.NemSzakrendszeruOra,
|
||||
NemzetisegiOra = ooco.NemzetisegiOra,
|
||||
IsFelnottoktatasiSzerzodes = ooco.IsFelnottoktatasiSzerzodes,
|
||||
OnlineOra = ooco.OnlineOra,
|
||||
ParhuzamosOra = ooco.ParhuzamosOra,
|
||||
Sorszamozando = ooco.Sorszamozando,
|
||||
TAMOPOra = ooco.TAMOPOra,
|
||||
KIPOra = ooco.KIPOra,
|
||||
VEKOP73317 = ooco.VEKOP73317,
|
||||
KAPOra = ooco.KAPOra,
|
||||
Tiop = ooco.Tiop,
|
||||
Tulora = ooco.Tulora,
|
||||
IsModification = ooco.IsModification,
|
||||
HetNapjaSzoveg = ooco.HetNapja.GetDisplayName<HetNapjaTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
Multikulturalis = ooco.Multikulturalis,
|
||||
EFOP32317 = ooco.EFOP32317,
|
||||
KomplexOra = ooco.KomplexOra,
|
||||
GINOP623 = ooco.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = ooco.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = ooco.EFOP33717,
|
||||
TIOP11112120120001 = ooco.TIOP11112120120001,
|
||||
DFHT = ooco.DFHT,
|
||||
Rahangolodas = ooco.Rahangolodas,
|
||||
Testmozgas = ooco.Testmozgas,
|
||||
Muveszet = ooco.Muveszet,
|
||||
Eletgyakorlat = ooco.Eletgyakorlat,
|
||||
Logika = ooco.Logika,
|
||||
TeOrad = ooco.TeOrad,
|
||||
DigitalisAlapProgram = ooco.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = ooco.EFOP23517201700038Miapalya,
|
||||
TanevTananyaganakIsmetlese = ooco.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = ooco.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = ooco.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = ooco.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = ooco.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = ooco.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = ooco.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = ooco.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = ooco.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = ooco.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = ooco.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = ooco.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = ooco.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = ooco.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = ooco.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = ooco.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = ooco.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = ooco.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = ooco.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = ooco.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = ooco.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
|
||||
IsEgybefuggoGyakorlat = ooco.IsEgybefuggoGyakorlat,
|
||||
|
||||
TTFModel = new TTFModel
|
||||
{
|
||||
FoglalkozasID = ooco.FoglalkozasID,
|
||||
TanarID = tanarId,
|
||||
Oraszam = (int)tfco.Oraszam,
|
||||
OsztalyID = tfco.OsztalyCsoportID,
|
||||
TantargyID = tfco.TantargyID,
|
||||
Nev = !string.IsNullOrWhiteSpace(tfco.Nev) ? tfco.Nev : string.Empty
|
||||
},
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
public abstract class BaseNaploTanariOrarendController : Controller
|
||||
{
|
||||
protected List<TabStripItemModel> GetTanariOrarendTabs(bool fogadooraMegjelenik, bool isFromSzervezet = false)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
|
||||
var haladasiNaploFulTipusa = ProfileUtils.HaladasiNaploFulTipusa;
|
||||
|
||||
var controller = this.RouteData.Values["controller"].ToString();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = isFromSzervezet ? AdminisztracioResource.Foglalkozasok : AdminisztracioResource.Tanorak,
|
||||
Area = Constants.Areas.Orarend,
|
||||
Controller = controller,
|
||||
Action = nameof(GetTanorak),
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "0"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Tanorak
|
||||
});
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = AdminisztracioResource.Napirend,
|
||||
Area = Constants.Areas.Orarend,
|
||||
Controller = controller,
|
||||
Action = nameof(GetTanoranKivuliFoglalkozasok),
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "1"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Napirend
|
||||
});
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = AdminisztracioResource.NemKotottMunkaido,
|
||||
Area = Constants.Areas.Orarend,
|
||||
Controller = controller,
|
||||
Action = nameof(GetNemKotottMunkaido),
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "2"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.NemKotottMunkaido
|
||||
});
|
||||
|
||||
if (fogadooraMegjelenik)
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "3",
|
||||
ItemName = AdminisztracioResource.Fogadoora,
|
||||
Area = Constants.Areas.Orarend,
|
||||
Controller = controller,
|
||||
Action = nameof(GetFogadoora),
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "3"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Fogadoora
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult GetTanorak(int index = 0)
|
||||
{
|
||||
var model = new TanariOrarendTanorakModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("Tanorak_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("TanoranKivuliFoglalkozasok_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetNemKotottMunkaido(int index = 2)
|
||||
{
|
||||
var model = new TanariOrarendNemKotottMunkaidoModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("NemKotottMunkaido_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetFogadoora(int index = 3)
|
||||
{
|
||||
var model = new TanariOrarendFogadooraModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("Fogadoora_Tab", model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,838 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Feljegyzes.Models;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
public class BaseTanariOrarendController : BaseNaploTanariOrarendController
|
||||
{
|
||||
#region Konstansok
|
||||
|
||||
public const string TanoraNaplozasInfo = "~/Areas/Orarend/Views/TanariOrarend/TanoraNaplozasInfo.cshtml";//nameof(TanoraNaplozasInfo);
|
||||
public const string Info_TanoraAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_TanoraAdatai_Tab.cshtml";//nameof(Info_TanoraAdatai_Tab);
|
||||
public const string Info_MulasztasNaplozas_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_MulasztasNaplozas_Tab.cshtml";//nameof(Info_MulasztasNaplozas_Tab);
|
||||
public const string Info_HaziFeladat_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_HaziFeladat_Tab.cshtml";//nameof(Info_HaziFeladat_Tab);
|
||||
public const string SzamonkeresElorejelzes_Tab = "~/Areas/Orarend/Views/TanariOrarend/SzamonkeresElorejelzes_Tab.cshtml";//nameof(SzamonkeresElorejelzes_Tab);
|
||||
public const string TanoraNaplozas = "~/Areas/Orarend/Views/TanariOrarend/TanoraNaplozas.cshtml";//nameof(TanoraNaplozas);
|
||||
public const string MulasztasNaplozas_Tab = "~/Areas/Orarend/Views/TanariOrarend/MulasztasNaplozas_Tab.cshtml";// nameof(MulasztasNaplozas_Tab);
|
||||
public const string TanuloErtekelesIndex = "~/Areas/TanuloErtekeles/Views/Ertekeles/Index.cshtml";
|
||||
public const string FeljegyzesekIndex = "~/Areas/Feljegyzes/Views/Beirasok/Index.cshtml";
|
||||
public const string HaziFeladat_Tab = "~/Areas/Orarend/Views/TanariOrarend/HaziFeladat_Tab.cshtml";//nameof(HaziFeladat_Tab);
|
||||
public const string TanoraAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/TanoraAdatai_Tab.cshtml";//nameof(TanoraAdatai_Tab);
|
||||
public const string NaplozasDigitalisOktatas_Tab = "~/Areas/Orarend/Views/TanariOrarend/NaplozasDigitalisOktatas_Tab.cshtml";//nameof(NaplozasDigitalisOktatas_Tab);
|
||||
public const string KorabbiOrakNaplozasiAdatai_Tab = "~/Areas/Orarend/Views/TanariOrarend/KorabbiOrakNaplozasiAdatai_Tab.cshtml";//nameof(KorabbiOrakNaplozasiAdatai_Tab);
|
||||
public const string Info_DigitalisOktatas_Tab = "~/Areas/Orarend/Views/TanariOrarend/Info_DigitalisOktatas_Tab.cshtml";//nameof(Info_DigitalisOktatas_Tab);
|
||||
|
||||
public const string closeTanoraMuveletWindowEvent = "Tanorak.closeTanoraMuveletWindow";
|
||||
public const string saveNemMegtartottTanoraEvent = "Naplozashelper.saveNemMegtartottTanora";
|
||||
public const string saveTanoraEvent = "Naplozashelper.saveTanora";
|
||||
public const string oraOsszevonasDeleteEvent = "Naplozashelper.oraOsszevonasDelete";
|
||||
public const string deleteTanoraEvent = "Naplozashelper.deleteTanora";
|
||||
public const string oraOsszevonasPopUpEvent = "Naplozashelper.oraOsszevonasPopUp";
|
||||
public const string ujOraFelvitelePopUpEvent = "Tanorak.ujOraFelvitelePopUp";
|
||||
|
||||
public const string elmaradt = nameof(elmaradt);
|
||||
public const string naplozas = nameof(naplozas);
|
||||
public const string oraOsszevonasDelete = nameof(oraOsszevonasDelete);
|
||||
public const string delete = nameof(delete);
|
||||
public const string oraOsszevonas = nameof(oraOsszevonas);
|
||||
public const string ujOraFelvitele = nameof(ujOraFelvitele);
|
||||
|
||||
#endregion
|
||||
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public BaseTanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
Authorization = authorization;
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model, int? SzervezetTipusId = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
model.calendarModel.Start = model.calendarModel.Start.ToLocalTime();
|
||||
model.calendarModel.End = model.calendarModel.End.ToLocalTime();
|
||||
if (model.calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var naploValidacioParameters = new NaploValidacioParameters(model.calendarModel.Start.ToLocalTime(), ConnectionTypeExtensions.GetSessionConnectionType(), ClaimData.FelhasznaloSzerepkor);
|
||||
var validator = new NaploValidacio(naploValidacioParameters);
|
||||
|
||||
NaplozasElokeszitesLogic naplozasLogic = null;
|
||||
if (model.calendarModel.EventType == EventTypeEnum.UjEgyediOraFelvitel ||
|
||||
(model.calendarModel.EventType == EventTypeEnum.UjOraFelvitele && (model.calendarModel.OraType == CalendarOraTypeEnum.UresOra ||
|
||||
model.calendarModel.OraType == CalendarOraTypeEnum.Egyeb)))
|
||||
{
|
||||
var co = new EgyediNaplozasElokeszitesCo();
|
||||
model.ConvertTo(co);
|
||||
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
}
|
||||
else
|
||||
if (model.calendarModel.EventType == EventTypeEnum.TanarHelyetesites)
|
||||
{
|
||||
var co = new HelyettesitesNaplozasElokeszitesCo();
|
||||
model.ConvertTo(co);
|
||||
co.SzervezetTipusId = SzervezetTipusId;
|
||||
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
}
|
||||
else
|
||||
{
|
||||
var co = new NaplozasElokeszitesCo();
|
||||
model.calendarModel.ConvertTo(co);
|
||||
co.SzervezetTipusId = SzervezetTipusId;
|
||||
naplozasLogic = new NaplozasElokeszitesLogic(validator, co);
|
||||
}
|
||||
var muveletPram = new TanoraMuveletek(ClaimData.FelhasznaloId, model);
|
||||
|
||||
return TanoraMuveletek(naplozasLogic.GetModel, muveletPram, SzervezetTipusId);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(TanoraIdBeallitasModel model, bool isFromSzervezet = false)
|
||||
{
|
||||
var fm = new FoglalkozasModel()
|
||||
{
|
||||
UseFoglalkozas = model.calendarModel.UseFoglakozas,
|
||||
TanoranKivuliFoglalkozas = model.FoglalkozasId,
|
||||
TeremID = model.TeremId,
|
||||
OsztalyCsoportId = model.OsztalyCsoportId,
|
||||
TantargyId = model.TantargyId,
|
||||
Kezdete = model.calendarModel.Start,
|
||||
KezdeteDatum = model.calendarModel.Start,
|
||||
KezdeteLabel = model.calendarModel.Start.ToShortDateString(),
|
||||
Vege = model.calendarModel.End,
|
||||
VegeDatum = model.calendarModel.End,
|
||||
VegeLabel = model.calendarModel.End.ToShortDateString()
|
||||
};
|
||||
|
||||
PopUpModel pm = new PopUpModel(fm, "Foglalkozas_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newFoglalkozasCancel", AdminisztracioResource.Megsem, "Foglalkozasok.newFoglalkozasCancel");
|
||||
pm = pm.AddBtn(pm, "newFoglalkozasSave", 2516, "Foglalkozasok.foglalkozasSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardElovalaszto(DateTime? datum = null, bool isFromSzervezet = false)
|
||||
{
|
||||
var isSzakmaiGyakorlat = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsOsszefuggoSzakGyak(datum);
|
||||
|
||||
var model = GetWizardElovalasztoModel(isSzakmaiGyakorlat);
|
||||
return PartialView("WizardElovalaszto", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardHelyettesitesElovalaszto(DateTime? datum = null, int hiba = -1, bool isFromSzervezet = false)
|
||||
{
|
||||
var isSzakmaiGyakorlat = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsOsszefuggoSzakGyak(datum);
|
||||
|
||||
var model = GetWizardElovalasztoModel(isSzakmaiGyakorlat);
|
||||
model.TanarKezelhetHelyettesitest = false; //helyettesítésnél nem kell kirakni a helyettesítés gombot
|
||||
if (model.LehetOratFelvenniTTFNelkul && model.TanarVehetFelOratMaganak && hiba != -1)
|
||||
{
|
||||
model.LehetOratFelvenniTTFNelkul = false;
|
||||
model.TanarVehetFelOratMaganak = false;
|
||||
}
|
||||
model.HelyettesitendoTanarnakNincsOttOraja = (hiba == (int)EgyediHelyettesitesHibaEnum.HelyettesitendoTanarnakNincsOttOraja);
|
||||
model.HelyettesitendoTanarOrajatMarNaploztak = (hiba == (int)EgyediHelyettesitesHibaEnum.HelyettesitendoTanarOrajatMarNaploztak);
|
||||
|
||||
return PartialView("WizardElovalaszto", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardOrarendioraValaszto(string startDate, string endDate, string hanyadikora, string helyettesitoId, bool isNapirend = false, bool isEgyediHelyettesites = false, bool isFromSzervezet = false)
|
||||
{
|
||||
WizardModel model = new WizardModel();
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var ds = helper.CheckTanarOra(SDAConvert.ToDateTime(startDate).Value, SDAConvert.ToDateTime(endDate).Value, SDAConvert.ToInt32(helyettesitoId), SDAConvert.ToNullableInt32(hanyadikora), SDAConvert.ToBoolean(isNapirend), SDAConvert.ToBoolean(isEgyediHelyettesites));
|
||||
|
||||
model.WizardOraLista = new List<SelectListItem>();
|
||||
if (ds != null && ds.Tables.Count > 0)
|
||||
{
|
||||
var szuksegesSorok = ds.Tables[0].AsEnumerable().ToList();
|
||||
if (!isEgyediHelyettesites)
|
||||
{
|
||||
szuksegesSorok = szuksegesSorok.Where(x => x["Megtartott"].ToString() == "F").ToList();
|
||||
}
|
||||
|
||||
if (szuksegesSorok.Any())
|
||||
{
|
||||
foreach (var orarendiOraSor in szuksegesSorok)
|
||||
{
|
||||
model.WizardOraLista.Add(new SelectListItem { Value = orarendiOraSor.Field<int>("C_ORARENDIORAID").ToString(), Text = string.Format("{0} {1} ({2})", orarendiOraSor.Field<string>("OsztalyNev"), orarendiOraSor.Field<string>("TargyNev"), orarendiOraSor.Field<string>("TeremNev")) });
|
||||
}
|
||||
if (szuksegesSorok.Count == 1)
|
||||
{
|
||||
model.WizardOrarendId = szuksegesSorok[0].Field<int>("C_ORARENDIORAID");
|
||||
model.WizardOrarendMegtartott = SDAConvert.ToBooleanFromTF(szuksegesSorok[0].Field<string>("Megtartott"));
|
||||
}
|
||||
}
|
||||
}
|
||||
model.IsEgyediHelyettesites = isEgyediHelyettesites;
|
||||
return PartialView("WizardOrarendioraValaszto", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardHelyettesites(bool isFromSzervezet = false)
|
||||
{
|
||||
WizardModel model = new WizardModel();
|
||||
model.IsEgyediHelyettesites = TanarKezelhetHelyettesitest() && (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo);
|
||||
return PartialView("WizardHelyettesites", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardOraosszevonasHelyettesites(bool isFromSzervezet = false)
|
||||
{
|
||||
WizardModel model = new WizardModel() { };
|
||||
return PartialView("WizardOraosszevonasHelyettesites", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardFoglalkozas(int foglalkozasFilterId, bool isNapirend = false, DateTime? datum = null, int? hanyadikOra = null, bool isFromSzervezet = false)
|
||||
{
|
||||
WizardModel model = new WizardModel() { FoglalkozasFilterId = foglalkozasFilterId, IsNapirend = isNapirend, Datum = datum, HanyadikOra = hanyadikOra };
|
||||
return PartialView("WizardFoglalkozas", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetWizardEgyedi(int foglalkozasFilterId, DateTime datum, bool isNapirend = false, int? hanyadikOra = null, bool isFromSzervezet = false)
|
||||
{
|
||||
WizardModel model = new WizardModel() { FoglalkozasFilterId = foglalkozasFilterId, Datum = datum, IsNapirend = isNapirend, HanyadikOra = hanyadikOra };
|
||||
return PartialView("WizardEgyedi", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public DateTime GetTanevUtolsoNapja(int? szervezetId = null)
|
||||
{
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
|
||||
return szervezetId.HasValue ? tanev.UtolsoNap : tanev.UtolsoTanitasiNap;
|
||||
}
|
||||
|
||||
public ActionResult TanoraMuveletek(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram, int? szervezetTipusId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
||||
model.IsMentorOra = new OsztalyCsoportHelper(connectionType).IsMentorCsoport(model.OraAdat.OsztalyCsoportId);
|
||||
var tanarSorszamozhat = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ora_sorszamozasat_naplozo_pedagogus_eldontheti);
|
||||
var elmaradtTanitasiOraRogzitesenekTiltasa = new SystemSettingsHelper(connectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
|
||||
|
||||
var naplozarasLogic = new NaplozarasLogic(connectionType);
|
||||
bool isErtekelestModosithatNaplozarasTipusaMiatt = naplozarasLogic.IsErtekelhetZarastolFuggetlenul(model.OraAdat.OraKezdete, model.OraAdat.OsztalyCsoportId);
|
||||
var isNaplozhatNaplozarasTipusaMiatt = naplozarasLogic.IsNaplozhatZarastolFuggetlenul(model.OraAdat.OraKezdete, model.OraAdat.OsztalyCsoportId);
|
||||
|
||||
if (model.IsTanora && model.OraAdat.TanitasiOraId.HasValue)
|
||||
{
|
||||
var helper = new TanoraHelper(connectionType);
|
||||
TanoraCO co = helper.GetTanorakAdatok(model.OraAdat.TanitasiOraId.Value);
|
||||
muveletPram.NaplozasDatum = co.Datum;
|
||||
model.OraAdat.DigEszkozTipusId = co.DigEszkozTipusId;
|
||||
model.OraAdat.DigPlatformTipusId = co.DigPlatformTipusId;
|
||||
model.OraAdat.DigTamEszkozTipusIdList = co.DigTamEszkozTipusIdList;
|
||||
}
|
||||
|
||||
if (model.Naplozhat && isNaplozhatNaplozarasTipusaMiatt)
|
||||
{
|
||||
return GetNaplozasPopUp(model, muveletPram, isErtekelestModosithatNaplozarasTipusaMiatt, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa, szervezetTipusId);
|
||||
}
|
||||
|
||||
return GetNaplozasInfoPopUp(model, isErtekelestModosithatNaplozarasTipusaMiatt, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa, szervezetTipusId);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private ActionResult GetNaplozasInfoPopUp(NaplozasElokeszitesModel model, bool isErtekelestModosithatNaplozarasTipusaMiatt, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa, int? szervezetTipusId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var infoTabok = new TanoraNaplozasInfoTabok(szervezetTipusId);
|
||||
var naplozasModel = new TanoraNaplozas(fileServiceHelper, model.IsMentorOra, szervezetTipusId);
|
||||
naplozasModel.Fill(model, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
|
||||
var infoModel = new TanoraNaplozasInfoModel(szervezetTipusId);
|
||||
naplozasModel.Convert(infoModel);
|
||||
var naplozasInfoModel = infoModel;
|
||||
|
||||
infoTabok.OsztalyCsoport = naplozasInfoModel.TanoraAdataiInfo.OsztalyCsoportNev;
|
||||
infoTabok.Tantargy = naplozasInfoModel.TanoraAdataiInfo.TantargyNev;
|
||||
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
|
||||
var helper = new TanoraHelper(connectionType);
|
||||
|
||||
infoTabok.Oraszam = helper.GetOraEvesSorszamaSP(naplozasInfoModel.TanoraAdataiInfo.TantargyId.Value, naplozasInfoModel.TanoraAdataiInfo.OsztalyCsoportId.Value, model.OraAdat.OraKezdete, naplozasInfoModel.TanoraAdataiInfo.TanarId.Value);
|
||||
|
||||
if (szervezetTipusId.HasValue && szervezetTipusId.Value == (int)SzervezetTipusEnum.Dualis)
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(connectionType);
|
||||
var csoportSzakmajegyzekek = osztalyCsoportHelper.GetCsoportTanuloinakSzakmajegyzeke(naplozasModel.TanoraAdatai.OsztalyCsoportId.Value, DateTime.Now);
|
||||
if (csoportSzakmajegyzekek.Count > 0)
|
||||
{
|
||||
naplozasModel.Mulasztas.TanulasiEgysegList = helper.GetTanulasiEgysegek()
|
||||
.Where(e => (csoportSzakmajegyzekek[0].SzakmairanyTipusId ?? 0) == (e.SzakmairanyTipusId ?? 0) && (csoportSzakmajegyzekek[0].SzakmaTipusId ?? 0) == e.SzakmaTipusId).OrderBy(o => o.Sorszam)
|
||||
.Select(x => new SelectListItem { Value = x.ID.ToString(), Text = x.Szoveg }).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
var pm = new PopUpModel(infoTabok, TanoraNaplozasInfo);
|
||||
infoTabok.TabList = GetNaplozasInfoTabs(model, naplozasInfoModel, isErtekelestModosithatNaplozarasTipusaMiatt);
|
||||
|
||||
if (!model.OraAdat.IsTanorankivuli)
|
||||
{
|
||||
infoTabok.Fejlec = $"{OrarendResource.NaplozasiAdatok} ({naplozasInfoModel.TanoraAdataiInfo.OratartamEsOraszam}, {infoTabok.Tantargy}, {infoTabok.OsztalyCsoport})";
|
||||
}
|
||||
else
|
||||
{
|
||||
infoTabok.Fejlec = $"{OrarendResource.NaplozasiAdatok} ({naplozasInfoModel.TanoraAdataiInfo.OraTartam}, {infoTabok.Tantargy}, {infoTabok.OsztalyCsoport})";
|
||||
naplozasInfoModel.TanoraAdataiInfo.OratartamEsOraszam = naplozasInfoModel.TanoraAdataiInfo.OraTartam;
|
||||
}
|
||||
|
||||
pm.AddCancelBtn(pm, closeTanoraMuveletWindowEvent);
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private ActionResult GetNaplozasPopUp(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram, bool isErtekelestModosithatNaplozarasTipusaMiatt, bool tanarSorszamozhat, bool elmaradtTanitasiOraRogzitesenekTiltasa, int? szervezetTipusId) // bool csakErtekelestNemModositha)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connectionType = ConnectionTypeExtensions.GetActiveSessionConnectionType();
|
||||
var naplozasTabok = new TanoraNaplozasTabok(szervezetTipusId);
|
||||
|
||||
naplozasTabok.OsztalyCsoport = model.OraAdat.OsztalyCsoportNev;
|
||||
naplozasTabok.Tantargy = model.OraAdat.TantargyNev;
|
||||
|
||||
var naplozasModel = new TanoraNaplozas(fileServiceHelper, model.IsMentorOra, szervezetTipusId);
|
||||
naplozasModel.Fill(model, tanarSorszamozhat, elmaradtTanitasiOraRogzitesenekTiltasa);
|
||||
naplozasModel.TanoraAdatai.NaplozasDatum = muveletPram.NaplozasDatum;
|
||||
|
||||
naplozasModel.Mulasztas.SetIsAmi();
|
||||
if (szervezetTipusId.HasValue && szervezetTipusId.Value == (int)SzervezetTipusEnum.Dualis)
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(connectionType);
|
||||
var csoportSzakmajegyzekek = osztalyCsoportHelper.GetCsoportTanuloinakSzakmajegyzeke(naplozasModel.TanoraAdatai.OsztalyCsoportId.Value, DateTime.Now);
|
||||
if (csoportSzakmajegyzekek.Count > 0)
|
||||
{
|
||||
var csoportSzakmajegyzekekSzakmairanyTipusId = !csoportSzakmajegyzekek[0].SzakmairanyTipusId.HasValue || csoportSzakmajegyzekek[0].SzakmairanyTipusId.Value == (int)SzakmairanyTipusEnum.na ? 0 : csoportSzakmajegyzekek[0].SzakmairanyTipusId.Value;
|
||||
var csoportSzakmajegyzekekSzakmaTipusId = !csoportSzakmajegyzekek[0].SzakmaTipusId.HasValue || csoportSzakmajegyzekek[0].SzakmaTipusId.Value == (int)SzakmaTipusEnum.na ? 0 : csoportSzakmajegyzekek[0].SzakmaTipusId.Value;
|
||||
naplozasModel.Mulasztas.TanulasiEgysegList = new TanoraHelper(connectionType).GetTanulasiEgysegek()
|
||||
.Where(e => csoportSzakmajegyzekekSzakmairanyTipusId == (e.SzakmairanyTipusId ?? 0) && csoportSzakmajegyzekekSzakmaTipusId == e.SzakmaTipusId).OrderBy(o => o.Sorszam)
|
||||
.Select(x => new SelectListItem { Value = x.ID.ToString(), Text = x.Szoveg }).ToList();
|
||||
}
|
||||
}
|
||||
var infoModel = new TanoraNaplozasInfoModel(szervezetTipusId);
|
||||
naplozasModel.Convert(infoModel);
|
||||
|
||||
var pm = new PopUpModel(naplozasTabok, TanoraNaplozas);
|
||||
|
||||
if (model.OraAdat.IsElmaradt)
|
||||
{
|
||||
var dktFileHelper = new DktFileHelper(connectionType);
|
||||
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
|
||||
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
|
||||
naplozasTabok.TabList = GetNaplozasInfoTabs(model, infoModel, isErtekelestModosithatNaplozarasTipusaMiatt, naplozasModel.HaziFeladat);
|
||||
if (!model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
naplozasModel.HaziFeladat.UsedFilesSizeInKiloBytesTotal = osszMeret;
|
||||
naplozasModel.HaziFeladat.MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg;
|
||||
naplozasModel.HaziFeladat.IsTanarVehetFelHazitNaplozasNelkul = true;
|
||||
naplozasModel.HaziFeladat.IsHaziFeladatHelper = true;
|
||||
naplozasModel.HaziFeladat.NapDatuma = model.OraAdat.OraKezdete.Date;
|
||||
naplozasModel.HaziFeladat.TanitasiOraId = model.OraAdat.TanitasiOraId;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
naplozasTabok.TabList = GetNaplozasDetailTabs(model, naplozasModel, isErtekelestModosithatNaplozarasTipusaMiatt);
|
||||
}
|
||||
muveletPram.IsTanoranKivuli = model.OraAdat.IsTanorankivuli;
|
||||
naplozasTabok.TanoraMuveletek = muveletPram;
|
||||
|
||||
if (!naplozasTabok.TanoraMuveletek.IsTanoranKivuli)
|
||||
{
|
||||
naplozasTabok.Fejlec = $"{OrarendResource.TanoraNaplozasa} ({naplozasModel.TanoraAdatai.OratartamEsOraszam}, {naplozasTabok.Tantargy}, {naplozasTabok.OsztalyCsoport})";
|
||||
}
|
||||
else
|
||||
{
|
||||
naplozasTabok.Fejlec = $"{OrarendResource.Naplozas} ({model.OraTartamText}, {naplozasTabok.Tantargy}, {naplozasTabok.OsztalyCsoport})";
|
||||
naplozasModel.TanoraAdatai.OratartamEsOraszam = model.OraTartamText;
|
||||
}
|
||||
|
||||
pm.AddCancelBtn(pm, closeTanoraMuveletWindowEvent);
|
||||
|
||||
if (model.Naplozhat)
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
|
||||
|
||||
if (!model.IsTanora)
|
||||
{
|
||||
var elmaradtOraRogzitesTestreszabas = !systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Elmaradt_tanitasi_ora_rogzitesenek_tiltasa);
|
||||
|
||||
if (elmaradtOraRogzitesTestreszabas)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
|
||||
{
|
||||
Name = elmaradt,
|
||||
Text = OrarendResource.ElmaradtOra,
|
||||
EventName = saveNemMegtartottTanoraEvent
|
||||
});
|
||||
}
|
||||
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = naplozas, Text = OrarendResource.OraNaplozasa, EventName = saveTanoraEvent });
|
||||
}
|
||||
else
|
||||
{
|
||||
if (model.Helyettesites.Tipus == (int)HelyettesitesTipusEnum.oraosszevonas)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
|
||||
{
|
||||
Name = oraOsszevonasDelete,
|
||||
Text = OrarendResource.OraOsszevonasTorlese,
|
||||
EventName = $"function(){{ {oraOsszevonasDeleteEvent}({model.OraAdat.TanitasiOraId}); }}"
|
||||
});
|
||||
}
|
||||
else if (!model.OraAdat.IsAdminAltalKiirt)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
|
||||
{
|
||||
Name = delete,
|
||||
Text = OrarendResource.NaplozasiAdatokTorlese,
|
||||
EventName = $"function(){{ {deleteTanoraEvent}('{model.OraAdat.VanOralatogatasa}', {(naplozasModel.HaziFeladat.HaziFeladat == null ? "false" : "true")}); }}"
|
||||
});
|
||||
}
|
||||
|
||||
var csengetesiRendOrakHelper = new CsengetesiRendOrakHelper(connectionType);
|
||||
if (!model.IsElmaradtOra)
|
||||
{
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel { Name = naplozas, Text = OrarendResource.NaplozasValtoztatasainakMentese, EventName = saveTanoraEvent });
|
||||
if (TanarKezelhetHelyettesitest())
|
||||
{
|
||||
var eventId = 0;
|
||||
if (model.OraAdat.CsengetesirendId.HasValue && model.OraAdat.Oraszam.HasValue)
|
||||
{
|
||||
var csengrendOraId = csengetesiRendOrakHelper.GetCsengetesiRendOraId(model.OraAdat.CsengetesirendId.Value, model.OraAdat.Oraszam.Value);
|
||||
if (csengrendOraId.HasValue)
|
||||
{
|
||||
eventId = csengrendOraId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
|
||||
{
|
||||
Name = oraOsszevonas,
|
||||
Text = OrarendResource.OraOsszevonas,
|
||||
EventName = $"function(){{ {oraOsszevonasPopUpEvent}({eventId},'{model.OraAdat.IsTanorankivuli.ToString().ToLower()}'); }}"
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var tanarVehetEFelOratMaganak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanar_vehet_e_fel_orat_maganak);
|
||||
|
||||
if (model.OraAdat.CsengetesirendId.HasValue && model.OraAdat.Oraszam.HasValue && tanarVehetEFelOratMaganak)
|
||||
{
|
||||
var eventId = 0;
|
||||
var csengrendOraId = csengetesiRendOrakHelper.GetCsengetesiRendOraId(model.OraAdat.CsengetesirendId.Value, model.OraAdat.Oraszam.Value);
|
||||
if (csengrendOraId.HasValue)
|
||||
{
|
||||
eventId = csengrendOraId.Value;
|
||||
}
|
||||
|
||||
pm.Buttons.Add(new Helpers.Modal.ModalButtonModel
|
||||
{
|
||||
Name = ujOraFelvitele,
|
||||
Text = OrarendResource.UjOraFelvitele,
|
||||
EventName = $"function(){{ {ujOraFelvitelePopUpEvent}({eventId},{(int)CalendarOraTypeEnum.UresOra},{(int)EventTypeEnum.UjEgyediOraFelvitel}); }}"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private bool TanarKezelhetHelyettesitest()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
return !systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Pedagogusok_csak_az_eloirt_helyettesiteseiket_regisztralhatjak_a_haladasi_naploban);
|
||||
}
|
||||
|
||||
private List<TabStripItemModel> GetNaplozasDetailTabs(NaplozasElokeszitesModel model, TanoraNaplozas naplozasModel, bool isErtekelestModosithatNaplozarasTipusaMiatt)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
|
||||
if (model.Naplozhat && model.OraAdat.OsztalyCsoportId.HasValue)
|
||||
{
|
||||
var mulasztasModel = naplozasModel.Mulasztas;
|
||||
mulasztasModel.HianyzokAutoKitoltes = !model.OraAdat.TanitasiOraId.HasValue && ProfileUtils.IsHianyzokAutoKitoltesEnabled;
|
||||
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var ds = helper.GetOraMentessegList(model.OraAdat.OraKezdete, model.OraAdat.OraVege, model.OraAdat.OsztalyCsoportId.Value);
|
||||
|
||||
if (ds.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
DataRow row = ds.Tables[0].Rows[0];
|
||||
mulasztasModel.JogviszonySzunetletetokDb = row.Field<int>("JogviszonyDb");
|
||||
mulasztasModel.JogviszonySzunetletetok = row.Field<string>("JogviszonyNevSor");
|
||||
mulasztasModel.SzakmaiGyakorlatonLevokDb = row.Field<int>("SzakmaiGyakDb");
|
||||
mulasztasModel.SzakmaiGyakorlatonLevok = row.Field<string>("SzakmaiGyakNevSor");
|
||||
}
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = OrarendResource.Naplozas,
|
||||
PartialViewName = MulasztasNaplozas_Tab,
|
||||
Model = mulasztasModel,
|
||||
IsActive = model.Naplozhat,
|
||||
});
|
||||
}
|
||||
|
||||
var isTanoraiCeluOsztalyCsoportDisabled = false;
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var isNemTanoraiCeluCsoportokErtekelesEnabled = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
|
||||
if (!isNemTanoraiCeluCsoportokErtekelesEnabled && model.OraAdat.OsztalyCsoportId.HasValue)
|
||||
{
|
||||
isTanoraiCeluOsztalyCsoportDisabled = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsOsztalyCsoportNemTanoraiCeluCsoport(model.OraAdat.OsztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
if (model.Ertekelhet && !isTanoraiCeluOsztalyCsoportDisabled && !model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
|
||||
{
|
||||
if (isErtekelestModosithatNaplozarasTipusaMiatt)
|
||||
{
|
||||
var ertekelesListModel = new ErtekelesController(Authorization).NaplozasPartialViewModel();
|
||||
ertekelesListModel.IsNaploErtekeles = true;
|
||||
ertekelesListModel.Datum = model.OraAdat.OraKezdete.Date;
|
||||
ertekelesListModel.TantargyId = model.OraAdat.TantargyId;
|
||||
ertekelesListModel.TantargyIdSearch = model.OraAdat.TantargyId;
|
||||
ertekelesListModel.OsztalyCsoportId = model.OraAdat.OsztalyCsoportId;
|
||||
ertekelesListModel.OsztalyCsoportIdSearch = model.OraAdat.OsztalyCsoportId;
|
||||
ertekelesListModel.TanarIdSearch = model.OraAdat.TanarId;
|
||||
ertekelesListModel.IsGridAutoBinded = false;
|
||||
|
||||
if (model.OraAdat.SzamonkeresModId.HasValue)
|
||||
{
|
||||
ertekelesListModel.ErtekelesTema = model.OraAdat.SzamonkeresMegnevezes;
|
||||
ertekelesListModel.ErtekelesModId = model.OraAdat.SzamonkeresModId.Value;
|
||||
}
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = OrarendResource.Ertekelesek,
|
||||
PartialViewName = TanuloErtekelesIndex,
|
||||
Model = ertekelesListModel,
|
||||
});
|
||||
}
|
||||
|
||||
var feljegyzesekModel = new FeljegyzesekSearchModel
|
||||
{
|
||||
ControllerName = Constants.Controllers.Beirasok,
|
||||
ApiControllerName = Constants.ApiControllers.BeirasokApi,
|
||||
};
|
||||
feljegyzesekModel.IsNaploFeljegyzes = true;
|
||||
feljegyzesekModel.CsoportIdSearch = model.OraAdat.OsztalyCsoportId;
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "3",
|
||||
ItemName = TanarResource.Feljegyzesek,
|
||||
PartialViewName = FeljegyzesekIndex,
|
||||
Model = feljegyzesekModel
|
||||
});
|
||||
}
|
||||
|
||||
if (model.Naplozhat && !model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
var haziModel = naplozasModel.HaziFeladat;
|
||||
|
||||
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
|
||||
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
|
||||
|
||||
haziModel.UsedFilesSizeInKiloBytesTotal = osszMeret;
|
||||
haziModel.MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg;
|
||||
|
||||
var haziFeladatTab = new TabStripItemModel()
|
||||
{
|
||||
ItemId = "4",
|
||||
ItemName = OrarendResource.HaziFeladat,
|
||||
PartialViewName = HaziFeladat_Tab,
|
||||
Model = haziModel
|
||||
};
|
||||
|
||||
list.Add(haziFeladatTab);
|
||||
}
|
||||
|
||||
if (!model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
|
||||
{
|
||||
list.Add(new TabStripItemModel
|
||||
{
|
||||
ItemId = "5",
|
||||
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
|
||||
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
|
||||
Model = naplozasModel.TanorakSearchModel,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
bool aktivTab = list.Where(x => x.IsActive).ToList().Count <= 0;
|
||||
list.Add(new TabStripItemModel
|
||||
{
|
||||
ItemId = "6",
|
||||
ItemName = OrarendResource.TanoraAdatai,
|
||||
PartialViewName = TanoraAdatai_Tab,
|
||||
Model = naplozasModel.TanoraAdatai,
|
||||
IsActive = aktivTab
|
||||
});
|
||||
|
||||
if (!model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
list.Add(new TabStripItemModel
|
||||
{
|
||||
ItemId = "7",
|
||||
ItemName = OrarendResource.NaplozasDigitalisOktatas,
|
||||
PartialViewName = NaplozasDigitalisOktatas_Tab,
|
||||
Model = naplozasModel.DigitalisOktatasAdatok
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<TabStripItemModel> GetNaplozasInfoTabs(NaplozasElokeszitesModel model, TanoraNaplozasInfoModel naplozasInfoModel, bool isErtekelestModosithatNaplozarasTipusaMiatt, HaziFeladatNaplozas haziFeladatNaplozas = null)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
bool hasSzamonkeresElorejelzesTab = model.OraAdat.OraKezdete.Date > DateTime.Now &&
|
||||
(ClaimData.FelhasznaloId == model.OraAdat.TanarId || (model.Helyettesites != null && ClaimData.FelhasznaloId == model.Helyettesites.TanarId));
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = Info_TanoraAdatai_Tab,
|
||||
ItemName = OrarendResource.TanoraAdatai,
|
||||
PartialViewName = Info_TanoraAdatai_Tab,
|
||||
Model = naplozasInfoModel.TanoraAdataiInfo,
|
||||
IsActive = !hasSzamonkeresElorejelzesTab
|
||||
});
|
||||
|
||||
if (!model.IsElmaradtOra)
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = Info_MulasztasNaplozas_Tab,
|
||||
ItemName = OrarendResource.MulasztasiAdatok,
|
||||
PartialViewName = Info_MulasztasNaplozas_Tab,
|
||||
Model = naplozasInfoModel.MulasztasInfo,
|
||||
});
|
||||
|
||||
if (!model.SzervezetTipusId.HasValue)//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = KorabbiOrakNaplozasiAdatai_Tab,
|
||||
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
|
||||
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
|
||||
Model = naplozasInfoModel.TanorakSearchModel,
|
||||
});
|
||||
|
||||
if (hasSzamonkeresElorejelzesTab)
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = SzamonkeresElorejelzes_Tab,
|
||||
ItemName = OrarendResource.SzamonkeresElorejelzes,
|
||||
PartialViewName = SzamonkeresElorejelzes_Tab,
|
||||
Model = naplozasInfoModel.SzamonkeresElorejelzesModel,
|
||||
IsActive = hasSzamonkeresElorejelzesTab
|
||||
});
|
||||
}
|
||||
|
||||
if (isErtekelestModosithatNaplozarasTipusaMiatt)
|
||||
{
|
||||
var ertekelesListModel = new ErtekelesController(Authorization).NaplozasPartialViewModel();
|
||||
ertekelesListModel.IsNaploErtekeles = true;
|
||||
ertekelesListModel.Datum = model.OraAdat.OraKezdete.Date;
|
||||
ertekelesListModel.TantargyId = model.OraAdat.TantargyId;
|
||||
ertekelesListModel.TantargyIdSearch = model.OraAdat.TantargyId;
|
||||
ertekelesListModel.OsztalyCsoportId = model.OraAdat.OsztalyCsoportId;
|
||||
ertekelesListModel.OsztalyCsoportIdSearch = model.OraAdat.OsztalyCsoportId;
|
||||
ertekelesListModel.TanarIdSearch = model.OraAdat.TanarId;
|
||||
ertekelesListModel.IsGridAutoBinded = false;
|
||||
|
||||
if (model.OraAdat.SzamonkeresModId.HasValue)
|
||||
{
|
||||
ertekelesListModel.ErtekelesTema = model.OraAdat.SzamonkeresMegnevezes;
|
||||
ertekelesListModel.ErtekelesModId = model.OraAdat.SzamonkeresModId.Value;
|
||||
}
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = OrarendResource.Ertekelesek,
|
||||
PartialViewName = TanuloErtekelesIndex,
|
||||
Model = ertekelesListModel,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
list.Add(new TabStripItemModel()//2.110-ben ha megoldodik a telje sDualis akkor vissze kell keruljon - KRETA2-12511
|
||||
{
|
||||
ItemId = "5",
|
||||
ItemName = OrarendResource.KorabbiOrakNaplozasiAdatai,
|
||||
PartialViewName = KorabbiOrakNaplozasiAdatai_Tab,
|
||||
Model = naplozasInfoModel.TanorakSearchModel,
|
||||
});
|
||||
|
||||
|
||||
if (haziFeladatNaplozas != null)
|
||||
{
|
||||
AddHaziFeladatNincsZarasElmaradtOra();
|
||||
}
|
||||
else
|
||||
{
|
||||
AddHaziFeladatZarasVagyJovobeliOra();
|
||||
}
|
||||
|
||||
if (!model.IsElmaradtOra)
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = Info_DigitalisOktatas_Tab,
|
||||
ItemName = OrarendResource.NaplozasDigitalisOktatas,
|
||||
PartialViewName = Info_DigitalisOktatas_Tab,
|
||||
Model = naplozasInfoModel.DigitalisOktatasModel,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
|
||||
void AddHaziFeladatNincsZarasElmaradtOra()
|
||||
{
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "4",
|
||||
ItemName = OrarendResource.HaziFeladat,
|
||||
PartialViewName = HaziFeladat_Tab,
|
||||
Model = haziFeladatNaplozas
|
||||
});
|
||||
}
|
||||
|
||||
void AddHaziFeladatZarasVagyJovobeliOra()
|
||||
{
|
||||
bool isJovobeliOra = model.OraAdat.OraKezdete.Date > DateTime.Now.Date;
|
||||
|
||||
var haziFeladatTab = new TabStripItemModel()
|
||||
{
|
||||
ItemId = Info_HaziFeladat_Tab,
|
||||
ItemName = OrarendResource.HaziFeladat
|
||||
};
|
||||
|
||||
if (isJovobeliOra)
|
||||
{
|
||||
haziFeladatTab.PartialViewName = HaziFeladat_Tab;
|
||||
|
||||
var dktFileHelper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
double osszMeret = dktFileHelper.GetHaziFeladatCsatolmanyokOsszMeret();
|
||||
int maxMegengedettAdatmennyiseg = dktFileHelper.GetMaxAdatmennyisegFelhasznalokent(ClaimData.FelhasznaloId);
|
||||
|
||||
haziFeladatTab.Model = new HaziFeladatNaplozas
|
||||
{
|
||||
Hatarido = model.Hazifeladat.Hatarido,
|
||||
HaziFeladat = model.Hazifeladat.Szoveg,
|
||||
Id = model.Hazifeladat.Id,
|
||||
IsTanarVehetFelHazitNaplozasNelkul = true,
|
||||
OrarendiOraId = model.OraAdat.OrarendiOraId,
|
||||
HelyettesitoId = model.Helyettesites.TanarId,
|
||||
NapDatuma = model.OraAdat.OraKezdete.Date,
|
||||
IsHaziFeladatHelper = true,
|
||||
UsedFilesSizeInKiloBytesTotal = osszMeret,
|
||||
CsatolmanyId = model.Hazifeladat.CsatolmanyId,
|
||||
MaxAllowedFilesSizeInKiloBytes = maxMegengedettAdatmennyiseg
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
haziFeladatTab.PartialViewName = Info_HaziFeladat_Tab;
|
||||
haziFeladatTab.Model = naplozasInfoModel.HaziFeladatInfo;
|
||||
}
|
||||
|
||||
list.Add(haziFeladatTab);
|
||||
}
|
||||
}
|
||||
|
||||
private WizardElovalasztoModel GetWizardElovalasztoModel(bool isSzakmaiGyakorlat = false)
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var model = new WizardElovalasztoModel
|
||||
{
|
||||
TanarVehetFelOratMaganak = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanar_vehet_e_fel_orat_maganak),
|
||||
LehetOratFelvenniTTFNelkul = isSzakmaiGyakorlat ? systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_egyedi_rogzites) : systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lehet_orat_felvenni_TTF_nelkul),
|
||||
TanarKezelhetHelyettesitest = TanarKezelhetHelyettesitest()
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
107
KretaWeb/Areas/Orarend/Controllers/CsoportOrarendController.cs
Normal file
107
KretaWeb/Areas/Orarend/Controllers/CsoportOrarendController.cs
Normal file
|
@ -0,0 +1,107 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class CsoportOrarendController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new CsoportVezetoOrarendModel();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
#region Calendar megjelenítés
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
#endregion Calendar megjelenítés
|
||||
|
||||
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
|
||||
model.TabList = GetTanariOrarendTabs();
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
private List<TabStripItemModel> GetTanariOrarendTabs()
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
|
||||
var haladasiNaploFulTipusa = ProfileUtils.HaladasiNaploFulTipusa;
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = AdminisztracioResource.Tanorak,
|
||||
Area = "Orarend",
|
||||
Controller = "CsoportOrarend",
|
||||
Action = "GetTanorak",
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "0"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Tanorak
|
||||
});
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = AdminisztracioResource.Napirend,
|
||||
Area = "Orarend",
|
||||
Controller = "CsoportOrarend",
|
||||
Action = "GetTanoranKivuliFoglalkozasok",
|
||||
RouteParameters = new Dictionary<string, string>()
|
||||
{
|
||||
{"index", "1"}
|
||||
},
|
||||
IsActive = haladasiNaploFulTipusa == HaladasiNaploFulTipus.Napirend
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public ActionResult GetTanorak(int index = 0)
|
||||
{
|
||||
var model = new TanariOrarendTanorakModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("Tanorak_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
var model = new TanariOrarendTanoranKivuliFoglalkozasokModel()
|
||||
{
|
||||
Index = index
|
||||
};
|
||||
return View("TanoranKivuliFoglalkozasok_Tab", model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminOsztalyOrarendController : BaseAdminOsztalyOrarendController
|
||||
{
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminTanariOrarendController : BaseAdminTanariOrarendController
|
||||
{
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisAdminTeremOrarendController : BaseAdminTeremOrarendController
|
||||
{
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public ActionResult GetOrarendiOrak(int index = 0)
|
||||
{
|
||||
return GetOrarendiOrak(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult GetTanoranKivuliFoglalkozasok(int index = 1)
|
||||
{
|
||||
return GetTanoranKivuliFoglalkozasok(index, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewOrarendiOraPopUp(OsztalyOrarendModel model)
|
||||
{
|
||||
return OpenNewOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyOrarendiOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyOrarendiOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyFoglalkozasokOraPopUp(CalendarModel model)
|
||||
{
|
||||
return OpenModifyFoglalkozasokOraPopUp(model, IsDualisKepzesEnabled);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Feljegyzes.Models;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisTanariOrarendController : BaseTanariOrarendController
|
||||
{
|
||||
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public int? SzervezetTipusId => IsDualisKepzesEnabled ? (int)SzervezetTipusEnum.Dualis : (int?)null;
|
||||
|
||||
public DualisTanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper) : base(authorization, fileServiceHelper)
|
||||
{
|
||||
Authorization = authorization;
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model)
|
||||
{
|
||||
return TanorakOrarendEvent(model, SzervezetTipusId);
|
||||
}
|
||||
|
||||
public DateTime GetTanevUtolsoNapja()
|
||||
{
|
||||
return GetTanevUtolsoNapja(SzervezetTipusId);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,393 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.FileService;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsPortas.ClaimValue)]
|
||||
public class HazifeladatokListajaController : Controller
|
||||
{
|
||||
private readonly IFileService FileService;
|
||||
public HazifeladatokListajaController(IFileService fileService)
|
||||
{
|
||||
FileService = fileService ?? throw new ArgumentNullException(nameof(fileService));
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new HazifeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Admin,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
|
||||
IsKapcsolodoOsztalyCsoportokVisible = true,
|
||||
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult IndexTanar()
|
||||
{
|
||||
var model = new HazifeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Tanar,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
|
||||
TanarIdSrc = ClaimData.FelhasznaloId,
|
||||
IsJustTanar = true
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult FeladatokListajaTanar()
|
||||
{
|
||||
var model = new FeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Tanar,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
|
||||
TanarIdSrc = ClaimData.FelhasznaloId,
|
||||
IsJustTanar = true
|
||||
};
|
||||
|
||||
return View("FeladatokListajaIndex", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public ActionResult FeladatokListaja()
|
||||
{
|
||||
var model = new FeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Admin,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetOsztalyCsoportListByEvfolyam),
|
||||
IsKapcsolodoOsztalyCsoportokVisible = true,
|
||||
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
|
||||
};
|
||||
|
||||
return View("FeladatokListajaIndex", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public ActionResult IndexCsopvez()
|
||||
{
|
||||
var model = new HazifeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Csopvez,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetCsoportVezListWithTanoraiCeluak)
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue)]
|
||||
public ActionResult IndexOfo()
|
||||
{
|
||||
var model = new HazifeladatokListajaSrcModel
|
||||
{
|
||||
HazifeladatokListajaTipus = HazifeladatokListajaTipusEnum.Ofo,
|
||||
OsztalyCsoportComboUrl = nameof(ComboBoxHelperApiController.GetTanitottOsztalyokList),
|
||||
IsKapcsolodoOsztalyCsoportokVisible = true,
|
||||
KellKapcsolodoCsoportokSrc = true
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetOrarendEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma)
|
||||
{
|
||||
CalendarModel calendar = new CalendarModel();
|
||||
|
||||
calendar.EventId = eventId;
|
||||
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
|
||||
calendar.Start = haziFeladatRogzitesDatuma;
|
||||
|
||||
return OrarendEvent(calendar);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetFeladatEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int feladatTipusId)
|
||||
{
|
||||
CalendarModel calendar = new CalendarModel();
|
||||
|
||||
calendar.EventId = eventId;
|
||||
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
|
||||
calendar.Start = haziFeladatRogzitesDatuma;
|
||||
|
||||
var feladatTipusEnum = (FeladatTipusEnum)feladatTipusId;
|
||||
return FeladatEvent(calendar, feladatTipusEnum);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetOrarendModEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma)
|
||||
{
|
||||
CalendarModel calendar = new CalendarModel();
|
||||
|
||||
calendar.EventId = eventId;
|
||||
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
|
||||
calendar.Start = haziFeladatRogzitesDatuma;
|
||||
|
||||
return OrarendModEvent(calendar);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetFeladatModEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int feladatTipusId)
|
||||
{
|
||||
CalendarModel calendar = new CalendarModel();
|
||||
|
||||
calendar.EventId = eventId;
|
||||
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
|
||||
calendar.Start = haziFeladatRogzitesDatuma;
|
||||
|
||||
var feladatTipusEnum = (FeladatTipusEnum)feladatTipusId;
|
||||
return FeladatModEvent(calendar, feladatTipusEnum);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult OrarendEvent(CalendarModel calendarModel)
|
||||
{
|
||||
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
|
||||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var model = new InformaciokOra();
|
||||
var pm = new PopUpModel(model, "OraAdatok_Info");
|
||||
model.TabList = GetDetailTabs(calendarModel);
|
||||
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult FeladatEvent(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
|
||||
{
|
||||
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
|
||||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var model = new InformaciokOra();
|
||||
var pm = new PopUpModel(model, "OraAdatok_Info");
|
||||
model.TabList = GetFeladatDetailTabs(calendarModel, feladatTipus);
|
||||
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult OrarendModEvent(CalendarModel calendarModel)
|
||||
{
|
||||
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
|
||||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var model = new InformaciokOra();
|
||||
var pm = new PopUpModel(model, "OraAdatok_Mod");
|
||||
model.TabList = GetModTabs(calendarModel);
|
||||
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.modOraCancel");
|
||||
pm = pm.AddBtn(pm, "SaveHazifeladat", OrarendResource.HazifeladatModistasa, "InformaciokOrarend.modOraSave");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult FeladatModEvent(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
|
||||
{
|
||||
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
|
||||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var model = new InformaciokOra();
|
||||
var pm = new PopUpModel(model, "OraAdatok_Mod");
|
||||
model.TabList = GetFeladatModTabs(calendarModel, feladatTipus);
|
||||
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.modOraCancel");
|
||||
pm = pm.AddBtn(pm, "SaveHazifeladat", $"{GetFeladatTipusDisplayName(feladatTipus)} módosítása", "InformaciokOrarend.modOraSave");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public List<TabStripItemModel> GetDetailTabs(CalendarModel calendarModel)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = OrarendResource.HaziFeladat,
|
||||
Area = "Orarend",
|
||||
Controller = "HazifeladatokListaja",
|
||||
Action = "GetHaziFeladat_Tab",
|
||||
RouteParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() }
|
||||
}
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public List<TabStripItemModel> GetFeladatDetailTabs(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = GetFeladatTipusDisplayName(feladatTipus),
|
||||
Area = "Orarend",
|
||||
Controller = "HazifeladatokListaja",
|
||||
Action = "GetFeladat_Tab",
|
||||
RouteParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() },
|
||||
{ "FeladatTipusId", ((int)feladatTipus).ToString() }
|
||||
}
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public List<TabStripItemModel> GetModTabs(CalendarModel calendarModel)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = OrarendResource.HaziFeladat,
|
||||
Area = "Orarend",
|
||||
Controller = "HazifeladatokListaja",
|
||||
Action = "GetHaziFeladatMod_Tab",
|
||||
RouteParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() }
|
||||
}
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public List<TabStripItemModel> GetFeladatModTabs(CalendarModel calendarModel, FeladatTipusEnum feladatTipus)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = GetFeladatTipusDisplayName(feladatTipus),
|
||||
Area = "Orarend",
|
||||
Controller = "HazifeladatokListaja",
|
||||
Action = "GetFeladatMod_Tab",
|
||||
RouteParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() },
|
||||
{ "FeladatTipusId", ((int)feladatTipus).ToString() }
|
||||
}
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetHaziFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date)
|
||||
{
|
||||
var model = GetHaziFeladatok(id, eventType, date);
|
||||
return PartialView("TanuloHaziFeladat_Tab", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int feladatTipusId)
|
||||
{
|
||||
var model = GetHaziFeladatok(id, eventType, date, feladatTipusId);
|
||||
return PartialView("TanuloHaziFeladat_Tab", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetHaziFeladatMod_Tab(int id, CalendarOraTypeEnum eventType, DateTime date)
|
||||
{
|
||||
var model = GetHaziFeladatokMod(id, eventType, date);
|
||||
return PartialView("Hazifeladat_Bevitel", model);
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public ActionResult GetFeladatMod_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int feladatTipusId)
|
||||
{
|
||||
var model = GetHaziFeladatokMod(id, eventType, date, feladatTipusId);
|
||||
return PartialView("Hazifeladat_Bevitel", model);
|
||||
}
|
||||
|
||||
private TanuloHaziFeladatTabModel GetHaziFeladatok(int eventId, CalendarOraTypeEnum oraType, DateTime date, int feladatTipusId = (int)FeladatTipusEnum.HaziFeladat)
|
||||
{
|
||||
try
|
||||
{
|
||||
return new TanuloHaziFeladatTabModel(new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo, feladatTipusId));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
}
|
||||
|
||||
private HazifeladatBevitelModel GetHaziFeladatokMod(int eventId, CalendarOraTypeEnum oraType, DateTime date, int feladatTipusId = (int)FeladatTipusEnum.HaziFeladat)
|
||||
{
|
||||
try
|
||||
{
|
||||
var co = new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo, feladatTipusId);
|
||||
var model = new HazifeladatBevitelModel()
|
||||
{
|
||||
Id = co.TanarHaziFeladat.Id,
|
||||
ErvenyessegVege = co.TanarHaziFeladat.Hatarido,
|
||||
Szoveg = co.TanarHaziFeladat.Szoveg,
|
||||
FeladatTipusId = co.TanarHaziFeladat.FeladatTipusId
|
||||
};
|
||||
|
||||
if (co.TanarHaziFeladat.Csatolmanyok.Count == 1)
|
||||
model.CsatolmanyId = co.TanarHaziFeladat.Csatolmanyok.First().Key;
|
||||
|
||||
return model;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
}
|
||||
|
||||
private string GetFeladatTipusDisplayName(FeladatTipusEnum feladatTipus)
|
||||
{
|
||||
return feladatTipus == FeladatTipusEnum.HaziFeladat ? OrarendResource.Feladat : feladatTipus.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
|
||||
public class InformaciokFogadoorakController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (!systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,226 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokOrarendController : Controller
|
||||
{
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
public InformaciokOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
Authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new InformaciokOrarendModel();
|
||||
|
||||
var helper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hetesekHelper = new HetesekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.HetirendJson = helper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = helper.GetNaptariHetekHetirendek();
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (ClaimData.IsTanuloOrGondviselo && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.hetesek_megjelenitese_az_elektronikus_ellenorzoben))
|
||||
{
|
||||
List<int> osztalyCsoportIdList = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloOsztalyIdList(ClaimData.FelhasznaloId);
|
||||
var hetHelper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.AktualisHetSorszam = hetHelper.GetNaptariHetSorszamByDate(DateTime.Now);
|
||||
|
||||
if (osztalyCsoportIdList.Any())
|
||||
{
|
||||
var tanulok = hetesekHelper.GetHetesSzovegHetsorszammal(osztalyCsoportIdList);
|
||||
|
||||
var serializerSettings = new JsonSerializerSettings();
|
||||
serializerSettings.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
|
||||
|
||||
model.HetesekJson = JsonConvert.SerializeObject(tanulok, serializerSettings);
|
||||
model.HetesekJson = model.HetesekJson.Replace("\x7F", "\\u007f");
|
||||
}
|
||||
}
|
||||
|
||||
var co = helper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin;
|
||||
model.CalendarMaxTime = co.CalendarMax;
|
||||
model.IsOraTemaTooltip = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Tanora_Tema_Az_Ellenorzoben);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult GetOrarendEvent(int eventId, bool isTanitasiOra_BOOL, DateTime haziFeladatRogzitesDatuma, int? tanuloId = null, string megoldva = null)
|
||||
{
|
||||
CalendarModel calendar = new CalendarModel();
|
||||
|
||||
calendar.EventId = eventId;
|
||||
calendar.OraType = isTanitasiOra_BOOL ? CalendarOraTypeEnum.TanitasiOra : CalendarOraTypeEnum.OrarendiOra;
|
||||
calendar.Start = haziFeladatRogzitesDatuma;
|
||||
|
||||
return OrarendEvent(calendar, tanuloId, megoldva);
|
||||
}
|
||||
|
||||
public ActionResult OrarendEvent(CalendarModel calendarModel, int? tanuloId = null, string megoldva = null)
|
||||
{
|
||||
if (calendarModel.OraType == CalendarOraTypeEnum.TanevRendjeEsemeny ||
|
||||
calendarModel.OraType == CalendarOraTypeEnum.UresOra)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var model = new InformaciokOra();
|
||||
var pm = new PopUpModel(model, "OraAdatok_Info");
|
||||
model.TabList = GetDetailTabs(calendarModel, tanuloId, megoldva);
|
||||
pm = pm.AddCancelBtn(pm, "InformaciokOrarend.detailOraInfoCancel");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetDetailTabs(CalendarModel calendarModel, int? tanuloId = null, string megoldva = null)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>();
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = StringResourcesUtil.GetString(3331) /*Óra adatai*/,
|
||||
Area = "Orarend",
|
||||
Controller = "InformaciokOrarend",
|
||||
Action = "GetOraAdatok",
|
||||
RouteParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() }
|
||||
}
|
||||
});
|
||||
|
||||
var routeParameters = new Dictionary<string, string>() {
|
||||
{ "Id", calendarModel.EventId.ToString() },
|
||||
{ "EventType", ((int)calendarModel.OraType).ToString() },
|
||||
{ "Date" , calendarModel.Start.Date.ToString() }
|
||||
};
|
||||
|
||||
if (tanuloId != null)
|
||||
routeParameters.Add("TanuloId", tanuloId.ToString());
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(megoldva))
|
||||
routeParameters.Add("Megoldva", megoldva.ToString());
|
||||
|
||||
list.Add(new TabStripItemModel()
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = OrarendResource.HaziFeladat,
|
||||
Area = "Orarend",
|
||||
Controller = "InformaciokOrarend",
|
||||
Action = "GetHaziFeladat_Tab",
|
||||
RouteParameters = routeParameters
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
public ActionResult GetHaziFeladat_Tab(int id, CalendarOraTypeEnum eventType, DateTime date, int? tanuloId = null, string megoldva = null)
|
||||
{
|
||||
if (!Authorization.IsValidEvent(id, eventType, date))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
|
||||
}
|
||||
|
||||
var model = GetHaziFeladatok(id, eventType, date);
|
||||
|
||||
return PartialView("TanuloHaziFeladat_Tab", model);
|
||||
}
|
||||
|
||||
public ActionResult GetOraAdatok(int id, CalendarOraTypeEnum eventType, DateTime date)
|
||||
{
|
||||
if (!Authorization.IsValidEvent(id, eventType, date))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
|
||||
}
|
||||
|
||||
var model = GetOraAdatai(id, eventType, date);
|
||||
return PartialView("Info_TanuloOraAdatok_Tab", model);
|
||||
}
|
||||
|
||||
private InformaciokOraAdatai GetOraAdatai(int eventId, CalendarOraTypeEnum eventType, DateTime date)
|
||||
{
|
||||
int? orarendiOraId = null;
|
||||
int? tanitasiOraId = null;
|
||||
var model = new InformaciokOraAdatai();
|
||||
model.IsTanora = eventType == CalendarOraTypeEnum.TanitasiOra;
|
||||
if (model.IsTanora)
|
||||
{
|
||||
tanitasiOraId = eventId;
|
||||
|
||||
MulasztasHelper h = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var mulasztas = h.GetTanuloTanoraiMulasztasa(ClaimData.FelhasznaloId, tanitasiOraId.Value);
|
||||
model.MulasztasText = string.IsNullOrWhiteSpace(mulasztas) ? "-" : mulasztas;
|
||||
}
|
||||
else
|
||||
{
|
||||
orarendiOraId = eventId;
|
||||
}
|
||||
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var adatok = helper.GetTanuloOraAdatai(orarendiOraId, tanitasiOraId, date);
|
||||
|
||||
var openBoardHelper = new OpenBoardHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType(), fileServiceHelper);
|
||||
|
||||
// Helyettesítés csak akkor látható tanulónál, ha be van kapcsolva a rendszerbeállításokba, vagy már naplózott az óra.
|
||||
var isHelyettesitesLathato = new SystemSettingsHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.helyettesites_lathatosaga_az_ellenorzoben);
|
||||
|
||||
model.IsHelyettesitoTanarLathato = isHelyettesitesLathato || model.IsTanora;
|
||||
|
||||
model.Targy = adatok.Targy;
|
||||
model.HelyettesitoTanar = adatok.HelyettesitoTanar;
|
||||
model.Megtartott = adatok.Megtartott;
|
||||
model.OsztalyNev = adatok.OsztalyNev;
|
||||
model.Tanar = adatok.Tanar;
|
||||
model.Tema = adatok.Tema;
|
||||
model.Terem = adatok.Terem;
|
||||
model.Oraszam = adatok.Oraszam;
|
||||
model.Datum = date.ToShortDateString();
|
||||
model.SzamonkeresMegnevezes = adatok.SzamonkeresMegnevezes;
|
||||
model.SzamonkeresMod = adatok.SzamonkeresMod;
|
||||
model.OraTartam = string.Format("{0} - {1}", adatok.OraKezdet, adatok.OraVege);
|
||||
model.OpenBoardFiles = openBoardHelper.GetFeltoltottFajlokToTanuloOraAdat(date, orarendiOraId, tanitasiOraId);
|
||||
return model;
|
||||
}
|
||||
|
||||
private TanuloHaziFeladatTabModel GetHaziFeladatok(int eventId, CalendarOraTypeEnum oraType, DateTime date)
|
||||
{
|
||||
try
|
||||
{
|
||||
return new TanuloHaziFeladatTabModel(new DktFeladatHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHaziFeladatTabCo(eventId, oraType, date, ClaimData.IsTanuloOrGondviselo));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran) { UnHandledException = e };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokTanorakController : Controller
|
||||
{
|
||||
// GET: Orarend/InformaciokTanorak
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new InformaciokSearchModel();
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanitasiOraInfoPopUp(int tanitasiOraId, DateTime datum)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanitasiOraInfoModel tanitasiOraInfoModel;
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
TanoraCO tanoraCO = helper.GetTanoraByOrarendiId(tanitasiOraId, datum, true, ClaimData.IsTanuloOrGondviselo);
|
||||
tanitasiOraInfoModel = new TanitasiOraInfoModel
|
||||
{
|
||||
Datum = tanoraCO.Datum.ToShortDateString(),
|
||||
Oraszam = tanoraCO.Oraszam,
|
||||
HetNapja = tanoraCO.HetNapjaNev,
|
||||
Hetirend = tanoraCO.HetirendNev,
|
||||
Foglalkozas = tanoraCO.FoglalkozasNev,
|
||||
OsztalyCsoport = tanoraCO.OsztalyCsoportNev,
|
||||
Tantargy = tanoraCO.TantargyNev,
|
||||
Tanar = tanoraCO.TanarNev,
|
||||
Terem = tanoraCO.TeremNev,
|
||||
Megtartott = tanoraCO.Megtartott.HasValue ? tanoraCO.Megtartott.Value.GetDisplayName() : StringResourcesUtil.GetString(3610)/*Nem naplózott*/,
|
||||
Sorszamozando = tanoraCO.Sorszamozando.GetDisplayName(),
|
||||
OraKezdete = tanoraCO.OraKezd.ToString("HH:mm"),
|
||||
OraVege = tanoraCO.OraVeg.ToString("HH:mm"),
|
||||
Tema = tanoraCO.Tema,
|
||||
Megjegyzes = tanoraCO.Megjegyzes,
|
||||
HaziFeladat = tanoraCO.HaziFeladat
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanitasiOraInfoModel, "Info_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "InformaciokTanitasiOraHelper.tanitasiOraInfoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
48
KretaWeb/Areas/Orarend/Controllers/KepekListajaController.cs
Normal file
48
KretaWeb/Areas/Orarend/Controllers/KepekListajaController.cs
Normal file
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Controllers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsPortas.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class KepekListajaController : Controller
|
||||
{
|
||||
private readonly IFileServiceHelper FileServiceHelper;
|
||||
private IFeatureContext FeatureContext { get; set; }
|
||||
|
||||
public KepekListajaController(IFeatureContext featureContext, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View("Index");
|
||||
}
|
||||
|
||||
public ActionResult OpenKepInfoPopUp(int oraFileId)
|
||||
{
|
||||
return PartialView(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenKepInfo(oraFileId, FileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult OpenModifyKepPopUp(int oraFileId)
|
||||
{
|
||||
return PartialView(Constants.General.PopupView, KepekListajaLogic.GetPopUpModelOpenModifyKep(oraFileId));
|
||||
}
|
||||
|
||||
public string DownloadSelectedKep(List<int> selectedOraFileIdList)
|
||||
{
|
||||
var guid = KepekListajaLogic.DownloadSelectedKep(selectedOraFileIdList, FileServiceHelper);
|
||||
return Url.Action(nameof(CacheController.DownloadFile), nameof(CacheController).Replace("Controller", ""), new { guid, fileName = "képek.zip", contentType = Constants.ImportExport.ContentType, area = "" });
|
||||
}
|
||||
}
|
||||
}
|
102
KretaWeb/Areas/Orarend/Controllers/OrarendekTorleseController.cs
Normal file
102
KretaWeb/Areas/Orarend/Controllers/OrarendekTorleseController.cs
Normal file
|
@ -0,0 +1,102 @@
|
|||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class OrarendekTorleseController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult OpenSelectorPopup([FromBody] string url)
|
||||
{
|
||||
var popupModel = new PopUpModel(null, "Selector_Popup");
|
||||
popupModel.AddBtn(popupModel, "BtnVissza", CommonResource.Vissza, $"function () {{OrarendekTorleseHelper.visszaUrl('{url}')}}");
|
||||
|
||||
return PartialView(Constants.General.PopupView, popupModel);
|
||||
}
|
||||
|
||||
public ActionResult LoadFeladatellatasiHelyView()
|
||||
{
|
||||
var helper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var model = new FelhelyOrarendTorleseModel();
|
||||
(model.MinDatum, model.MaxDatum) = helper.GetMinMaxDatumValaszto();
|
||||
model.FelhelyList.AddRange(helper.GetFeladatellatasiHelyek(true).Select(x => new SelectListItem
|
||||
{
|
||||
Text = x.Text,
|
||||
Value = x.Value,
|
||||
}));
|
||||
model.OraTipusok.AddRange(helper.GetNezetTipusok().Select(x => new SelectListItem
|
||||
{
|
||||
Text = x.Text,
|
||||
Value = x.Value,
|
||||
}));
|
||||
return PartialView("FeladatellatasiHely_View", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadOsztalyView()
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var osztalyList = osztalyCsoportHelper.GetOsztalyCsoportCoList().Where(ocs => ocs.IsOsztaly).Select(cs => new OrarendTorleseOsztalyCsoportListItem
|
||||
{
|
||||
Id = cs.Id,
|
||||
Nev = cs.Nev,
|
||||
FeladatellatasiHelyId = cs.FeladatellatasiHelyId
|
||||
});
|
||||
|
||||
var model = new OsztalyOrarendTorleseModel
|
||||
{
|
||||
OsztalyList = osztalyList
|
||||
};
|
||||
|
||||
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
|
||||
model.OraTipusok.AddRange(orarendTorleseHelper.GetNezetTipusok().Select(x => new SelectListItem
|
||||
{
|
||||
Text = x.Text,
|
||||
Value = x.Value,
|
||||
}));
|
||||
|
||||
return PartialView("Osztaly_View", model);
|
||||
}
|
||||
|
||||
public ActionResult LoadCsoportView()
|
||||
{
|
||||
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csoportList = osztalyCsoportHelper.GetOsztalyCsoportCoList().Where(ocs => !ocs.IsOsztaly).Select(cs => new OrarendTorleseOsztalyCsoportListItem
|
||||
{
|
||||
Id = cs.Id,
|
||||
Nev = cs.Nev,
|
||||
FeladatellatasiHelyId = cs.FeladatellatasiHelyId
|
||||
});
|
||||
|
||||
var model = new CsoportOrarendTorleseModel
|
||||
{
|
||||
CsoportList = csoportList
|
||||
};
|
||||
|
||||
var orarendTorleseHelper = new OrarendTorleseHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
(model.MinDatum, model.MaxDatum) = orarendTorleseHelper.GetMinMaxDatumValaszto();
|
||||
model.OraTipusok.AddRange(orarendTorleseHelper.GetNezetTipusok().Select(x => new SelectListItem
|
||||
{
|
||||
Text = x.Text,
|
||||
Value = x.Value,
|
||||
}));
|
||||
|
||||
return PartialView("Csoport_View", model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class OsztalyOrarendController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class OsztalyOrarendKeresoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
|
||||
if (sysParamList.Contains("OsztalyOrarendKereso"))
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
var model = new OrarendKeresoModel();
|
||||
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class TanarOralatogatasController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new OralatogatasModel();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
#region Calendar megjelenítés
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin;
|
||||
model.CalendarMaxTime = co.CalendarMax;
|
||||
#endregion
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult OralatogatasEvent(OralatogatasExtendModel oralatogatasExtendModel)
|
||||
{
|
||||
try
|
||||
{
|
||||
OralatogatasokCO co;
|
||||
var helper = new OralatogatasokHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
co = helper.GetOraOralatogatasa(oralatogatasExtendModel.CalendarModel.EventId, ClaimData.FelhasznaloId);
|
||||
var tanoraCo = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanorakAdatok(oralatogatasExtendModel.CalendarModel.EventId);
|
||||
|
||||
var oModel = ConvertCoToModel(co);
|
||||
oModel.OralatogatasDatuma = oralatogatasExtendModel.CalendarModel.Start;
|
||||
oModel.OraID = oralatogatasExtendModel.CalendarModel.EventId;
|
||||
oModel.TanitasiOraTema = tanoraCo.Tema;
|
||||
oModel.IsNemKellNemKotottSystemSettings = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(Enums.RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
|
||||
|
||||
var model = new PopUpModel(oModel, "Oralatogatas_Bevitel");
|
||||
model.AddCancelBtn(model, "OralatogatasHelper.windowCancel");
|
||||
model.AddOkBtn(model, "OralatogatasHelper.windowSave");
|
||||
|
||||
if (oralatogatasExtendModel.CalendarModel.OraType == Enums.ManualEnums.CalendarOraTypeEnum.Egyeb)
|
||||
model.AddBtn(model, "OralatogatasTorles", 4739, "OralatogatasHelper.windowDelete", "pull-left");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private OralatogatasModel ConvertCoToModel(OralatogatasokCO co)
|
||||
{
|
||||
OralatogatasModel model = new OralatogatasModel();
|
||||
|
||||
if (co != null)
|
||||
{
|
||||
model.OralatogatasSzovege = co.Megjegyzes;
|
||||
model.OralatogatasID = co.Id;
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
||||
}
|
395
KretaWeb/Areas/Orarend/Controllers/TanariOrarendController.cs
Normal file
395
KretaWeb/Areas/Orarend/Controllers/TanariOrarendController.cs
Normal file
|
@ -0,0 +1,395 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Feljegyzes.Models;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
using Kreta.Web.Utils;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class TanariOrarendController : BaseTanariOrarendController
|
||||
{
|
||||
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public TanariOrarendController(IKretaAuthorization authorization, IFileServiceHelper fileServiceHelper) : base(authorization, fileServiceHelper)
|
||||
{
|
||||
Authorization = authorization;
|
||||
this.fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var dualisOktato = Authorization.IsValidDualisOktato();
|
||||
var model = new TanariOrarendModel();
|
||||
model.SzervezetTipusId = dualisOktato ? (int)SzervezetTipusEnum.Dualis : (int?)null;
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
model.IsNemKellNemKotott = dualisOktato || systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
|
||||
var fogadooraMegjelenik = !dualisOktato && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese) && !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue);
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(dualisOktato);
|
||||
model.LezartOsztalyokEsOsztalybontottCsoportokIdList = naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik();
|
||||
|
||||
model.FelhasznalodTanarId = ClaimData.FelhasznaloId;
|
||||
model.TanevUtolsoTanitasiNap = dualisOktato ? tanevHelper.GetTanevInfo().UtolsoNap.AddDays(1) : tanevHelper.GetTanevInfo().UtolsoTanitasiNap.AddDays(1);
|
||||
model.RendkivuliTanitasiNapok = !dualisOktato ? tanevHelper.GetTanevRendkivuliNapok() : new List<DateTime>();
|
||||
model.IsShowRogzitottOrak = !dualisOktato && systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_megjelenitese);
|
||||
|
||||
#region Calendar megjelenítés
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = dualisOktato ? new TimeSpan(0, 0, 0) : co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = dualisOktato ? new TimeSpan(23, 59, 59) : co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
//var csengetesiRendOrakHelper = new CsengetesiRendOrakHelper();
|
||||
|
||||
//DataSet ds = csengetesiRendOrakHelper.GetCsengetesiOrakKezdVeg();
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
#endregion Calendar megjelenítés
|
||||
|
||||
model.ShowKerdoivPopup = new KerdoivHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetShowKerdoivPopup(ClaimData.IsAlkalmazottPedagogus);
|
||||
model.TabList = GetTanariOrarendTabs(fogadooraMegjelenik, dualisOktato);
|
||||
|
||||
ViewBag.nemKotottMunkaidoStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.nemKotottMunkaidoEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Nem_kotott_munkaido_megjelenesenek_zaroidopontja);
|
||||
ViewBag.napirendStart = dualisOktato ? model.CalendarMinTime.ToString() : systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = dualisOktato ? model.CalendarMaxTime.ToString() : systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
ViewBag.fogadooraStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Fogado_Ora_Kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.fogadooraEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Fogado_Ora_Zaroidopontja);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult TanorakOrarendEvent(TanoraIdBeallitasModel model)
|
||||
{
|
||||
return base.TanorakOrarendEvent(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewFoglalkozasokOraPopUp(TanoraIdBeallitasModel model)
|
||||
{
|
||||
return OpenNewFoglalkozasokOraPopUp(model, false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardElovalaszto(DateTime? datum = null)
|
||||
{
|
||||
return GetWizardElovalaszto(datum, false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardHelyettesitesElovalaszto(DateTime? datum = null, int hiba = -1)
|
||||
{
|
||||
return GetWizardHelyettesitesElovalaszto(datum, hiba, false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardOrarendioraValaszto(string startDate, string endDate, string hanyadikora, string helyettesitoId, bool isNapirend = false, bool isEgyediHelyettesites = false)
|
||||
{
|
||||
return GetWizardOrarendioraValaszto(startDate, endDate, hanyadikora, helyettesitoId, isNapirend, isEgyediHelyettesites, false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardHelyettesites()
|
||||
{
|
||||
return GetWizardHelyettesites(false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardOraosszevonasHelyettesites()
|
||||
{
|
||||
return GetWizardOraosszevonasHelyettesites(false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardFoglalkozas(int foglalkozasFilterId, bool isNapirend = false, DateTime? datum = null, int? hanyadikOra = null)
|
||||
{
|
||||
return GetWizardFoglalkozas(foglalkozasFilterId, isNapirend, datum, hanyadikOra, false);
|
||||
}
|
||||
|
||||
public ActionResult GetWizardEgyedi(int foglalkozasFilterId, DateTime datum, bool isNapirend = false, int? hanyadikOra = null)
|
||||
{
|
||||
return GetWizardEgyedi(foglalkozasFilterId, datum, isNapirend, hanyadikOra, false);
|
||||
}
|
||||
|
||||
public ActionResult OpenNewNemKotottMunkaidoPopUp(CalendarModel model)
|
||||
{
|
||||
var nkmm = new NemKotottMunkaidoModel()
|
||||
{
|
||||
Datum = model.Start.ToLocalTime().Date,
|
||||
Kezdet = model.Start.ToLocalTime(),
|
||||
Veg = model.End.ToLocalTime(),
|
||||
TanarId = ClaimData.FelhasznaloId,
|
||||
isMegtartott = true,
|
||||
HetirendId = 1554 /*Minden héten*/
|
||||
};
|
||||
|
||||
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.newNemKotottMunkaidoCancel");
|
||||
|
||||
if (new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).IsNaplozhatZarastolFuggetlenul(nkmm.Kezdet.Value, null))
|
||||
{
|
||||
pm = pm.AddBtn(pm, "newNemKotottMunkaidoSave", 3804 /*Naplózás*/, "NemKotottMunkaido.newNemKotottMunkaidoSave");
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult OpenModNemKotottMunkaidoPopUp(CalendarModel model)
|
||||
{
|
||||
if (!Authorization.IsValidNemKotottMunkaido(model.EventId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
|
||||
}
|
||||
|
||||
var nkmm = GetModNemKotottMunkaidoModel(model);
|
||||
var pm = new PopUpModel(nkmm, "NemKotottMunkaido_Bevitel");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoCancel", AdminisztracioResource.Megsem, "NemKotottMunkaido.modNemKotottMunkaidoCancel");
|
||||
|
||||
var isNaplozhatZarastolFuggetlenul = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType()).IsNaplozhatZarastolFuggetlenul(nkmm.Datum.Value, null);
|
||||
|
||||
if (!nkmm.isReadonly)
|
||||
{
|
||||
if (nkmm.isTanarAltalTorolt)
|
||||
{
|
||||
if (isNaplozhatZarastolFuggetlenul)
|
||||
{
|
||||
if (nkmm.isMegtartott)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoMegtartottDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoDelete");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoTanarAltalToroltOraDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoTanarAltalDelete");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isNaplozhatZarastolFuggetlenul)
|
||||
{
|
||||
if (nkmm.isMegtartott)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoMegtartottDelete", 5221 /*Naplózás törlése*/, "NemKotottMunkaido.modNemKotottMunkaidoDelete");
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", 3765 /*Naplózás változtatásainak mentése*/, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay");
|
||||
}
|
||||
else
|
||||
{
|
||||
nkmm.NaplozottMegjegyzes = nkmm.Megjegyzes;
|
||||
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoSave", 3804 /*Naplózás*/, "NemKotottMunkaido.modNemKotottMunkaidoSaveDay");
|
||||
|
||||
if (nkmm.isAdminRogzitette)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoTanarAltalDelete", 117 /*Törlés*/, "NemKotottMunkaido.modNemKotottMunkaidoTanarAltalDelete");
|
||||
}
|
||||
else
|
||||
{
|
||||
pm = pm.AddBtn(pm, "modNemKotottMunkaidoDelete", 117 /*Törlés*/, "NemKotottMunkaido.globalNemKotottMunkaidoDelete");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
private ActionResult TanoraMuveletek(NaplozasElokeszitesModel model, TanoraMuveletek muveletPram)
|
||||
{
|
||||
return base.TanoraMuveletek(model, muveletPram, (int?)null);
|
||||
}
|
||||
|
||||
public DateTime GetTanevUtolsoNapja() => new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().UtolsoTanitasiNap;
|
||||
|
||||
public ActionResult OpenNewFogadooraPopUp(CalendarModel model)
|
||||
{
|
||||
var fm = SetNewFogadooraDefaultData(model);
|
||||
|
||||
var pm = new PopUpModel(fm, "Fogadoora_Bevitel");
|
||||
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.newFogadooraCancel");
|
||||
pm = pm.AddBtn(pm, "newFogadooraSave", CommonResource.Mentes, "FogadooraHelper.fogadooraSave");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
private FogadooraModel SetNewFogadooraDefaultData(CalendarModel cm)
|
||||
{
|
||||
var tanevCo = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo();
|
||||
var isNemKellNemKotott = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.kotott_munkaido_nevelesseloktatassal_le_nem_kotott_resz_kezelesenek_tiltasa);
|
||||
|
||||
return new FogadooraModel
|
||||
{
|
||||
FogadoOraKezdete = cm.Start.ToLocalTime(),
|
||||
FogadoOraVege = cm.End.ToLocalTime(),
|
||||
FogadoOraDatuma = cm.Start.ToLocalTime().Date,
|
||||
EgysegnyiIdopontok = 15,
|
||||
IsNemKotottMunkaido = !isNemKellNemKotott,
|
||||
JelentkezesekKezelese = true,
|
||||
IsFaliujsagonMegjelenjen = true,
|
||||
FaliujsagErvenyessegKezdete = DateTime.Today,
|
||||
FaliujsagErvenyessegVege = cm.Start.ToLocalTime().AddDays(1),
|
||||
RendszeresFogadooraElsoDatuma = cm.Start.ToLocalTime().Date,
|
||||
RendszeresFogadooraUtolsoDatuma = tanevCo.UtolsoTanitasiNap.Date,
|
||||
IsCalendar = true,
|
||||
IsRendszeressegModosithato = true,
|
||||
IsIdosavraOsztas = true,
|
||||
FogadooraEgyebGyakorisagDefaultDate = cm.Start.ToLocalTime(),
|
||||
TanevUtolsoNapja = GetTanevUtolsoNapja(),
|
||||
IsNemKellNemKotott = isNemKellNemKotott,
|
||||
};
|
||||
}
|
||||
|
||||
public ActionResult OpenModFogadooraPopUpByCalendarModel(CalendarModel model) => OpenModFogadooraPopUpDetails(model.EventId, true);
|
||||
|
||||
public ActionResult OpenModFogadooraPopUpByFogadooraId(int id) => OpenModFogadooraPopUpDetails(id);
|
||||
|
||||
public ActionResult OpenModFogadooraPopUpDetails(int fogadooraId, bool isCalendar = false)
|
||||
{
|
||||
var fm = new FogadooraModel();
|
||||
|
||||
var helper = new FogadooraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var fogadooraCo = helper.GetFogadooraById(fogadooraId);
|
||||
fm.Id = fogadooraCo.Id;
|
||||
fm.FogadoOraDatuma = fogadooraCo.FogadoOraKezdete.Date;
|
||||
fm.FogadoOraKezdete = fogadooraCo.FogadoOraKezdete;
|
||||
fm.FogadoOraVege = fogadooraCo.FogadoOraVege;
|
||||
fm.Rendszeresseg = fogadooraCo.Rendszeresseg;
|
||||
fm.TeremId = fogadooraCo.TeremId;
|
||||
fm.JelentkezesekKezelese = (int)FogadooraTipusEnum.Jelentkezheto == fogadooraCo.FogadooraTipusEnumId || (int)FogadooraTipusEnum.JelentkezhetoDarabolt == fogadooraCo.FogadooraTipusEnumId;
|
||||
fm.IsIdosavraOsztas = fogadooraCo.IsIdosavraOsztas;
|
||||
fm.EgysegnyiIdopontok = fogadooraCo.EgysegnyiIdopontok;
|
||||
fm.SelectedOsztalyCsoportIdList = fogadooraCo.SelectedOsztalyCsoportIdList;
|
||||
fm.RendszeresFogadooraElsoDatuma = fogadooraCo.FogadoOraKezdete;
|
||||
fm.RendszeresFogadooraUtolsoDatuma = fogadooraCo.FogadoOraVege;
|
||||
fm.IsEgyAlkalomModosul = false;
|
||||
fm.IsCalendar = isCalendar;
|
||||
fm.IsFaliujsagonMegjelenjen = fogadooraCo.IsFaliujsagonMegjelenjen;
|
||||
fm.IsRendszeressegModosithato = false;
|
||||
fm.FaliujsagErvenyessegKezdete = fogadooraCo.FaliujsagErvenyessegKezdete;
|
||||
fm.FaliujsagErvenyessegVege = fogadooraCo.FaliujsagErvenyessegVege;
|
||||
fm.JelentkezesHatarideje = fogadooraCo.JelentkezesHatarideje;
|
||||
|
||||
var isModosithatoFogadoora = fm.FogadoOraKezdete > DateTime.Now;
|
||||
fm.TanevUtolsoNapja = GetTanevUtolsoNapja();
|
||||
|
||||
var jelentkezettGvDs = helper.GetJelentkezettGondviseloCntByFogadooraId(fogadooraId);
|
||||
if (jelentkezettGvDs.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
fm.VanGvJelentkezes = true;
|
||||
}
|
||||
|
||||
if (!isModosithatoFogadoora)
|
||||
{
|
||||
fm.TeremNev = new TeremHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTeremNev(fogadooraCo.TeremId);
|
||||
}
|
||||
var rendszeressegDictionary = EnumExtensions.EnumToDictionary<FogadooraRendszeressegEnum>(ClaimData.SelectedTanevID.Value);
|
||||
fm.RendszeressegText = rendszeressegDictionary.First(x => x.Key == fogadooraCo.Rendszeresseg.ToString()).Value;
|
||||
|
||||
var pm = new PopUpModel(fm, isModosithatoFogadoora ? "Fogadoora_Bevitel" : "~/Areas/Orarend/Views/TanariOrarend/Fogadoora_Details.cshtml");
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var isDateHasTanevrend = tanevrendHelper.HasTanevRendjeEsemeny(fm.FogadoOraKezdete.Date, null);
|
||||
|
||||
if (!isDateHasTanevrend)
|
||||
{
|
||||
//itt vizsgálni egy alkalom-e, ha igen, akkor ezek nem kellenek
|
||||
if (fm.Rendszeresseg == (int)FogadooraRendszeressegEnum.EgyAlkalom)
|
||||
{
|
||||
if (isModosithatoFogadoora)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.modFogadooraCancel");
|
||||
pm = pm.AddBtn(pm, "newFogadooraSave", CommonResource.Mentes, "FogadooraHelper.ModEgyFogadoora");
|
||||
pm = pm.AddBtn(pm, "modFogadooraDeleteDay", FogadooraResource.EgyFogadooraTorlese, "FogadooraHelper.DeleteEgyFogadooraa", "pull-left");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isModosithatoFogadoora)
|
||||
{
|
||||
pm = pm.AddBtn(pm, "newFogadooraCancel", AdminisztracioResource.Megsem, "FogadooraHelper.modFogadooraCancel");
|
||||
pm = pm.AddBtn(pm, "modFogadooraDeleteDay", FogadooraResource.EgyFogadooraTorlese, "FogadooraHelper.DeleteEgyFogadooraa", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFogadooraDeleteFrom", OrarendResource.DeleteFrom, "FogadooraHelper.DeleteEttolANaptol", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFogadooraDeleteTo", OrarendResource.DeleteTo, "FogadooraHelper.DeleteEddigANapig", "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFogadooraDelete", FogadooraResource.FogadooraTorleseTeljesTanevbol, "FogadooraHelper.DeleteTeljes", "pull-left");
|
||||
|
||||
pm = pm.AddBtn(pm, "modFogadooraSaveDay", FogadooraResource.EgyFogadooraModositas, "FogadooraHelper.ModEgyFogadoora", true, "pull-left");
|
||||
pm = pm.AddBtn(pm, "modFogadooraSaveFrom", OrarendResource.ModSaveFrom, "FogadooraHelper.ModEttolANaptol", "pull-left", true);
|
||||
pm = pm.AddBtn(pm, "modFogadooraSaveTo", OrarendResource.ModSaveTo, "FogadooraHelper.ModEddigANapig", "pull-left", true);
|
||||
pm = pm.AddBtn(pm, "modFogadooraSave", OrarendResource.ModAllSave, "FogadooraHelper.ModTeljes", "pull-left", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult UploadCsatolmany(HttpPostedFileBase csatolmany, int hfId)
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] content;
|
||||
using (var inputStream = csatolmany.InputStream)
|
||||
{
|
||||
var memoryStream = inputStream as MemoryStream;
|
||||
|
||||
if (memoryStream == null)
|
||||
{
|
||||
memoryStream = new MemoryStream();
|
||||
inputStream.CopyTo(memoryStream);
|
||||
}
|
||||
|
||||
content = memoryStream.ToArray();
|
||||
}
|
||||
|
||||
var helper = new DktFileHelper(ConnectionTypeExtensions.GetSessionConnectionType(), fileServiceHelper);
|
||||
|
||||
var csatolmanyId = helper.UploadCsatolmany(csatolmany.FileName, content, csatolmany.ContentType, hfId, ClaimData.IntezmenyGuid.Value);
|
||||
|
||||
return Json(csatolmanyId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.FajlFeltolteseSikertelen) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private NemKotottMunkaidoModel GetModNemKotottMunkaidoModel(CalendarModel model)
|
||||
{
|
||||
var helper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var co = helper.GetNemKotottMunkaidoById(model.EventId);
|
||||
return Logic.NemKotottMunkaidoLogic.ConvertModelFromCo(co);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class TanariOrarendKeresoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
|
||||
if (sysParamList.Contains("TanariOrarendKereso"))
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
var model = new OrarendKeresoModel();
|
||||
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
90
KretaWeb/Areas/Orarend/Controllers/TanoraKeresoController.cs
Normal file
90
KretaWeb/Areas/Orarend/Controllers/TanoraKeresoController.cs
Normal file
|
@ -0,0 +1,90 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Orarend.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class TanoraKeresoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new TanitasiOraSearchModel() { FeladatEllatasiHelyID = ClaimData.FelhelySzuro };
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanitasiOraInfoPopUp(int tanitasiOraId, DateTime datum)
|
||||
{
|
||||
try
|
||||
{
|
||||
TanitasiOraInfoModel tanitasiOraInfoModel;
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
TanoraCO tanoraCO = helper.GetTanoraByOrarendiId(tanitasiOraId, datum, true, ClaimData.IsTanuloOrGondviselo);
|
||||
tanitasiOraInfoModel = new TanitasiOraInfoModel
|
||||
{
|
||||
Datum = tanoraCO.Datum.ToShortDateString(),
|
||||
Oraszam = tanoraCO.Oraszam,
|
||||
HetNapja = tanoraCO.HetNapjaNev,
|
||||
Hetirend = tanoraCO.HetirendNev,
|
||||
Foglalkozas = tanoraCO.FoglalkozasNev,
|
||||
OsztalyCsoport = tanoraCO.OsztalyCsoportNev,
|
||||
Tantargy = tanoraCO.TantargyNev,
|
||||
Tanar = tanoraCO.TanarNev,
|
||||
Terem = tanoraCO.TeremNev,
|
||||
Megtartott = tanoraCO.Megtartott.HasValue ? tanoraCO.Megtartott.Value.GetDisplayName() : StringResourcesUtil.GetString(3610)/*Nem naplózott*/,
|
||||
Sorszamozando = tanoraCO.Sorszamozando.GetDisplayName(),
|
||||
OraKezdete = tanoraCO.OraKezd.ToString("HH:mm"),
|
||||
OraVege = tanoraCO.OraVeg.ToString("HH:mm"),
|
||||
Tema = tanoraCO.Tema,
|
||||
Megjegyzes = tanoraCO.Megjegyzes,
|
||||
HelyettesitoTanar = tanoraCO.HelyettesitesitoTanarNeve,
|
||||
HelyettesitesTipusa = tanoraCO.HelyettesitesTipus?.GetDisplayName<HelyettesitesTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
HelyettesitesOka = tanoraCO.HelyettesitesOka,
|
||||
NaplozasIdopontja = tanoraCO.BejegyIdo.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds),
|
||||
LegutobbiModositasIdopontja = tanoraCO.LegutobbiModositasIdopontja.ToString(Core.Constants.ToStringPattern.HungarianDateTimeWithoutSeconds)
|
||||
};
|
||||
|
||||
var model = new PopUpModel(tanitasiOraInfoModel, "Info_PopUp");
|
||||
|
||||
model.AddCancelBtn(model, "TanoraKeresoHelper.tanitasiOraInfoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public ActionResult ExportHelyettesitettTanorak(TanitasiOraSearchModel data)
|
||||
{
|
||||
return TanoraKeresoLogic.ExportHelyettesitettTanorak(data);
|
||||
}
|
||||
|
||||
public ActionResult ExportElmaradtTanorak(TanitasiOraSearchModel data)
|
||||
{
|
||||
return TanoraKeresoLogic.ExportElmaradtTanorak(data);
|
||||
}
|
||||
|
||||
public ActionResult ExportMegtartottTanorak(TanitasiOraSearchModel data)
|
||||
{
|
||||
return TanoraKeresoLogic.ExportMegtartottTanorak(data);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Extensions;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public class TeremOrarendKeresoController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
|
||||
|
||||
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
|
||||
if (sysParamList.Contains("TeremOrarendKereso"))
|
||||
{
|
||||
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
|
||||
}
|
||||
|
||||
var model = new OrarendKeresoModel();
|
||||
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.HetirendJson = orarendHelper.GetHetirendek();
|
||||
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek();
|
||||
|
||||
var co = orarendHelper.GetCalendarMinMax();
|
||||
model.CalendarMinTime = co.CalendarMin.Subtract(new TimeSpan(0, 15, 0)); // "15 perccel legyen előbb"
|
||||
model.CalendarMaxTime = co.CalendarMax.Add(new TimeSpan(0, 15, 0)); // "15 perccel legyen később"
|
||||
|
||||
model.CsengetesiRendMinTime = new TimeSpan();
|
||||
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
|
||||
|
||||
ViewBag.napirendStart = systemSettingsHelper.GetSystemSettingValue<TimeSpan>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_kezdoidopontja).RoundDownToNearestTargetMinute(15).ToString();
|
||||
ViewBag.napirendEnd = systemSettingsHelper.GetSystemSettingValue<string>(RendszerBeallitasTipusEnum.Az_elektronikus_naplo_megjelenesenek_zaroidopontja);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
65
KretaWeb/Areas/Orarend/Logic/AdminKozpontiOraLogic.cs
Normal file
65
KretaWeb/Areas/Orarend/Logic/AdminKozpontiOraLogic.cs
Normal file
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class AdminKozpontiOraLogic
|
||||
{
|
||||
public KozpontiOraValidationCo CreateOraValidationCoListForKozpontiOrak(DateTime start, DateTime end, int hanyadikOra, List<AdminKozpontiOrakRogzitesGridModel> kozpontiOrakList, bool isTeremutkozesFigyelese, out List<OraValidationCo> validatedKozpontiOraToBeSaved)
|
||||
{
|
||||
validatedKozpontiOraToBeSaved = new List<OraValidationCo>();
|
||||
var validationCo = new KozpontiOraValidationCo();
|
||||
validationCo.IsValid = true;
|
||||
validationCo.ErrorMessage = string.Empty;
|
||||
|
||||
if (kozpontiOrakList == null || !kozpontiOrakList.Any())
|
||||
{
|
||||
return validationCo;
|
||||
}
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csengetesirendId = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).CsengetesirendId;
|
||||
var kozpontiOraGroupId = Guid.NewGuid();
|
||||
foreach (var kozpontiOra in kozpontiOrakList)
|
||||
{
|
||||
OrarendiOraModel orarendiOramodel = KozpontiOraConverter.ConvertToOrarendiOra(kozpontiOra, csengetesirendId, start, end, hanyadikOra);
|
||||
OrarendiOraLogic.SetHetNapja(orarendiOramodel, start.DayOfWeek);
|
||||
orarendiOramodel.HetirendList = OrarendiOraLogic.GetAktualHetirendList();
|
||||
orarendiOramodel.IsEgyediNap = TanevRendjeLogic.IsEgyediNapByDateAndOsztalyCsoportId(start.Date, kozpontiOra.OsztalyId);
|
||||
|
||||
OrarendiOraLogic.PostProcessHetirend(orarendiOramodel);
|
||||
OrarendiOraLogic.PostProcessOraszam(orarendiOramodel);
|
||||
OrarendiOraLogic.PostProcessHetnapja(orarendiOramodel);
|
||||
orarendiOramodel.ModositasiIdoszakTipus = (int)OraModositasiIdoszakTipus.EgyOra;
|
||||
|
||||
OraValidationCo oraValidationCo = orarendiOramodel.CreateOraValidationCo();
|
||||
|
||||
if (orarendiOraHelper.CheckUtkozesValidation(oraValidationCo, null, isPrevalidation: false, isThrowExceptionOnCollision: false, isCheckKozponti: true, isTeremutkozesFigyelese: isTeremutkozesFigyelese))
|
||||
{
|
||||
|
||||
if (oraValidationCo.IsKozpontiDuplicate || !string.IsNullOrWhiteSpace(oraValidationCo.Msg.ToString()))
|
||||
{
|
||||
validationCo.IsValid = false;
|
||||
validationCo.ErrorMessage = oraValidationCo.Msg.ToString();
|
||||
validationCo.HasTeremutkozes = oraValidationCo.OrarendiOraValidationCo.HasTeremutkozes;
|
||||
validationCo.TeremutkozesSystemSettingsValue = oraValidationCo.OrarendiOraValidationCo.TeremutkozesSystemSetting;
|
||||
validatedKozpontiOraToBeSaved.Add(oraValidationCo);
|
||||
return validationCo;
|
||||
|
||||
}
|
||||
|
||||
oraValidationCo.OrarendiOraValidationCo.KozpontiOraGroupId = kozpontiOraGroupId;
|
||||
validatedKozpontiOraToBeSaved.Add(oraValidationCo);
|
||||
}
|
||||
}
|
||||
|
||||
return validationCo;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class AdminNemElerhetoOrarendiElemekLogic
|
||||
{
|
||||
public static int DeleteSelectedOrarendiOra(List<int> idList)
|
||||
{
|
||||
var helper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var sikeresekSzama = 0;
|
||||
|
||||
foreach (var orarendiOraId in idList)
|
||||
{
|
||||
try
|
||||
{
|
||||
helper.DeleteOrarendiElem(orarendiOraId);
|
||||
sikeresekSzama++;
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
return sikeresekSzama;
|
||||
}
|
||||
}
|
||||
}
|
97
KretaWeb/Areas/Orarend/Logic/KepekListajaLogic.cs
Normal file
97
KretaWeb/Areas/Orarend/Logic/KepekListajaLogic.cs
Normal file
|
@ -0,0 +1,97 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Client.FileService.Request;
|
||||
using Kreta.Core;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class KepekListajaLogic
|
||||
{
|
||||
public static PopUpModel GetPopUpModelOpenKepInfo(int oraFileId, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var oraFile = helper.GetFile(oraFileId);
|
||||
var intezmenyAzonosito = ConnectionTypeExtensions.GetSessionConnectionType().IntezmenyAzonosito;
|
||||
|
||||
string contentAsBase64Encoded = "data:image/jpeg;base64," + fileServiceHelper.GetFile(intezmenyAzonosito, new GetUrlRequest(oraFile.Utvonal, oraFile.Guid.Value, oraFile.Nev)).Tartalom;
|
||||
|
||||
var model = new PopUpModel(new KepekListajaGridModel()
|
||||
{
|
||||
ID = oraFile.ID.ToString(),
|
||||
OraFileId = oraFile.ID,
|
||||
FajlUrl = oraFile.Utvonal,
|
||||
KepNeve = oraFile.Nev,
|
||||
Base64EncodedFajlTartalom = contentAsBase64Encoded
|
||||
}, "~/Areas/Orarend/Views/KepekListaja/KepInfo_PopUp.cshtml");
|
||||
|
||||
model.AddBtn(model, "DeleteKep", CommonResource.Torles, "KepekListajaHelper.deleteKepPopUpConfirmWindow", "BtnDelete");
|
||||
model.AddCancelBtn(model, "KepekListajaHelper.openKepInfoCancel");
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static PopUpModel GetPopUpModelOpenModifyKep(int oraFileId)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var file = helper.GetFile(oraFileId);
|
||||
|
||||
var model = new PopUpModel(new KepekListajaGridModel()
|
||||
{
|
||||
ID = file.ID.ToString(),
|
||||
OraFileId = file.ID,
|
||||
KepNeve = file.Nev,
|
||||
Megjegyzes = file.Megjegyzes
|
||||
}, "KepModify_PopUp");
|
||||
|
||||
model.AddBtn(model, "KepCancelBtn", CommonResource.Megse, "KepekListajaHelper.modifyKepCancel");
|
||||
|
||||
model.AddOkBtn(model, "KepekListajaHelper.modifyKepSave");
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static Guid DownloadSelectedKep(List<int> selectedKepIdList, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
var helper = new OpenBoardHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyAzonosito = ConnectionTypeExtensions.GetSessionConnectionType().IntezmenyAzonosito;
|
||||
|
||||
var OutPut = new MemoryStream();
|
||||
var zipOutPut = new ZipOutputStream(OutPut);
|
||||
|
||||
byte[] buffer = new byte[Constants.General.BufferSize];
|
||||
|
||||
foreach (var kepId in selectedKepIdList)
|
||||
{
|
||||
var kep = helper.GetFile(kepId);
|
||||
var base64imageFromUrl = "data:image/jpeg;base64," + fileServiceHelper.GetFile(intezmenyAzonosito, new GetUrlRequest(kep.Utvonal, kep.Guid.Value, kep.Nev)).Tartalom;
|
||||
|
||||
string[] parts = base64imageFromUrl.Split(new string[] { ";", ":", "," }, StringSplitOptions.None);
|
||||
|
||||
var image = new MemoryStream(Convert.FromBase64String(parts[3]));
|
||||
|
||||
ZipEntry entry = new ZipEntry($"{kep.Nev}.{kep.Kiterjesztes}");
|
||||
zipOutPut.PutNextEntry(entry);
|
||||
|
||||
int sourceBytes;
|
||||
do
|
||||
{
|
||||
sourceBytes = image.Read(buffer, 0, buffer.Length);
|
||||
zipOutPut.Write(buffer, 0, sourceBytes);
|
||||
} while (sourceBytes > 0);
|
||||
}
|
||||
|
||||
zipOutPut.Finish();
|
||||
OutPut.Position = 0;
|
||||
|
||||
return Cache.Add(OutPut);
|
||||
}
|
||||
}
|
||||
}
|
156
KretaWeb/Areas/Orarend/Logic/NemKotottMunkaidoLogic.cs
Normal file
156
KretaWeb/Areas/Orarend/Logic/NemKotottMunkaidoLogic.cs
Normal file
|
@ -0,0 +1,156 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class NemKotottMunkaidoLogic
|
||||
{
|
||||
public static System.Web.Http.ModelBinding.ModelStateDictionary CheckCustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ms, NemKotottMunkaidoModel model)
|
||||
{
|
||||
if (model.Veg.Value.TimeOfDay <= model.Kezdet.Value.TimeOfDay)
|
||||
ms.AddModelError("NKMDateError", StringResourcesUtil.GetString(5274));
|
||||
|
||||
DateTime elsoNap;
|
||||
TanevHelper helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanev = helper.GetTanevInfo();
|
||||
elsoNap = tanev.OraFelvetelKezdete;
|
||||
|
||||
if (model.Kezdet < elsoNap)
|
||||
ms.AddModelError("OraErvenyessegKezdete", StringResourcesUtil.GetString(3087));
|
||||
|
||||
if (model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
var naptariHetHelper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hetirend = naptariHetHelper.GetNaptariHetHetirendByDate(model.Datum.Value);
|
||||
if ((model.HetirendId.Value != (int)HetiRendTipusEnum.MindegyikHet)
|
||||
&& (hetirend != model.HetirendId))
|
||||
{
|
||||
ms.AddModelError("HetirendId", ErrorResource.AKivalasztottNapNemAKivalasztottHetirendhezTartozik);
|
||||
}
|
||||
}
|
||||
|
||||
var nkmHelper = new NemKotottMunkaidoHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
bool hasTanarNemKotottMunkaidoUtkozes = nkmHelper.HasTanarNemKotottMunkaidoUtkozes(model.TanarId.Value, model.Kezdet.Value, model.Veg.Value, model.Id);
|
||||
|
||||
if (hasTanarNemKotottMunkaidoUtkozes)
|
||||
{
|
||||
ms.AddModelError("Kezdet", ErrorResource.ParhuzamosKotottMunkaidoFelveteleNemLehetseges);
|
||||
}
|
||||
|
||||
return ms;
|
||||
}
|
||||
|
||||
public static NemKotottMunkaidoCO ConvertModelToCO(NemKotottMunkaidoModel model)
|
||||
{
|
||||
var co = new NemKotottMunkaidoCO()
|
||||
{
|
||||
Id = model.Id,
|
||||
GroupId = model.GroupId,
|
||||
TorvenyKategoriaId = model.TorvenyKategoria.Value,
|
||||
TanarId = model.TanarId.Value,
|
||||
TulajId = model.TulajId,
|
||||
Kezdete = model.Kezdet.Value,
|
||||
Vege = model.Veg.Value,
|
||||
Megtartott = model.isMegtartott,
|
||||
Megjegyzes = model.Megjegyzes,
|
||||
NaplozottMegjegyzes = model.NaplozottMegjegyzes,
|
||||
HetirendId = model.HetirendId.Value
|
||||
};
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
public static NemKotottMunkaidoModel ConvertModelFromCo(NemKotottMunkaidoCO co)
|
||||
{
|
||||
NemKotottMunkaidoModel model = new NemKotottMunkaidoModel()
|
||||
{
|
||||
Id = co.Id,
|
||||
GroupId = co.GroupId,
|
||||
TanarId = co.TanarId,
|
||||
TulajId = co.TulajId,
|
||||
Datum = co.Kezdete.Date,
|
||||
Kezdet = co.Kezdete,
|
||||
Veg = co.Vege,
|
||||
TorvenyKategoria = co.TorvenyKategoriaId,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
HetirendId = co.HetirendId,
|
||||
NaplozottMegjegyzes = co.NaplozottMegjegyzes,
|
||||
isMegtartott = co.Megtartott,
|
||||
isReadonly = co.isReadonly,
|
||||
isTanarAltalTorolt = co.isTanarAltalTorolt
|
||||
};
|
||||
|
||||
if (ClaimData.FelhasznaloId != co.TulajId)
|
||||
{
|
||||
model.isAdminRogzitette = true;
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static bool CheckUtkozesValidation(NemKotottMunkaidoModel model)
|
||||
{
|
||||
DateTime kezdetDatum, vegDatum;
|
||||
GetKezdetVegDatumFomModel(model, out kezdetDatum, out vegDatum);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendiOraHelper.NemkotottMunkaidoUtkozesEllenorzes(model.TanarId.Value, kezdetDatum, vegDatum, model.Datum.Value, model.HetirendId.Value, model.GroupId);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static int GetNaplozottNemkotottMunkaidoSzamByGroupId(NemKotottMunkaidoModel model)
|
||||
{
|
||||
DateTime kezdetDatum, vegDatum;
|
||||
GetKezdetVegDatumFomModel(model, out kezdetDatum, out vegDatum);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var result = orarendHelper.GetNemKotottMunkaIdo(kezdetDatum, vegDatum, model.GroupId).Where(x => x.Megtartott).Count();
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void GetKezdetVegDatumFomModel(NemKotottMunkaidoModel model, out DateTime kezdetDatum, out DateTime vegDatum)
|
||||
{
|
||||
TanevCO tanevCO;
|
||||
TanevHelper tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
tanevCO = tanevHelper.GetTanevInfo();
|
||||
|
||||
kezdetDatum = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Kezdet.Value);
|
||||
vegDatum = OrarendiOraLogic.CreateLocalDateTimeBasedOnDateAndTime(model.Datum.Value, model.Veg.Value);
|
||||
switch (model.ModositasiIdoszakTipus)
|
||||
{
|
||||
case (int)OraModositasiIdoszakTipus.TeljesIdoszak:
|
||||
kezdetDatum = tanevCO.OraFelvetelKezdete.Date.AddHours(kezdetDatum.Hour).AddMinutes(kezdetDatum.Minute);
|
||||
vegDatum = tanevCO.UtolsoTanitasiNap.Date.AddHours(vegDatum.Hour).AddMinutes(vegDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNaptol:
|
||||
vegDatum = tanevCO.UtolsoTanitasiNap.Date.AddHours(vegDatum.Hour).AddMinutes(vegDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.AdottNapig:
|
||||
kezdetDatum = tanevCO.OraFelvetelKezdete.Date.AddHours(kezdetDatum.Hour).AddMinutes(kezdetDatum.Minute);
|
||||
break;
|
||||
case (int)OraModositasiIdoszakTipus.EgyOra:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static int GetTevekenysegUtkozesSystemSetting()
|
||||
{
|
||||
return SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napirend_felvitelel_utkozes_figyeles, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
}
|
||||
}
|
482
KretaWeb/Areas/Orarend/Logic/OrarendiOraLogic.cs
Normal file
482
KretaWeb/Areas/Orarend/Logic/OrarendiOraLogic.cs
Normal file
|
@ -0,0 +1,482 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Enums.ManualEnums.SystemSettings;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.KretaServer.SystemSettings;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Intezmeny.Logic;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class OrarendiOraLogic
|
||||
{
|
||||
public static List<TabStripItemModel> GetModOrarendiOraTabs(OrarendiOraModel model, string orarendTipus, bool isFromSzervezet = false)
|
||||
{
|
||||
var list = new List<TabStripItemModel>();
|
||||
list.Add(new TabStripItemModel() { ItemId = "1", ItemName = StringResourcesUtil.GetString(4124) /*Óra adatok*/, Model = model, PartialViewName = "OrarendiOraAdatok_Tab_" + orarendTipus, IsActive = true });
|
||||
if (!isFromSzervezet)
|
||||
{
|
||||
list.Add(new TabStripItemModel() { ItemId = "2", ItemName = StringResourcesUtil.GetString(4867) /*Speciális adatok*/, Model = model, PartialViewName = "SpecialisAdatok_Bevitel" });
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static System.Web.Http.ModelBinding.ModelStateDictionary CheckCustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ms, OrarendiOraModel model)
|
||||
{
|
||||
if (!model.TTFModel.TanarID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_TanarID", ErrorResource.PedagogusMegadasaKotelezo); //Pedagógus megadása kötelező
|
||||
}
|
||||
|
||||
if (SystemSettingsManager.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.orarendi_elemek_rogzitesenek_elofeltetele, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value) != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)
|
||||
{
|
||||
if (!model.TTFModel.FoglalkozasID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_FoglalkozasID", ErrorResource.FoglalkozasMegadasaKotelezo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!model.TTFModel.OsztalyID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_OsztalyID", StringResourcesUtil.GetString(4569)); //Osztály megadása kötelező
|
||||
}
|
||||
|
||||
if (!model.TTFModel.TantargyID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TTFModel_TantargyID", StringResourcesUtil.GetString(2564)); //Tantárgy megadása kötelező
|
||||
}
|
||||
}
|
||||
|
||||
if (!model.TeremID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("TeremID", StringResourcesUtil.GetString(2493)); //Terem megadása kötelező
|
||||
}
|
||||
|
||||
if (!model.OraErvenyessegKezdete.HasValue)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegKezdete", StringResourcesUtil.GetString(4575)); //Óra érvényességi idejének kezdete kötelező
|
||||
}
|
||||
|
||||
if (!model.OraErvenyessegVege.HasValue)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", StringResourcesUtil.GetString(4576)); //Óra érvényességi idejének vége kötelező
|
||||
}
|
||||
|
||||
if (model.OraErvenyessegVege < model.OraErvenyessegKezdete)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", StringResourcesUtil.GetString(4580)); //Az óra érvényességének vége későbbre kell hogy essen, mint a kezdete
|
||||
}
|
||||
|
||||
if (model.OraVege <= model.OraKezdete)
|
||||
{
|
||||
ms.AddModelError("OraVege", StringResourcesUtil.GetString(4581)); //Az óra vége későbbre kell hogy essen, mint a kezdete
|
||||
}
|
||||
|
||||
if (!model.HetirendID.IsEntityId())
|
||||
{
|
||||
ms.AddModelError("HetirendID", ErrorResource.HetirendMegadasaKotelezo); //Órarendi nap hetirendje megadása kötelező!
|
||||
}
|
||||
|
||||
if (model.CsengetesiRendOraID.IsEntityId())
|
||||
{
|
||||
if (!model.CsengetesiRendID.HasValue || model.CsengetesiRendID < 0)
|
||||
{
|
||||
ms.AddModelError("CsengetesiRendID", OrarendResource.CsengetesiRendMegadasaKotelezo);
|
||||
}
|
||||
|
||||
if (!model.Oraszam.HasValue || model.Oraszam < 0)
|
||||
{
|
||||
ms.AddModelError("Oraszam", OrarendResource.OraszamMegadasaKotelezo);
|
||||
}
|
||||
}
|
||||
|
||||
// ha az érvényesség kezdete és vége megegyezik, és az rendkívüli tanítási nap akkor nem kell dátum validáció
|
||||
bool kellDatumValidacio = model.OraErvenyessegKezdete.Value.Date != model.OraErvenyessegVege.Value.Date && model.CsengetesiRendID.HasValue;
|
||||
var isNyariSzakmaiGyakorlat = model.TTFModel?.OsztalyID != null && new CsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).IsNyariSzakmaiGyakorlatos(model.TTFModel.OsztalyID.Value);
|
||||
|
||||
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
if (kellDatumValidacio)
|
||||
{
|
||||
kellDatumValidacio = !tanevrendHelper.IsRendkivuliTanitasiNap(model.OraErvenyessegKezdete.Value);
|
||||
}
|
||||
|
||||
TanevHelper helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanev = helper.GetTanevInfo();
|
||||
kellDatumValidacio = tanev.IsKovetkezo || kellDatumValidacio;
|
||||
|
||||
if ((kellDatumValidacio || isNyariSzakmaiGyakorlat) && model.TTFModel.OsztalyID.HasValue)
|
||||
{
|
||||
DateTime elsoNap = tanev.OraFelvetelKezdete;
|
||||
DateTime utolsoNap = model.IsFromSzervezet ? tanev.UtolsoNap : tanev.UtolsoTanitasiNap;
|
||||
|
||||
if (isNyariSzakmaiGyakorlat)
|
||||
{
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
elsoNap = systemSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_kezd_datum).Value;
|
||||
utolsoNap = systemSettingsHelper.GetSystemSettingValue<DateTime?>(RendszerBeallitasTipusEnum.Osszefuggo_gyakorlat_veg_datum).Value;
|
||||
}
|
||||
|
||||
if (model.OraErvenyessegKezdete < elsoNap)
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegKezdete", isNyariSzakmaiGyakorlat ? ErrorResource.OraErvenyessegNyariGyakorlatKezdet : StringResourcesUtil.GetString(3087)); //Az óra érvényessége nem lehet korábban, mint az első tanítási nap!
|
||||
}
|
||||
|
||||
if (model.IsTanoranKivuliFoglalkozas ? model.OraErvenyessegVege.Value.Date > utolsoNap.AddDays(1) : model.OraErvenyessegVege > utolsoNap.AddDays(1)) //Az utolsó nap 0 óra 0 percet tartalmaz, de aznap napközben még lehet óra, ezért a következő nap 0:00 időpont a jó.
|
||||
{
|
||||
ms.AddModelError("OraErvenyessegVege", isNyariSzakmaiGyakorlat ? ErrorResource.OraErvenyessegNyariGyakorlatVege : StringResourcesUtil.GetString(3088)); //Az óra érvényessége nem lehet később, mint az utolsó tanítási nap!
|
||||
}
|
||||
}
|
||||
|
||||
var checkDate = model.ID.HasValue ? model.ModificationDate.Date : model.OraErvenyessegKezdete.Value.ToLocalTime().Date;
|
||||
|
||||
if (!tanevrendHelper.IsOrarendiNap(checkDate, model.TTFModel.OsztalyID, model.IsFromSzervezet))
|
||||
{
|
||||
ms.AddModelError("OraKezdete", OrarendResource.NemOrarendiNapHibaUzenet);
|
||||
}
|
||||
|
||||
return ms;
|
||||
}
|
||||
|
||||
public static void SetHetNapja(OrarendiOraModel model, DayOfWeek day)
|
||||
{
|
||||
switch (day)
|
||||
{
|
||||
case DayOfWeek.Monday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Hetfo;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Hetfo.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Tuesday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Kedd;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Kedd.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Wednesday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Szerda;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Szerda.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Thursday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Csutortok;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Csutortok.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Friday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Pentek;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Pentek.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Saturday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Szombat;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Szombat.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
case DayOfWeek.Sunday:
|
||||
model.HetNapja = (int)HetNapjaTipusEnum.Vasarnap;
|
||||
model.HetNapjaSzoveg = HetNapjaTipusEnum.Vasarnap.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static WarningValidationModel CheckUtkozesValidation(OraValidationCo oraValidationCo, string successFunction, string closeFunction = null, string errMsgOraData = null, bool isPrevalidation = false, bool isForDelete = false)
|
||||
{
|
||||
bool tortentValtozas;
|
||||
try
|
||||
{
|
||||
tortentValtozas = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).CheckUtkozesValidation(oraValidationCo, errMsgOraData, isPrevalidation, isForDelete: isForDelete);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message) { CloseFunction = string.IsNullOrWhiteSpace(closeFunction) ? oraValidationCo.OrarendiOraValidationCo.JSHelperNev + ".modCancel" : closeFunction };
|
||||
}
|
||||
|
||||
if (tortentValtozas)
|
||||
{
|
||||
return new WarningValidationModel() { Msg = oraValidationCo.Msg.ToString(), ErrorMsg = oraValidationCo.ErrorMsg.ToString(), SuccessFunction = successFunction, CloseFunction = closeFunction };
|
||||
}
|
||||
|
||||
throw new StatusError(HttpStatusCode.NoContent, string.Empty) { CloseFunction = oraValidationCo.OrarendiOraValidationCo.JSHelperNev + ".modCancel" };
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetAktualHetirendList()
|
||||
{
|
||||
var dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetiRendTipus, ClaimData.SelectedTanevID.Value, false, visibleOnly: false);
|
||||
var mindenHetVal = ((int)HetiRendTipusEnum.MindegyikHet).ToString();
|
||||
|
||||
var list = new List<SelectListItem>();
|
||||
|
||||
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var HetirendDictionary = helper.GetTanevHetirendTipusok();
|
||||
|
||||
if (!HetirendDictionary.ContainsKey(mindenHetVal))
|
||||
{
|
||||
list.Add(new SelectListItem() { Text = dictionary[mindenHetVal], Value = mindenHetVal });
|
||||
}
|
||||
|
||||
foreach (var dictionaryItem in HetirendDictionary)
|
||||
{
|
||||
list.Add(new SelectListItem() { Text = dictionaryItem.Value, Value = dictionaryItem.Key });
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void SetCsengetesiRendAndOraszam(OrarendiOraModel model)
|
||||
{
|
||||
var helper = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var (csengetesiRendId, oraSzam) = helper.GetCsengetesiRendAndOraszam(model.CsengetesiRendOraID);
|
||||
|
||||
model.CsengetesiRendID = csengetesiRendId;
|
||||
model.Oraszam = oraSzam;
|
||||
}
|
||||
|
||||
public static DateTime CreateLocalDateTimeBasedOnDateAndTime(DateTime date, DateTime time)
|
||||
{
|
||||
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Central Europe Standard Time");
|
||||
var datum = TimeZoneInfo.ConvertTimeFromUtc(new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, 0, DateTimeKind.Utc), tzi);
|
||||
|
||||
return new DateTime(date.Year, date.Month, date.Day, datum.Hour, datum.Minute, 0, DateTimeKind.Local);
|
||||
}
|
||||
|
||||
public static (int minOraszam, int maxOraszam) GetMinMaxOraszam(int csengetesirendId)
|
||||
{
|
||||
return new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMinMaxOraszam(csengetesirendId);
|
||||
}
|
||||
|
||||
public static OraValidationCo SetOraValidationCoFromOrarendiOraModel(OrarendiOraModel model)
|
||||
{
|
||||
if (model.IsTanoranKivuliFoglalkozas)
|
||||
{
|
||||
var OraKezdeteLocalTime = model.OraKezdete.Value.ToLocalTime();
|
||||
var OraVegeLocalTime = model.OraVege.Value.ToLocalTime();
|
||||
|
||||
model.OraKezdete = new DateTime(1900, 1, 1, OraKezdeteLocalTime.Hour, OraKezdeteLocalTime.Minute, 0, DateTimeKind.Local);
|
||||
model.OraVege = new DateTime(1900, 1, 1, OraVegeLocalTime.Hour, OraVegeLocalTime.Minute, 0, DateTimeKind.Local);
|
||||
|
||||
model.Oraszam = null;
|
||||
}
|
||||
|
||||
if (model.CsengetesiRendID.IsEntityId())
|
||||
{
|
||||
PostProcessOraszam(model);
|
||||
|
||||
var (minOraszam, maxOraszam) = GetMinMaxOraszam(model.CsengetesiRendID.Value);
|
||||
if (model.Oraszam > maxOraszam || model.Oraszam < minOraszam)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.OraszamError, minOraszam.ToString(), maxOraszam.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
PostProcessHetirend(model);
|
||||
|
||||
if (model.TTFModel != null && model.TTFModel.OsztalyID.IsEntityId() && model.OraErvenyessegKezdete.Value.Date == model.OraErvenyessegVege.Value.Date)
|
||||
{
|
||||
model.IsEgyediNap = TanevRendjeLogic.IsEgyediNapByDateAndOsztalyCsoportId(model.OraErvenyessegKezdete.Value.Date, model.TTFModel.OsztalyID.Value);
|
||||
}
|
||||
|
||||
PostProcessHetnapja(model);
|
||||
|
||||
return model.CreateOraValidationCo();
|
||||
}
|
||||
|
||||
public static OraValidationCo SetOraValidationCoFromCopyOrarendiElemModel(OrarendiOraHelper orarendiOraHelper, CopyOrarendiElemModel copyOrarendiElemModel)
|
||||
{
|
||||
var napData = new NaptariNapHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetNaptariNapData(copyOrarendiElemModel.dateFrom.Date);
|
||||
if (napData.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
OrarendiOraCO co = orarendiOraHelper.GetOrarendiOraById(copyOrarendiElemModel.copyId);
|
||||
orarendiOraHelper.GetOrarendiOraTulajdonsagok(co, copyOrarendiElemModel.copyId);
|
||||
|
||||
int? csengetesiRendOraId = default;
|
||||
if (copyOrarendiElemModel.oraszam > -1)
|
||||
{
|
||||
csengetesiRendOraId = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetCsengetesiRendOraId(co.CsengetesiRendID.Value, copyOrarendiElemModel.oraszam);
|
||||
}
|
||||
|
||||
OrarendiOraModel model = new OrarendiOraModel
|
||||
{
|
||||
CsengetesiRendID = co.CsengetesiRendID,
|
||||
HetirendID = co.Hetirend,
|
||||
CsengetesiRendOraID = csengetesiRendOraId.HasValue ? csengetesiRendOraId.Value : co.CsengetesiRendOraID,
|
||||
HetNapja = napData.Tables[0].Rows[0].Field<int>("Hetnapja"),
|
||||
OraErvenyessegKezdete = co.OraErvenyessegKezdete,
|
||||
OraErvenyessegVege = co.OraErvenyessegVege,
|
||||
OraKezdete = copyOrarendiElemModel.dateFrom,
|
||||
OraVege = copyOrarendiElemModel.dateTo,
|
||||
Oraszam = copyOrarendiElemModel.oraszam,
|
||||
OsztalyCsoportId = co.OsztalyCsoportId,
|
||||
TanarNev = co.TanarNev,
|
||||
TeremID = co.TeremID,
|
||||
TantargyNev = co.TantargyNev,
|
||||
ModositasiIdoszakTipus = (int)OraModositasiIdoszakTipus.TeljesIdoszak,
|
||||
IsModification = false,
|
||||
ModificationDate = copyOrarendiElemModel.dateFrom,
|
||||
|
||||
IKTTanora = co.IKTTanora,
|
||||
Bontott = co.Bontott,
|
||||
IsFelnottoktatasiSzerzodes = co.IsFelnottoktatasiSzerzodes,
|
||||
NemzetisegiOra = co.NemzetisegiOra,
|
||||
MindennaposTestneveles = co.MindennaposTestneveles,
|
||||
IPRTanora = co.IPRTanora,
|
||||
Differencialt = co.Differencialt,
|
||||
Kooperativ = co.Kooperativ,
|
||||
Meres = co.Meres,
|
||||
Drama = co.Drama,
|
||||
Tiop = co.Tiop,
|
||||
ParhuzamosOra = co.ParhuzamosOra,
|
||||
NemSzakrendszeruOra = co.NemSzakrendszeruOra,
|
||||
TAMOPOra = co.TAMOPOra,
|
||||
KIPOra = co.KIPOra,
|
||||
VEKOP73317 = co.VEKOP73317,
|
||||
KAPOra = co.KAPOra,
|
||||
Tulora = co.Tulora,
|
||||
Multikulturalis = co.Multikulturalis,
|
||||
EFOP32317 = co.EFOP32317,
|
||||
KomplexOra = co.KomplexOra,
|
||||
GINOP623 = co.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = co.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = co.EFOP33717,
|
||||
TIOP11112120120001 = co.TIOP11112120120001,
|
||||
DFHT = co.DFHT,
|
||||
Rahangolodas = co.Rahangolodas,
|
||||
Testmozgas = co.Testmozgas,
|
||||
Muveszet = co.Muveszet,
|
||||
Eletgyakorlat = co.Eletgyakorlat,
|
||||
Logika = co.Logika,
|
||||
TeOrad = co.TeOrad,
|
||||
Sorszamozando = co.Sorszamozando,
|
||||
DigitalisAlapProgram = co.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = co.EFOP23517201700038Miapalya,
|
||||
|
||||
TanevTananyaganakIsmetlese = co.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = co.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = co.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = co.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = co.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = co.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = co.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = co.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = co.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = co.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = co.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = co.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = co.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = co.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = co.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = co.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = co.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = co.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = co.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = co.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = co.NapkozisTevekenysegKeretebenEgyeniFejlesztes,
|
||||
IsEgybefuggoGyakorlat = co.IsEgybefuggoGyakorlat
|
||||
};
|
||||
model.TTFModel = new TTFModel
|
||||
{
|
||||
FoglalkozasID = co.FoglalkozasID,
|
||||
OsztalyID = co.OsztalyCsoportId,
|
||||
TantargyID = co.TantargyId,
|
||||
TanarID = co.TanarId
|
||||
};
|
||||
|
||||
SetOraKezdetekAndOraVegek(model);
|
||||
OraValidationCo oraValidationCo = SetOraValidationCoFromOrarendiOraModel(model);
|
||||
oraValidationCo.OrarendiOraValidationCo.JSHelperNev = Constants.JSHelperName.OrarendiOra;
|
||||
oraValidationCo.OrarendiOraValidationCo.IsOraCopy = true;
|
||||
return oraValidationCo;
|
||||
}
|
||||
return new OraValidationCo();
|
||||
|
||||
}
|
||||
|
||||
public static void SetOraKezdetekAndOraVegek(OrarendiOraModel model)
|
||||
{
|
||||
model.OraKezdete = CreateLocalDateTimeBasedOnDateAndTime(model.OraKezdete.Value, model.OraKezdete.Value);
|
||||
model.OraVege = CreateLocalDateTimeBasedOnDateAndTime(model.OraVege.Value, model.OraVege.Value);
|
||||
|
||||
if (model.IsTanoranKivuliFoglalkozas && model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
model.OraErvenyessegKezdete = model.OraErvenyessegKezdete.Value.ToLocalTime();
|
||||
model.OraErvenyessegVege = model.OraErvenyessegVege.Value.ToLocalTime();
|
||||
}
|
||||
else if (!model.CsengetesiRendID.HasValue) //NOTE: Különben nem a popupban kiválasztott értéket kapná
|
||||
{
|
||||
model.OraErvenyessegKezdete = model.OraErvenyessegKezdete.Value.Date.AddHours(model.OraKezdete.Value.Hour).AddMinutes(model.OraKezdete.Value.Minute);
|
||||
model.OraErvenyessegVege = model.OraErvenyessegVege.Value.Date.AddHours(model.OraVege.Value.Hour).AddMinutes(model.OraVege.Value.Minute);
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessHetirend(OrarendiOraModel model)
|
||||
{
|
||||
if (model.ModositasiIdoszakTipus == (int)OraModositasiIdoszakTipus.EgyOra)
|
||||
{
|
||||
model.HetirendID = (int)HetiRendTipusEnum.MindegyikHet;
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessOraszam(OrarendiOraModel model)
|
||||
{
|
||||
if (model.CsengetesiRendID.IsEntityId())
|
||||
{
|
||||
var orarendiOraHelper = new CsengetesiRendOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var csengrendOraId = orarendiOraHelper.GetCsengetesiRendOraId(model.CsengetesiRendID.Value, model.Oraszam.Value);
|
||||
|
||||
if (!csengrendOraId.IsEntityId())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, OrarendResource.CsengetesiRendhezNincsCsengetesiOra);
|
||||
}
|
||||
|
||||
model.CsengetesiRendOraID = csengrendOraId.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public static void PostProcessHetnapja(OrarendiOraModel model)
|
||||
{
|
||||
if (model.OraErvenyessegKezdete.Value.Date == model.OraErvenyessegVege.Value.Date)
|
||||
{
|
||||
var ds = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevrendekOsztalyCsoportokkal(model.OraErvenyessegKezdete.Value.Date, model.OraErvenyessegVege.Value.Date);
|
||||
|
||||
foreach (DataRow row in ds.Tables[0].Rows)
|
||||
{
|
||||
if (row.Field<bool>("OrarendiNap_BOOL") == true)
|
||||
{
|
||||
var hetNapja = row.Field<int?>("HetNapja");
|
||||
|
||||
if (hetNapja.HasValue && hetNapja.Value != model.HetNapja)
|
||||
{
|
||||
var osztalyCsoportId = row.Field<int?>("OsztalyCsoportId");
|
||||
|
||||
if (osztalyCsoportId.HasValue && osztalyCsoportId == model.TTFModel.OsztalyID)
|
||||
{
|
||||
model.HetNapja = hetNapja.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
if (SDAConvert.ToBooleanFromTF(row.Field<string>("Global")))
|
||||
{
|
||||
model.HetNapja = hetNapja.Value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
25
KretaWeb/Areas/Orarend/Logic/SzamonkeresElorejelzesLogic.cs
Normal file
25
KretaWeb/Areas/Orarend/Logic/SzamonkeresElorejelzesLogic.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class SzamonkeresElorejelzesLogic
|
||||
{
|
||||
public SzamonkeresElorejelzesLogic()
|
||||
{
|
||||
var helper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
SzamonkeresLimitFigyelmeztetes = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Limit_Figyelmeztetesi_Tiltasi_Beallitas);
|
||||
GetModokListNapiLimithez = helper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Ertekeles_Modok_Beallitasa_Napi_Limithez);
|
||||
GetNapiSzamonkeresiLimit = helper.GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Napi_Szamonkeresi_Limit);
|
||||
}
|
||||
|
||||
public int SzamonkeresLimitFigyelmeztetes { get; private set; }
|
||||
|
||||
public List<int> GetModokListNapiLimithez { get; private set; }
|
||||
|
||||
public int GetNapiSzamonkeresiLimit { get; private set; }
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/Orarend/Logic/TanoraKeresoLogic.cs
Normal file
44
KretaWeb/Areas/Orarend/Logic/TanoraKeresoLogic.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Orarend.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Logic
|
||||
{
|
||||
public class TanoraKeresoLogic
|
||||
{
|
||||
public static ActionResult ExportHelyettesitettTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitettTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.HelyettesitettTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
|
||||
public static ActionResult ExportElmaradtTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetElmaradtTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.ElmaradtTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
|
||||
public static ActionResult ExportMegtartottTanorak(TanitasiOraSearchModel model)
|
||||
{
|
||||
var bytes = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMegtartottTanorakExcelExport(TanitasiOraSearchModel.ConvertModelToCo(model));
|
||||
|
||||
return new FileContentResult(bytes, MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(OrarendResource.MegtartottTanorakExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminCreateKozpontiOrakModel
|
||||
{
|
||||
public List<int> OrarendiOrakTorlesre { get; set; }
|
||||
|
||||
public List<AdminKozpontiOrakRogzitesGridModel> KozpontiOrakRogzitesre { get; set; }
|
||||
|
||||
public DateTime Start { get; set; }
|
||||
|
||||
public DateTime End { get; set; }
|
||||
|
||||
public int HanyadikOra { get; set; }
|
||||
|
||||
public bool IsTeremutkozesFigyelese { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakDeleteKozpontiOrakModel
|
||||
{
|
||||
public Guid KozpontiOraGroupId { get; set; }
|
||||
public DateTime Start { get; set; }
|
||||
public DateTime End { get; set; }
|
||||
public int HanyadikOra { get; set; }
|
||||
public int OrarendiOraId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
using Kreta.Web.Helpers.Grid;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakOrarendiOraPartialViewListModel
|
||||
{
|
||||
public bool RowCheckBoxCheckedByDefault { get; set; }
|
||||
public string GridName { get; set; }
|
||||
public GridApiUrl GridApiUrl { get; set; }
|
||||
public string DataBoundAdditionalFunction { get; set; }
|
||||
public string JsonContent { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakOrarendiOrakIdList
|
||||
{
|
||||
public List<int> OrarendiOrakIdList { get; set; }
|
||||
public DateTime Start { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakOsztalyokGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Osztaly), ResourceType = typeof(OrarendResource))]
|
||||
public string Osztaly { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public int TanarID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public int TantargyID { get; set; }
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))]
|
||||
public int TeremID { get; set; }
|
||||
[Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))]
|
||||
public string Terem { get; set; }
|
||||
|
||||
public DateTime OraKezdete { get; set; }
|
||||
public DateTime OraVege { get; set; }
|
||||
public int HanyadikOra { get; set; }
|
||||
public Guid? KozpontiOraGroupId { get; set; }
|
||||
|
||||
[KretaDisplayName(1532)] /*Sorszámozandó*/
|
||||
public bool Sorszamozando { get; set; } = true;
|
||||
|
||||
[KretaDisplayName(1544)] /*>Párhuzamos óra*/
|
||||
public bool ParhuzamosOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1533)] /*Túlóra*/
|
||||
public bool Tulora { get; set; }
|
||||
|
||||
[KretaDisplayName(1534)] /*TÁMOP óra*/
|
||||
public bool TAMOPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KIPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KIPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.VEKOP73317), ResourceType = typeof(OrarendResource))]
|
||||
public bool VEKOP73317 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KAPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KAPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.NemSzakrendszeruOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool NemSzakrendszeruOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1536)] /*IKT tanóra*/
|
||||
public bool IKTTanora { get; set; }
|
||||
|
||||
[KretaDisplayName(1537)] /*Nemzetiségi tanóra*/
|
||||
public bool NemzetisegiOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyResource.MegbizasiSzerzodesselEllatottOra), ResourceType = typeof(TantargyResource))]
|
||||
public bool IsFelnottoktatasiSzerzodes { get; set; }
|
||||
|
||||
[KretaDisplayName(1538)] /*Mindennapos testnevelés*/
|
||||
public bool MindennaposTestneveles { get; set; }
|
||||
|
||||
[KretaDisplayName(1539)] /*IPR tanóra*/
|
||||
public bool IPRTanora { get; set; }
|
||||
|
||||
[KretaDisplayName(1540)] /*Differenciált*/
|
||||
public bool Differencialt { get; set; }
|
||||
|
||||
[KretaDisplayName(1541)] /*Kooperatív*/
|
||||
public bool Kooperativ { get; set; }
|
||||
|
||||
[KretaDisplayName(1542)] /*Mérés*/
|
||||
public bool Meres { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool OnlineOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1543)] /*Dráma*/
|
||||
public bool Drama { get; set; }
|
||||
|
||||
[KretaDisplayName(1545)] /*TIOP 12*/
|
||||
public bool Tiop { get; set; }
|
||||
|
||||
[KretaDisplayName(2593)] /*Bontott*/
|
||||
public bool Bontott { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Multikulturalis), ResourceType = typeof(OrarendResource))]
|
||||
public bool Multikulturalis { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP32317DigitalisKornyezetAKozenevelesben), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP32317 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KomplexOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KomplexOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.GINOP623), ResourceType = typeof(OrarendResource))]
|
||||
public bool GINOP623 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP31716EselyteremtesAKoznevelesben), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP31716EselyteremtesAKoznevelesben { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP33717), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP33717 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TIOP11112120120001), ResourceType = typeof(OrarendResource))]
|
||||
public bool TIOP11112120120001 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DFHT), ResourceType = typeof(OrarendResource))]
|
||||
public bool DFHT { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Rahangolodas), ResourceType = typeof(OrarendResource))]
|
||||
public bool Rahangolodas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Testmozgas), ResourceType = typeof(OrarendResource))]
|
||||
public bool Testmozgas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Muveszet), ResourceType = typeof(OrarendResource))]
|
||||
public bool Muveszet { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Eletgyakorlat), ResourceType = typeof(OrarendResource))]
|
||||
public bool Eletgyakorlat { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Logika), ResourceType = typeof(OrarendResource))]
|
||||
public bool Logika { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TeOrad), ResourceType = typeof(OrarendResource))]
|
||||
public bool TeOrad { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DigitalisAlapProgram), ResourceType = typeof(OrarendResource))]
|
||||
public bool DigitalisAlapProgram { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP23517201700038Miapalya), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP23517201700038Miapalya { get; set; }
|
||||
|
||||
public static List<AdminKozpontiOrakOsztalyokGridModel> MapOsztalyItemCoListToOsztalyokGridModelList(List<OsztalyItemCo> osztalyItemCoList, bool isSorszamozando)
|
||||
{
|
||||
List<AdminKozpontiOrakOsztalyokGridModel> list = new List<AdminKozpontiOrakOsztalyokGridModel>();
|
||||
|
||||
foreach (OsztalyItemCo osztalyItemCo in osztalyItemCoList)
|
||||
{
|
||||
var temp = new AdminKozpontiOrakOsztalyokGridModel
|
||||
{
|
||||
ID = osztalyItemCo.Id.ToString(),
|
||||
Osztaly = osztalyItemCo.Nev,
|
||||
TanarID = osztalyItemCo.OsztalyfonokId,
|
||||
TeremID = osztalyItemCo.TeremId,
|
||||
Sorszamozando = isSorszamozando
|
||||
};
|
||||
|
||||
list.Add(temp);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static List<AdminKozpontiOrakOsztalyokGridModel> MapOrarendiOrakoListToOsztalyokGridModelList(IList<AdminKozpontiOrakOrarendiOraCo> orarendiOrakList)
|
||||
{
|
||||
List<AdminKozpontiOrakOsztalyokGridModel> list = new List<AdminKozpontiOrakOsztalyokGridModel>();
|
||||
|
||||
foreach (AdminKozpontiOrakOrarendiOraCo item in orarendiOrakList)
|
||||
{
|
||||
var temp = new AdminKozpontiOrakOsztalyokGridModel
|
||||
{
|
||||
ID = item.Id.ToString(),
|
||||
Osztaly = item.OsztalyNev,
|
||||
Tanar = item.TanarNev,
|
||||
TanarID = item.TanarId,
|
||||
Tantargy = item.TantargyNev,
|
||||
TantargyID = item.TantargyId ?? 0,
|
||||
Terem = item.TeremNev,
|
||||
TeremID = item.TeremId,
|
||||
OraKezdete = item.OraKezdete ?? DateTime.Now,
|
||||
OraVege = item.OraVege ?? DateTime.Now,
|
||||
HanyadikOra = item.OraSorszam ?? 0,
|
||||
KozpontiOraGroupId = item.KozpontiOraGroupId
|
||||
};
|
||||
|
||||
list.Add(temp);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
// Órarend speciális adatok módosításnál frissíteni kell
|
||||
public class AdminKozpontiOrakRogzitesGridModel
|
||||
{
|
||||
public int OsztalyId { get; set; }
|
||||
public int TanarID { get; set; }
|
||||
public int TantargyID { get; set; }
|
||||
public int TeremID { get; set; }
|
||||
public bool Sorszamozando { get; set; }
|
||||
public bool ParhuzamosOra { get; set; }
|
||||
public bool Tulora { get; set; }
|
||||
public bool TAMOPOra { get; set; }
|
||||
public bool NemSzakrendszeruOra { get; set; }
|
||||
public bool KAPOra { get; set; }
|
||||
public bool VEKOP73317 { get; set; }
|
||||
public bool KIPOra { get; set; }
|
||||
public bool IKTTanora { get; set; }
|
||||
public bool NemzetisegiOra { get; set; }
|
||||
public bool IsFelnottoktatasiSzerzodes { get; set; }
|
||||
public bool OnlineOra { get; set; }
|
||||
public bool MindennaposTestneveles { get; set; }
|
||||
public bool IPRTanora { get; set; }
|
||||
public bool Differencialt { get; set; }
|
||||
public bool Kooperativ { get; set; }
|
||||
public bool Meres { get; set; }
|
||||
public bool Drama { get; set; }
|
||||
public bool Tiop { get; set; }
|
||||
public bool Bontott { get; set; }
|
||||
public bool Multikulturalis { get; set; }
|
||||
public bool EFOP32317 { get; set; }
|
||||
public bool KomplexOra { get; set; }
|
||||
public bool GINOP623 { get; set; }
|
||||
public bool EFOP31716EselyteremtesAKoznevelesben { get; set; }
|
||||
public bool EFOP33717 { get; set; }
|
||||
public bool TIOP11112120120001 { get; set; }
|
||||
public bool DFHT { get; set; }
|
||||
public bool Rahangolodas { get; set; }
|
||||
public bool Testmozgas { get; set; }
|
||||
public bool Muveszet { get; set; }
|
||||
public bool Eletgyakorlat { get; set; }
|
||||
public bool Logika { get; set; }
|
||||
public bool TeOrad { get; set; }
|
||||
public bool DigitalisAlapProgram { get; set; }
|
||||
public bool EFOP23517201700038Miapalya { get; set; }
|
||||
public bool TanevTananyaganakIsmetlese { get; set; }
|
||||
public bool TanevTananyaganakKiegeszitese { get; set; }
|
||||
public bool TanulokDigitalisKeszsegfejlesztese { get; set; }
|
||||
public bool Projektmunka { get; set; }
|
||||
public bool TanulokKompenzaciosIraskeszsegFejlesztese { get; set; }
|
||||
public bool TanulokKompenzaciosOlvasasiKepessegFejlesztese { get; set; }
|
||||
public bool TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese { get; set; }
|
||||
public bool TanulokNyelviKepessegenekKompenzaciosFejlesztese { get; set; }
|
||||
public bool TanulokOnmegismeresenekSegitese { get; set; }
|
||||
public bool TanulokOnallosagraNevelese { get; set; }
|
||||
public bool TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese { get; set; }
|
||||
public bool TanulokOrientaciosTamogatasa { get; set; }
|
||||
public bool TanulokSzocialitasanakFejlesztese { get; set; }
|
||||
public bool TanulokTovabbhaladasatElokeszitoTevekenysegek { get; set; }
|
||||
public bool PedagogusAltalJelzettEgyeniEsetkezeles { get; set; }
|
||||
public bool ProjektmunkaTamogatasa { get; set; }
|
||||
public bool DigitalisKeszsegfejlesztes { get; set; }
|
||||
public bool KozossegiMunkaTamogatasa { get; set; }
|
||||
public bool TanoraElokeszitesenekTamogatasa { get; set; }
|
||||
public bool TanoraLebonyolitasanakTamogatasa { get; set; }
|
||||
public bool NapkozisTevekenysegKeretebenEgyeniFejlesztes { get; set; }
|
||||
}
|
||||
|
||||
public static class KozpontiOraConverter
|
||||
{
|
||||
public static OrarendiOraModel ConvertToOrarendiOra(AdminKozpontiOrakRogzitesGridModel r, int csengetesirendId, DateTime Start, DateTime End, int HanyadikOra)
|
||||
{
|
||||
var orarendiOramodel = new OrarendiOraModel
|
||||
{
|
||||
ModositasiIdoszakTipus = (int)OraModositasiIdoszakTipus.EgyOra,
|
||||
TeremID = r.TeremID,
|
||||
OraErvenyessegKezdete = Start,
|
||||
OraErvenyessegVege = End,
|
||||
OraKezdete = Start,
|
||||
OraVege = End,
|
||||
CsengetesiRendID = csengetesirendId,
|
||||
Oraszam = HanyadikOra,
|
||||
TTFModel = new TTFModel
|
||||
{
|
||||
TantargyID = r.TantargyID,
|
||||
TanarID = r.TanarID,
|
||||
OsztalyID = SDAConvert.ToInt32(r.OsztalyId)
|
||||
},
|
||||
// Órarend speciális adatok módosításnál frissíteni kell
|
||||
Sorszamozando = r.Sorszamozando,
|
||||
ParhuzamosOra = r.ParhuzamosOra,
|
||||
Tulora = r.Tulora,
|
||||
TAMOPOra = r.TAMOPOra,
|
||||
NemSzakrendszeruOra = r.NemSzakrendszeruOra,
|
||||
KAPOra = r.KAPOra,
|
||||
VEKOP73317 = r.VEKOP73317,
|
||||
KIPOra = r.KIPOra,
|
||||
IKTTanora = r.IKTTanora,
|
||||
NemzetisegiOra = r.NemzetisegiOra,
|
||||
IsFelnottoktatasiSzerzodes = r.IsFelnottoktatasiSzerzodes,
|
||||
MindennaposTestneveles = r.MindennaposTestneveles,
|
||||
IPRTanora = r.IPRTanora,
|
||||
Differencialt = r.Differencialt,
|
||||
Kooperativ = r.Kooperativ,
|
||||
Meres = r.Meres,
|
||||
Drama = r.Drama,
|
||||
Tiop = r.Tiop,
|
||||
Bontott = r.Bontott,
|
||||
OnlineOra = r.OnlineOra,
|
||||
Multikulturalis = r.Multikulturalis,
|
||||
EFOP32317 = r.EFOP32317,
|
||||
KomplexOra = r.KomplexOra,
|
||||
GINOP623 = r.GINOP623,
|
||||
EFOP31716EselyteremtesAKoznevelesben = r.EFOP31716EselyteremtesAKoznevelesben,
|
||||
EFOP33717 = r.EFOP33717,
|
||||
TIOP11112120120001 = r.TIOP11112120120001,
|
||||
DFHT = r.DFHT,
|
||||
Rahangolodas = r.Rahangolodas,
|
||||
Testmozgas = r.Testmozgas,
|
||||
Muveszet = r.Muveszet,
|
||||
Eletgyakorlat = r.Eletgyakorlat,
|
||||
Logika = r.Logika,
|
||||
TeOrad = r.TeOrad,
|
||||
DigitalisAlapProgram = r.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = r.EFOP23517201700038Miapalya,
|
||||
TanevTananyaganakIsmetlese = r.TanevTananyaganakIsmetlese,
|
||||
TanevTananyaganakKiegeszitese = r.TanevTananyaganakKiegeszitese,
|
||||
TanulokDigitalisKeszsegfejlesztese = r.TanulokDigitalisKeszsegfejlesztese,
|
||||
Projektmunka = r.Projektmunka,
|
||||
TanulokKompenzaciosIraskeszsegFejlesztese = r.TanulokKompenzaciosIraskeszsegFejlesztese,
|
||||
TanulokKompenzaciosOlvasasiKepessegFejlesztese = r.TanulokKompenzaciosOlvasasiKepessegFejlesztese,
|
||||
TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = r.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokNyelviKepessegenekKompenzaciosFejlesztese = r.TanulokNyelviKepessegenekKompenzaciosFejlesztese,
|
||||
TanulokOnmegismeresenekSegitese = r.TanulokOnmegismeresenekSegitese,
|
||||
TanulokOnallosagraNevelese = r.TanulokOnallosagraNevelese,
|
||||
TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = r.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese,
|
||||
TanulokOrientaciosTamogatasa = r.TanulokOrientaciosTamogatasa,
|
||||
TanulokSzocialitasanakFejlesztese = r.TanulokSzocialitasanakFejlesztese,
|
||||
TanulokTovabbhaladasatElokeszitoTevekenysegek = r.TanulokTovabbhaladasatElokeszitoTevekenysegek,
|
||||
PedagogusAltalJelzettEgyeniEsetkezeles = r.PedagogusAltalJelzettEgyeniEsetkezeles,
|
||||
ProjektmunkaTamogatasa = r.ProjektmunkaTamogatasa,
|
||||
DigitalisKeszsegfejlesztes = r.DigitalisKeszsegfejlesztes,
|
||||
KozossegiMunkaTamogatasa = r.KozossegiMunkaTamogatasa,
|
||||
TanoraElokeszitesenekTamogatasa = r.TanoraElokeszitesenekTamogatasa,
|
||||
TanoraLebonyolitasanakTamogatasa = r.TanoraLebonyolitasanakTamogatasa,
|
||||
NapkozisTevekenysegKeretebenEgyeniFejlesztes = r.NapkozisTevekenysegKeretebenEgyeniFejlesztes
|
||||
};
|
||||
|
||||
return orarendiOramodel;
|
||||
}
|
||||
}
|
||||
}
|
190
KretaWeb/Areas/Orarend/Models/AdminKozpontiOrakRogzitesModel.cs
Normal file
190
KretaWeb/Areas/Orarend/Models/AdminKozpontiOrakRogzitesModel.cs
Normal file
|
@ -0,0 +1,190 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Reflection;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakRogzitesModel
|
||||
{
|
||||
public int DefaultTanarID { get; set; }
|
||||
public int DefaultTantargyID { get; set; }
|
||||
public int DefaultTeremID { get; set; }
|
||||
|
||||
[KretaDisplayName(1532)] /*Sorszámozandó*/
|
||||
public bool Sorszamozando { get; set; }
|
||||
|
||||
[KretaDisplayName(1544)] /*>Párhuzamos óra*/
|
||||
public bool ParhuzamosOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1533)] /*Túlóra*/
|
||||
public bool Tulora { get; set; }
|
||||
|
||||
[KretaDisplayName(1534)] /*TÁMOP óra*/
|
||||
public bool TAMOPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KIPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KIPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.VEKOP73317), ResourceType = typeof(OrarendResource))]
|
||||
public bool VEKOP73317 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KAPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KAPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.NemSzakrendszeruOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool NemSzakrendszeruOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1536)] /*IKT tanóra*/
|
||||
public bool IKTTanora { get; set; }
|
||||
|
||||
[KretaDisplayName(1537)] /*Nemzetiségi tanóra*/
|
||||
public bool NemzetisegiOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyResource.MegbizasiSzerzodesselEllatottOra), ResourceType = typeof(TantargyResource))]
|
||||
public bool IsFelnottoktatasiSzerzodes { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool OnlineOra { get; set; }
|
||||
|
||||
[KretaDisplayName(1538)] /*Mindennapos testnevelés*/
|
||||
public bool MindennaposTestneveles { get; set; }
|
||||
|
||||
[KretaDisplayName(1539)] /*IPR tanóra*/
|
||||
public bool IPRTanora { get; set; }
|
||||
|
||||
[KretaDisplayName(1540)] /*Differenciált*/
|
||||
public bool Differencialt { get; set; }
|
||||
|
||||
[KretaDisplayName(1541)] /*Kooperatív*/
|
||||
public bool Kooperativ { get; set; }
|
||||
|
||||
[KretaDisplayName(1542)] /*Mérés*/
|
||||
public bool Meres { get; set; }
|
||||
|
||||
[KretaDisplayName(1543)] /*Dráma*/
|
||||
public bool Drama { get; set; }
|
||||
|
||||
[KretaDisplayName(1545)] /*TIOP 12*/
|
||||
public bool Tiop { get; set; }
|
||||
|
||||
[KretaDisplayName(2593)] /*Bontott*/
|
||||
public bool Bontott { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Multikulturalis), ResourceType = typeof(OrarendResource))]
|
||||
public bool Multikulturalis { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP32317DigitalisKornyezetAKozenevelesben), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP32317 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KomplexOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KomplexOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.GINOP623), ResourceType = typeof(OrarendResource))]
|
||||
public bool GINOP623 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP31716EselyteremtesAKoznevelesben), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP31716EselyteremtesAKoznevelesben { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP33717), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP33717 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TIOP11112120120001), ResourceType = typeof(OrarendResource))]
|
||||
public bool TIOP11112120120001 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DFHT), ResourceType = typeof(OrarendResource))]
|
||||
public bool DFHT { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Rahangolodas), ResourceType = typeof(OrarendResource))]
|
||||
public bool Rahangolodas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Testmozgas), ResourceType = typeof(OrarendResource))]
|
||||
public bool Testmozgas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Muveszet), ResourceType = typeof(OrarendResource))]
|
||||
public bool Muveszet { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Eletgyakorlat), ResourceType = typeof(OrarendResource))]
|
||||
public bool Eletgyakorlat { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Logika), ResourceType = typeof(OrarendResource))]
|
||||
public bool Logika { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TeOrad), ResourceType = typeof(OrarendResource))]
|
||||
public bool TeOrad { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DigitalisAlapProgram), ResourceType = typeof(OrarendResource))]
|
||||
public bool DigitalisAlapProgram { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.EFOP23517201700038Miapalya), ResourceType = typeof(OrarendResource))]
|
||||
public bool EFOP23517201700038Miapalya { get; set; }
|
||||
public DateTime? OraDatum { get; set; }
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.IsEgybefuggoGyakorlat), ResourceType = typeof(OrarendResource))]
|
||||
public bool IsEgybefuggoGyakorlat { get; set; }
|
||||
|
||||
public int GetNumberOfTrueProperties()
|
||||
{
|
||||
var result = 0;
|
||||
|
||||
foreach (PropertyInfo prop in GetType().GetProperties())
|
||||
{
|
||||
var type = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;
|
||||
if (type == typeof(Boolean) && (bool)prop.GetValue(this))
|
||||
{
|
||||
result++;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static AdminKozpontiOrakRogzitesModel MapFromTanoraAdatok(TanoraAdatok tanoraAdatok)
|
||||
{
|
||||
return new AdminKozpontiOrakRogzitesModel
|
||||
{
|
||||
Sorszamozando = tanoraAdatok.Sorszamozando,
|
||||
ParhuzamosOra = tanoraAdatok.ParhuzamosOra,
|
||||
Tulora = tanoraAdatok.Tulora,
|
||||
TAMOPOra = tanoraAdatok.TAMOPOra,
|
||||
KIPOra = tanoraAdatok.KIPOra,
|
||||
VEKOP73317 = tanoraAdatok.VEKOP73317,
|
||||
KAPOra = tanoraAdatok.KAPOra,
|
||||
NemSzakrendszeruOra = tanoraAdatok.NemSzakrendszeruOra,
|
||||
IKTTanora = tanoraAdatok.IKTTanora,
|
||||
NemzetisegiOra = tanoraAdatok.NemzetisegiOra,
|
||||
IsEgybefuggoGyakorlat = tanoraAdatok.IsEgybefuggoGyakorlat,
|
||||
IsFelnottoktatasiSzerzodes = tanoraAdatok.IsFelnottoktatasiSzerzodes,
|
||||
OnlineOra = tanoraAdatok.OnlineOra,
|
||||
MindennaposTestneveles = tanoraAdatok.MindennaposTestneveles,
|
||||
IPRTanora = tanoraAdatok.IPRTanora,
|
||||
Differencialt = tanoraAdatok.Differencialt,
|
||||
Kooperativ = tanoraAdatok.Kooperativ,
|
||||
Meres = tanoraAdatok.Meres,
|
||||
Drama = tanoraAdatok.Drama,
|
||||
Tiop = tanoraAdatok.Tiop,
|
||||
TIOP11112120120001 = tanoraAdatok.TIOP11112120120001,
|
||||
Bontott = tanoraAdatok.Bontott,
|
||||
Multikulturalis = tanoraAdatok.Multikulturalis,
|
||||
EFOP32317 = tanoraAdatok.EFOP32317,
|
||||
EFOP33717 = tanoraAdatok.EFOP33717,
|
||||
EFOP31716EselyteremtesAKoznevelesben = tanoraAdatok.EFOP31716EselyteremtesAKoznevelesben,
|
||||
KomplexOra = tanoraAdatok.KomplexOra,
|
||||
GINOP623 = tanoraAdatok.GINOP623,
|
||||
DFHT = tanoraAdatok.DFHT,
|
||||
Rahangolodas = tanoraAdatok.Rahangolodas,
|
||||
Testmozgas = tanoraAdatok.Testmozgas,
|
||||
Muveszet = tanoraAdatok.Muveszet,
|
||||
Eletgyakorlat = tanoraAdatok.Eletgyakorlat,
|
||||
Logika = tanoraAdatok.Logika,
|
||||
TeOrad = tanoraAdatok.TeOrad,
|
||||
DigitalisAlapProgram = tanoraAdatok.DigitalisAlapProgram,
|
||||
EFOP23517201700038Miapalya = tanoraAdatok.EFOP23517201700038Miapalya,
|
||||
OraDatum = tanoraAdatok.OraDatum,
|
||||
Oraszam = tanoraAdatok.Oraszam
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakRogzitesSelectedModel
|
||||
{
|
||||
public int OsztalyId { get; set; }
|
||||
public int TanarId { get; set; }
|
||||
public int TeremId { get; set; }
|
||||
|
||||
public static List<AdminSelectedKozpontiOraCo> MapListToKozpontiOrakOrarendiOrakUtkozesCoList(List<AdminKozpontiOrakRogzitesSelectedModel> list, int oraSzam)
|
||||
{
|
||||
var result = new List<AdminSelectedKozpontiOraCo>();
|
||||
|
||||
foreach (AdminKozpontiOrakRogzitesSelectedModel item in list)
|
||||
{
|
||||
var temp = new AdminSelectedKozpontiOraCo
|
||||
{
|
||||
OsztalyId = item.OsztalyId,
|
||||
TanarId = item.TanarId,
|
||||
TeremId = item.TeremId,
|
||||
OraSzam = oraSzam
|
||||
};
|
||||
|
||||
result.Add(temp);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public class DeserializeHelper
|
||||
{
|
||||
public string JsonContent { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminKozpontiOrakSearchModel
|
||||
{
|
||||
public DateTime Start { get; set; }
|
||||
|
||||
public DateTime End { get; set; }
|
||||
|
||||
public int HanyadikOra { get; set; }
|
||||
|
||||
public List<AdminKozpontiOrakRogzitesSelectedModel> KozpontiOrakList { get; set; }
|
||||
|
||||
public string CreateModelsJson { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
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.Orarend.Models
|
||||
{
|
||||
public class AdminNemElerhetoOrarendiElemGridModel : IKretaIdentity
|
||||
{
|
||||
public const string NemElerhetoOrarendiElemExportAttributeId = nameof(NemElerhetoOrarendiElemExportAttributeId);
|
||||
|
||||
public AdminNemElerhetoOrarendiElemGridModel() { }
|
||||
|
||||
public AdminNemElerhetoOrarendiElemGridModel(NemElerhetoOrarendiElemItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id;
|
||||
ErvenyessegKezdete = itemCo.ErvenyessegKezdete;
|
||||
ErvenyessegVege = itemCo.ErvenyessegVege;
|
||||
Tanar = itemCo.Tanar;
|
||||
TanarElotagNelkul = itemCo.TanarElotagNelkul;
|
||||
OsztalyCsoport = itemCo.OsztalyCsoport;
|
||||
Tantargy = itemCo.Tantargy;
|
||||
Hetirend = itemCo.Hetirend;
|
||||
Nap = itemCo.Nap;
|
||||
Terem = itemCo.Terem;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ErvenyessegKezdete), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 00, nameof(OrarendResource.ErvenyessegKezdete), typeof(OrarendResource))]
|
||||
public DateTime? ErvenyessegKezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ErvenyessegVege), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 01, nameof(OrarendResource.ErvenyessegVege), typeof(OrarendResource))]
|
||||
public DateTime? ErvenyessegVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 02, nameof(OrarendResource.Tanar), typeof(OrarendResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public string TanarElotagNelkul { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 03, nameof(OrarendResource.OsztalyCsoport), typeof(OrarendResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 04, nameof(OrarendResource.Tantargy), typeof(OrarendResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Hetirend), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 05, nameof(OrarendResource.Hetirend), typeof(OrarendResource))]
|
||||
public string Hetirend { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 06, nameof(OrarendResource.HetNapja), typeof(OrarendResource))]
|
||||
public string Nap { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(NemElerhetoOrarendiElemExportAttributeId, 07, nameof(OrarendResource.Terem), typeof(OrarendResource))]
|
||||
public string Terem { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminNemElerhetoOrarendiElemSearchModel
|
||||
{
|
||||
[Display(Name = nameof(OrarendResource.ErvenyessegKezdete), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? ErvenyessegKezdeteTol { get; set; }
|
||||
public DateTime? ErvenyessegKezdeteIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ErvenyessegVege), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? ErvenyessegVegeTol { get; set; }
|
||||
public DateTime? ErvenyessegVegeIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public int? OsztalyCsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public int? TanarId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))]
|
||||
public int? TeremId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
public int? NapId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Hetirend), ResourceType = typeof(OrarendResource))]
|
||||
public int? HetirendId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
public static AdminNemElerhetoOrarendiElemCO ConvertModelToCo(AdminNemElerhetoOrarendiElemSearchModel model)
|
||||
{
|
||||
return new AdminNemElerhetoOrarendiElemCO()
|
||||
{
|
||||
ErvenyessegKezdeteTol = model.ErvenyessegKezdeteTol,
|
||||
ErvenyessegKezdeteIg = model.ErvenyessegKezdeteIg,
|
||||
ErvenyessegVegeTol = model.ErvenyessegVegeTol,
|
||||
ErvenyessegVegeIg = model.ErvenyessegVegeIg,
|
||||
OsztalyCsoportId = model.OsztalyCsoportId,
|
||||
TanarId = model.TanarId,
|
||||
TeremId = model.TeremId,
|
||||
NapId = model.NapId,
|
||||
HetirendId = model.HetirendId,
|
||||
TantargyId = model.TantargyId
|
||||
};
|
||||
}
|
||||
|
||||
public AdminNemElerhetoOrarendiElemCO ConvertToCo()
|
||||
{
|
||||
return new AdminNemElerhetoOrarendiElemCO()
|
||||
{
|
||||
ErvenyessegKezdeteTol = this.ErvenyessegKezdeteTol,
|
||||
ErvenyessegKezdeteIg = this.ErvenyessegKezdeteIg,
|
||||
ErvenyessegVegeTol = this.ErvenyessegVegeTol,
|
||||
ErvenyessegVegeIg = this.ErvenyessegVegeIg,
|
||||
OsztalyCsoportId = this.OsztalyCsoportId,
|
||||
TanarId = this.TanarId,
|
||||
TeremId = this.TeremId,
|
||||
NapId = this.NapId,
|
||||
HetirendId = this.HetirendId,
|
||||
TantargyId = this.TantargyId
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
37
KretaWeb/Areas/Orarend/Models/AdminOsztalyOrarendModel.cs
Normal file
37
KretaWeb/Areas/Orarend/Models/AdminOsztalyOrarendModel.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminOsztalyOrarendModel
|
||||
{
|
||||
public AdminOsztalyOrarendModel()
|
||||
{
|
||||
TabList = new List<TabStripItemModel>();
|
||||
}
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? Osztaly { get; set; }
|
||||
|
||||
public string HetirendJson { get; set; }
|
||||
public string NaptariHetekHetirendJson { get; set; }
|
||||
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
public TimeSpan CalendarMinTime { get; set; }
|
||||
public TimeSpan CalendarMaxTime { get; set; }
|
||||
|
||||
public TimeSpan CsengetesiRendMinTime { get; set; }
|
||||
public TimeSpan CsengetesiRendMaxTime { get; set; }
|
||||
|
||||
public bool IsOravegeBeallitasOrahosszAlapjan { get; set; }
|
||||
public string CopyOrarendJson { get; set; }
|
||||
|
||||
public bool IsFromSzervezet { get; set; }
|
||||
public string ControllerName => IsFromSzervezet ? Constants.Controllers.DualisAdminOsztalyOrarend : Constants.Controllers.AdminOsztalyOrarend;
|
||||
public string ApiControllerName => IsFromSzervezet ? Constants.ApiControllers.DualisAdminOsztalyOrarendApi : Constants.ApiControllers.AdminOsztalyOrarendApi;
|
||||
}
|
||||
}
|
42
KretaWeb/Areas/Orarend/Models/AdminTanariOrarendModel.cs
Normal file
42
KretaWeb/Areas/Orarend/Models/AdminTanariOrarendModel.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminTanariOrarendModel
|
||||
{
|
||||
public AdminTanariOrarendModel()
|
||||
{
|
||||
TabList = new List<TabStripItemModel>();
|
||||
}
|
||||
|
||||
[Display(Name = nameof(AlkalmazottResource.Tanar), ResourceType = typeof(AlkalmazottResource))]
|
||||
public int? Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? Osztaly { get; set; }
|
||||
|
||||
public string HetirendJson { get; set; }
|
||||
public string NaptariHetekHetirendJson { get; set; }
|
||||
public int TanarId { get; set; }
|
||||
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
public TimeSpan CalendarMinTime { get; set; }
|
||||
public TimeSpan CalendarMaxTime { get; set; }
|
||||
|
||||
public TimeSpan CsengetesiRendMinTime { get; set; }
|
||||
public TimeSpan CsengetesiRendMaxTime { get; set; }
|
||||
|
||||
public bool IsOravegeBeallitasOrahosszAlapjan { get; set; }
|
||||
public string CopyOrarendJson { get; set; }
|
||||
|
||||
public bool IsFromSzervezet { get; set; }
|
||||
public string ControllerName => IsFromSzervezet ? Constants.Controllers.DualisAdminTanariOrarend : Constants.Controllers.AdminTanariOrarend;
|
||||
public string ApiControllerName => IsFromSzervezet ? Constants.ApiControllers.DualisAdminTanariOrarendApi : Constants.ApiControllers.AdminTanariOrarendApi;
|
||||
}
|
||||
}
|
37
KretaWeb/Areas/Orarend/Models/AdminTeremOrarendModel.cs
Normal file
37
KretaWeb/Areas/Orarend/Models/AdminTeremOrarendModel.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class AdminTeremOrarendModel
|
||||
{
|
||||
public AdminTeremOrarendModel()
|
||||
{
|
||||
TabList = new List<TabStripItemModel>();
|
||||
}
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Terem), ResourceType = typeof(OrarendResource))]
|
||||
public int? Terem { get; set; }
|
||||
|
||||
public string HetirendJson { get; set; }
|
||||
public string NaptariHetekHetirendJson { get; set; }
|
||||
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
public TimeSpan CalendarMinTime { get; set; }
|
||||
public TimeSpan CalendarMaxTime { get; set; }
|
||||
|
||||
public TimeSpan CsengetesiRendMinTime { get; set; }
|
||||
public TimeSpan CsengetesiRendMaxTime { get; set; }
|
||||
|
||||
public bool IsOravegeBeallitasOrahosszAlapjan { get; set; }
|
||||
public string CopyOrarendJson { get; set; }
|
||||
public bool IsFromSzervezet { get; set; }
|
||||
public string ControllerName => IsFromSzervezet ? Constants.Controllers.DualisAdminTeremOrarend : Constants.Controllers.AdminTeremOrarend;
|
||||
public string ApiControllerName => IsFromSzervezet ? Constants.ApiControllers.DualisAdminTeremOrarendApi : Constants.ApiControllers.AdminTeremOrarendApi;
|
||||
}
|
||||
}
|
26
KretaWeb/Areas/Orarend/Models/BaseOrarendTorleseModel.cs
Normal file
26
KretaWeb/Areas/Orarend/Models/BaseOrarendTorleseModel.cs
Normal file
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class BaseOrarendTorleseModel
|
||||
{
|
||||
public List<SelectListItem> OraTipusok { get; set; } = new List<SelectListItem>();
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendekTorleseResource.OraTipusMegadasaKotelezo), ErrorMessageResourceType = typeof(OrarendekTorleseResource))]
|
||||
public string OraTipus { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendekTorleseResource.IntervallumKezdeteDatumMegadasaKotelezo), ErrorMessageResourceType = typeof(OrarendekTorleseResource))]
|
||||
public DateTime? KezdeteDatum { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendekTorleseResource.IntervallumVegeDatumMegadasaKotelezo), ErrorMessageResourceType = typeof(OrarendekTorleseResource))]
|
||||
public DateTime? VegeDatum { get; set; }
|
||||
|
||||
public DateTime MinDatum { get; set; }
|
||||
|
||||
public DateTime MaxDatum { 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.Orarend.Models
|
||||
{
|
||||
public class BejelentettSzamonkeresekGridModel : IKretaIdentity
|
||||
{
|
||||
public const string BejelentettSzamonkeresekExportAttributeId = nameof(BejelentettSzamonkeresekExportAttributeId);
|
||||
|
||||
public BejelentettSzamonkeresekGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public BejelentettSzamonkeresekGridModel(BejelentettSzamonkeresekItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
SzamonkeresDatuma = itemCo.SzamonkeresDatuma;
|
||||
HetNapjaNev = itemCo.HetNapjaNev;
|
||||
HetNapjaId = itemCo.HetNapjaId;
|
||||
Oraszam = itemCo.Oraszam;
|
||||
TanarNev = itemCo.Tanarnev;
|
||||
TargyNev = itemCo.TargyNev;
|
||||
OsztalyNev = itemCo.OsztalyNev;
|
||||
ErtekelesModNev = itemCo.ErtekelesModNev;
|
||||
SzamonkeresMegnevezes = itemCo.SzamonkeresMegnevezes;
|
||||
BejelentesDatuma = itemCo.BejelentesDatuma;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 00, nameof(OrarendResource.Datum), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.Datum), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime SzamonkeresDatuma { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 01, nameof(OrarendResource.HetNapja), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
public string HetNapjaNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
public int? HetNapjaId { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 02, nameof(OrarendResource.Oraszam), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.Oraszam), ResourceType = typeof(OrarendResource))]
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 05, nameof(OrarendResource.Tanar), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public string TanarNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 03, nameof(OrarendResource.Tantargy), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public string TargyNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 04, nameof(OrarendResource.OsztalyCsoport), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public string OsztalyNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 06, nameof(OrarendResource.SzamonkeresMod), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresMod), ResourceType = typeof(OrarendResource))]
|
||||
public string ErtekelesModNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 07, nameof(OrarendResource.SzamonkeresMegnevezes), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresMegnevezes), ResourceType = typeof(OrarendResource))]
|
||||
public string SzamonkeresMegnevezes { get; set; }
|
||||
|
||||
[SimpleExportColumn(BejelentettSzamonkeresekExportAttributeId, 08, nameof(OrarendResource.BejelentesDatuma), typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.BejelentesDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime BejelentesDatuma { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class BejelentettSzamonkeresekSearchModel
|
||||
{
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresDatum), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? DatumTol { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresDatum), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? DatumIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public int? OsztalyCsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HetNapja), ResourceType = typeof(OrarendResource))]
|
||||
public int? HetNapjaSrc { get; set; }
|
||||
|
||||
[KretaRange(0, 99)]
|
||||
[Display(Name = nameof(OrarendResource.Oraszam), ResourceType = typeof(OrarendResource))]
|
||||
public int? OraszamSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.RegiSzamonkeresekElrejtese), ResourceType = typeof(OrarendResource))]
|
||||
public bool RegiSzamonkeresekElrejtese { get; set; } = true;
|
||||
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresMod), ResourceType = typeof(OrarendResource))]
|
||||
public int? SzamonkeresModSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.SzamonkeresMegnevezes), ResourceType = typeof(OrarendResource))]
|
||||
public string SzamonkeresMegnevezesSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.BejelentesDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? BejelentesDatumaTol { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.BejelentesDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? BejelentesDatumaIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public int? TantargySrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tanar), ResourceType = typeof(OrarendResource))]
|
||||
public int? TanarSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanuloNeve), ResourceType = typeof(OrarendResource))]
|
||||
public int? TanuloId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
|
||||
public bool KapcsolodoCsoportok { get; set; }
|
||||
|
||||
public SzamonkeresElorejelzesSearchCO ConvertToCo()
|
||||
{
|
||||
var co = new SzamonkeresElorejelzesSearchCO();
|
||||
|
||||
co.DatumTol = DatumTol;
|
||||
co.DatumIg = DatumIg;
|
||||
co.HetNapjaSrc = HetNapjaSrc;
|
||||
co.OraszamSrc = OraszamSrc;
|
||||
co.SzamonkeresModSrc = SzamonkeresModSrc;
|
||||
co.SzamonkeresMegnevezesSrc = SzamonkeresMegnevezesSrc;
|
||||
co.BejelentesDatumaTol = BejelentesDatumaTol;
|
||||
co.BejelentesDatumaIg = BejelentesDatumaIg;
|
||||
co.TantargySrc = TantargySrc;
|
||||
co.TanarSrc = TanarSrc;
|
||||
co.TanuloId = TanuloId;
|
||||
co.RegiSzamonkeresekElrejtese = RegiSzamonkeresekElrejtese;
|
||||
co.OsztalyCsoportId = OsztalyCsoportId;
|
||||
co.KapcsolodoCsoportok = KapcsolodoCsoportok;
|
||||
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
89
KretaWeb/Areas/Orarend/Models/CalendarModel.cs
Normal file
89
KretaWeb/Areas/Orarend/Models/CalendarModel.cs
Normal file
|
@ -0,0 +1,89 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class CalendarModel
|
||||
{
|
||||
DateTime starttime;
|
||||
DateTime endtime;
|
||||
|
||||
public int EventId { get; set; }
|
||||
public EventTypeEnum EventType { get; set; }
|
||||
public bool IsDateAlreadyChangedToUtc { get; set; }
|
||||
public DateTime Start
|
||||
{
|
||||
get
|
||||
{
|
||||
return starttime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (IsDateAlreadyChangedToUtc)
|
||||
{
|
||||
starttime = value.ToLocalTime();
|
||||
}
|
||||
else
|
||||
{
|
||||
starttime = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public DateTime End
|
||||
{
|
||||
get
|
||||
{
|
||||
return endtime;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (IsDateAlreadyChangedToUtc)
|
||||
{
|
||||
endtime = value.ToLocalTime();
|
||||
}
|
||||
else
|
||||
{
|
||||
endtime = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool AllDay { get; set; }
|
||||
public string EventColor { get; set; }
|
||||
public CalendarOraTypeEnum OraType { get; set; }
|
||||
public int? HelyettesitesId { get; set; }
|
||||
public int? HelyettesitoId { get; set; }
|
||||
public int? Hanyadikora { get; set; }
|
||||
public bool UseFoglakozas { get; set; }
|
||||
public bool isHelyettesites { get; set; }
|
||||
public bool IsOraOsszevonas { get; set; }
|
||||
public string Tema { get; set; }
|
||||
bool IsFromSzervezet { get; set; }
|
||||
|
||||
public void ConvertTo(NaplozasElokeszitesCo co)
|
||||
{
|
||||
//Mindenhol UTC date-et küldünk ezért kell local date-é alakítani minden esetben
|
||||
co.Start = Start.ToLocalTime();
|
||||
co.End = End.ToLocalTime();
|
||||
|
||||
if (OraType == CalendarOraTypeEnum.TanitasiOra || OraType == CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)
|
||||
{
|
||||
co.TanitasiOraId = EventId;
|
||||
}
|
||||
if (OraType == CalendarOraTypeEnum.OrarendiOra || OraType == CalendarOraTypeEnum.TanoranKivuliFoglalkozas)
|
||||
{
|
||||
co.OrarendiOraId = EventId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum EventTypeEnum
|
||||
{
|
||||
UjOraFelvitele = 0,
|
||||
LetezoOraSzerkesztese = 1,
|
||||
EgeszNaposEsemeny = 2,
|
||||
UjEgyediOraFelvitel = 4,
|
||||
TanarHelyetesites = 5
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class CheckFoglalkozasRogzithetoResult
|
||||
{
|
||||
public bool IsOrarendiNap { get; set; }
|
||||
|
||||
public bool IsNaplozaras { get; set; }
|
||||
|
||||
public bool IsTanitasiNap { get; set; }
|
||||
|
||||
public bool IsNapirendMegnyithato { get; set; }
|
||||
|
||||
public bool IsCsakErtekelesZarasa { get; set; }
|
||||
}
|
||||
}
|
12
KretaWeb/Areas/Orarend/Models/CopyOrarendiElemModel.cs
Normal file
12
KretaWeb/Areas/Orarend/Models/CopyOrarendiElemModel.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class CopyOrarendiElemModel
|
||||
{
|
||||
public int copyId { get; set; }
|
||||
public DateTime dateFrom { get; set; }
|
||||
public DateTime dateTo { get; set; }
|
||||
public int oraszam { get; set; }
|
||||
}
|
||||
}
|
33
KretaWeb/Areas/Orarend/Models/CsoportOrarendTorleseModel.cs
Normal file
33
KretaWeb/Areas/Orarend/Models/CsoportOrarendTorleseModel.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class CsoportOrarendTorleseModel : BaseOrarendTorleseModel
|
||||
{
|
||||
public IEnumerable<OrarendTorleseOsztalyCsoportListItem> CsoportList { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendekTorleseResource.LegalabbEgyCsoportKivalasztasaKotelezo), ErrorMessageResourceType = typeof(OrarendekTorleseResource))]
|
||||
public string SelectedCsoportok { get; set; }
|
||||
|
||||
public OrarendekTorleseCo ConvertToCo()
|
||||
{
|
||||
return new OrarendekTorleseCo
|
||||
{
|
||||
IntervallumKezdete = KezdeteDatum.Value,
|
||||
IntervallumVege = VegeDatum.Value,
|
||||
NezetTipus = (OrarendekTorleseNezetTipusEnum)Enum.Parse(typeof(OrarendekTorleseNezetTipusEnum), OraTipus),
|
||||
Csoportok = JsonConvert.DeserializeObject<List<OrarendTorleseOsztalyCsoportListItem>>(SelectedCsoportok).Select(x => new OrarendekTorleseListItemCo
|
||||
{
|
||||
Id = x.Id
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
37
KretaWeb/Areas/Orarend/Models/CsoportVezetoOrarendModel.cs
Normal file
37
KretaWeb/Areas/Orarend/Models/CsoportVezetoOrarendModel.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class CsoportVezetoOrarendModel
|
||||
{
|
||||
public CsoportVezetoOrarendModel()
|
||||
{
|
||||
TabList = new List<TabStripItemModel>();
|
||||
}
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Csoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? CsoportId { get; set; }
|
||||
|
||||
public string HetirendJson { get; set; }
|
||||
public string NaptariHetekHetirendJson { get; set; }
|
||||
|
||||
public bool ShowKerdoivPopup { get; set; }
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
[KretaDisplayName(1681)] /*Helyettesített*/
|
||||
public int? Tanar { get; set; }
|
||||
|
||||
public bool isHelyettesites { get; set; }
|
||||
|
||||
public TimeSpan CalendarMinTime { get; set; }
|
||||
public TimeSpan CalendarMaxTime { get; set; }
|
||||
|
||||
public TimeSpan CsengetesiRendMinTime { get; set; }
|
||||
public TimeSpan CsengetesiRendMaxTime { get; set; }
|
||||
}
|
||||
}
|
60
KretaWeb/Areas/Orarend/Models/DigitalisOktatasAdatok.cs
Normal file
60
KretaWeb/Areas/Orarend/Models/DigitalisOktatasAdatok.cs
Normal file
|
@ -0,0 +1,60 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class DigitalisOktatasAdatok
|
||||
{
|
||||
public DigitalisOktatasAdatok(int? szervezetTipusId)
|
||||
{
|
||||
DigTamEszkozTipusList = new List<SelectListItem>();
|
||||
SzervezetTipusId_DigitalisOktatasAdatok = szervezetTipusId;
|
||||
}
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DigPlatformTipus), ResourceType = typeof(OrarendResource))]
|
||||
public int? DigPlatformTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DigEszkozTipus), ResourceType = typeof(OrarendResource))]
|
||||
public int? DigEszkozTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.DigTamEszkozTipus), ResourceType = typeof(OrarendResource))]
|
||||
public string[] DigTamEszkozTipus { get; set; }
|
||||
|
||||
public List<SelectListItem> DigTamEszkozTipusList { get; set; }
|
||||
|
||||
public int? SzervezetTipusId_DigitalisOktatasAdatok { get; set; }
|
||||
|
||||
public void Fill(NaplozasElokeszitesModel model)
|
||||
{
|
||||
DigPlatformTipusId = model.OraAdat.DigPlatformTipusId ?? (int)DigPlatformTipusEnum.na;
|
||||
DigEszkozTipusId = model.OraAdat.DigEszkozTipusId ?? (int)DigEszkozTipusEnum.na;
|
||||
DigTamEszkozTipus = model.OraAdat.DigTamEszkozTipusIdList != null && model.OraAdat.DigTamEszkozTipusIdList.Count > 0 ? model.OraAdat.DigTamEszkozTipusIdList.Select(x => x.ToString()).ToArray() : new string[] { ((int)DigTamEszkozTipusEnum.na).ToString() };
|
||||
DigTamEszkozTipusList = GetDigTamEszkozTipusList();
|
||||
}
|
||||
|
||||
public List<SelectListItem> GetDigTamEszkozTipusList()
|
||||
{
|
||||
List<SelectListItem> dropdownListItems = new List<SelectListItem>();
|
||||
|
||||
foreach (var item in FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.DigTamEszkozTipus, ClaimData.SelectedTanevID.Value))
|
||||
{
|
||||
dropdownListItems.Add(new SelectListItem
|
||||
{
|
||||
Value = item.Key,
|
||||
Text = item.Value
|
||||
});
|
||||
}
|
||||
|
||||
return dropdownListItems;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
78
KretaWeb/Areas/Orarend/Models/ErtekelesNaplozasaGrid.cs
Normal file
78
KretaWeb/Areas/Orarend/Models/ErtekelesNaplozasaGrid.cs
Normal file
|
@ -0,0 +1,78 @@
|
|||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class ErtekelesNaplozasaGrid : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public string Oka { get; set; }
|
||||
public bool ErtkelesMentesseg_BOOL { get; set; }
|
||||
public bool OraMentesseg_BOOL { get; set; }
|
||||
public bool SzovegesenErtekelheto_BOOL { get; set; }
|
||||
public bool BeirtOsztalyzat_BOOL { get; set; }
|
||||
public string BeirtOsztalyzatTitle { get; set; }
|
||||
|
||||
[KretaDisplayName(455)] /*Tanuló neve*/
|
||||
public string Nev { get; set; }
|
||||
|
||||
[KretaDisplayName(1817)] /*Átlag*/
|
||||
public double Atlag { get; set; }
|
||||
|
||||
[KretaDisplayName(275)] /*Osztályzat*/
|
||||
public string Osztalyzat { get; set; }
|
||||
|
||||
[KretaDisplayName(2619)] /*Magatartás*/
|
||||
public int? Magatartas { get; set; }
|
||||
|
||||
[KretaDisplayName(2620)] /*Szorgalom*/
|
||||
public int? Szorgalom { get; set; }
|
||||
|
||||
[KretaRange(0, 100, StringResourcesId = 4178)] //Az érték nem esik a megengedett tartományba
|
||||
[KretaDisplayName(2581)] /*Százalék*/
|
||||
public int Szazalek { get; set; }
|
||||
|
||||
[KretaDisplayName(276)] /*Szöveges értékelés*/
|
||||
public string Szoveg { get; set; }
|
||||
|
||||
[KretaDisplayName(1804)] //09
|
||||
public string Szeptember { get; set; }
|
||||
|
||||
[KretaDisplayName(1805)] //10
|
||||
public string Oktober { get; set; }
|
||||
|
||||
[KretaDisplayName(1806)] //11
|
||||
public string November { get; set; }
|
||||
|
||||
[KretaDisplayName(1807)] //12
|
||||
public string December { get; set; }
|
||||
|
||||
[KretaDisplayName(4350)] //01/I
|
||||
public string JanuarI { get; set; }
|
||||
|
||||
[KretaDisplayName(1815)] //I
|
||||
public string FeleviJegy { get; set; }
|
||||
|
||||
[KretaDisplayName(4352)] //01/II
|
||||
public string JanuarII { get; set; }
|
||||
|
||||
[KretaDisplayName(1810)] //02
|
||||
public string Februar { get; set; }
|
||||
|
||||
[KretaDisplayName(1811)] //03
|
||||
public string Marcius { get; set; }
|
||||
|
||||
[KretaDisplayName(1812)] //04
|
||||
public string Aprilis { get; set; }
|
||||
|
||||
[KretaDisplayName(1813)] //05
|
||||
public string Majus { get; set; }
|
||||
|
||||
[KretaDisplayName(1814)] //06
|
||||
public string Junius { get; set; }
|
||||
|
||||
[KretaDisplayName(1816)] //II
|
||||
public string EvvegiJegy { get; set; }
|
||||
}
|
||||
}
|
99
KretaWeb/Areas/Orarend/Models/FeladatokListajaGridModel.cs
Normal file
99
KretaWeb/Areas/Orarend/Models/FeladatokListajaGridModel.cs
Normal file
|
@ -0,0 +1,99 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FeladatokListajaGridModel : IKretaIdentity
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public const string HazifeladatExportAttributeId = nameof(HazifeladatExportAttributeId);
|
||||
|
||||
#endregion
|
||||
|
||||
public FeladatokListajaGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public FeladatokListajaGridModel(HaziFeladatItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
OraDatuma = itemCo.OraDatuma;
|
||||
HaziFeladatRogzitesDatuma = itemCo.RogzitesDatuma;
|
||||
HaziFeladatHataridoDatuma = itemCo.HataridoDatuma;
|
||||
Tanar = itemCo.TanarNev;
|
||||
Tantargy = itemCo.TantargyNev;
|
||||
OraTema = itemCo.OraTema;
|
||||
TanarHazifeladat = itemCo.Szoveg;
|
||||
OraSorszama = itemCo.OraSorszama.ToString();
|
||||
HazifeladatId = itemCo.HazifeladatId;
|
||||
IsOnlineOraText = itemCo.IsOnlineOraText;
|
||||
FeladatTipusId = itemCo.FeladatTipusId;
|
||||
IsTanitasiOra = itemCo.IsTanitasiOra;
|
||||
IsToroltOra = itemCo.IsToroltOra;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 00, nameof(OrarendResource.OraDatuma), typeof(OrarendResource))]
|
||||
public DateTime? OraDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.FeladatRogztesenekDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 06, nameof(OrarendResource.FeladatRogztesenekDatuma), typeof(OrarendResource))]
|
||||
public DateTime HaziFeladatRogzitesDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarAltalRogzitettFeladatokHataridejenekDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 07, nameof(OrarendResource.TanarAltalRogzitettFeladatokHataridejenekDatuma), typeof(OrarendResource))]
|
||||
public DateTime? HaziFeladatHataridoDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarNeve), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 02, nameof(OrarendResource.TanarNeve), typeof(OrarendResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 03, nameof(OrarendResource.Tantargy), typeof(OrarendResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraTemaja), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 04, nameof(OrarendResource.OraTemaja), typeof(OrarendResource))]
|
||||
public string OraTema { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarAltalRogzitettFeladat), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 05, nameof(OrarendResource.TanarAltalRogzitettFeladat), typeof(OrarendResource))]
|
||||
public string TanarHazifeladat { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HozzaszolasokSzama), ResourceType = typeof(OrarendResource))]
|
||||
public int DiakHaziSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanulokSzamaKesz), ResourceType = typeof(OrarendResource))]
|
||||
public string TanulokSzamaKesz { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraNaponBeluliSorszama), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 01, nameof(OrarendResource.OraNaponBeluliSorszama), typeof(OrarendResource))]
|
||||
public string OraSorszama { get; set; }
|
||||
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
public int HazifeladatId { get; set; }
|
||||
|
||||
public int FeladatTipusId { get; set; }
|
||||
|
||||
public string FeladatTipusName => ((FeladatTipusEnum)FeladatTipusId).GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 08, nameof(OrarendResource.OnlineOra), typeof(OrarendResource))]
|
||||
public string IsOnlineOraText { get; set; }
|
||||
|
||||
public bool IsTanitasiOra { get; set; }
|
||||
|
||||
public bool IsToroltOra { get; set; }
|
||||
}
|
||||
}
|
103
KretaWeb/Areas/Orarend/Models/FeladatokListajaSrcModel.cs
Normal file
103
KretaWeb/Areas/Orarend/Models/FeladatokListajaSrcModel.cs
Normal file
|
@ -0,0 +1,103 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FeladatokListajaSrcModel
|
||||
{
|
||||
|
||||
[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(OrarendResource.TanarNeve), ResourceType = typeof(OrarendResource))]
|
||||
public int? TanarIdSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public int? TantargyIdSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraTemaja), ResourceType = typeof(OrarendResource))]
|
||||
public string OraTemaSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public int? OsztalyCsoportIdSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
|
||||
public bool KellKapcsolodoCsoportokSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? OraDatumaTolSrc { get; set; }
|
||||
public DateTime? OraDatumaIgSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarAltalRogzitettFeladat), ResourceType = typeof(OrarendResource))]
|
||||
public string HazifeladatTemaSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.FeladatRogzitesenekDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? RogzitesTolSrc { get; set; }
|
||||
public DateTime? RogzitesIgSrc { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarAltalRgozitettFeladatokHataridejenekDatuma), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? HataridoTolSrc { get; set; }
|
||||
public DateTime? HataridoIgSrc { get; set; }
|
||||
|
||||
public string OsztalyCsoportComboUrl { get; set; }
|
||||
|
||||
public bool IsJustTanar { get; set; }
|
||||
|
||||
public bool IsKapcsolodoOsztalyCsoportokVisible { get; set; }
|
||||
|
||||
public HazifeladatokListajaTipusEnum HazifeladatokListajaTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
|
||||
public int? IsOnlineOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.FeladatTipusa), ResourceType = typeof(OrarendResource))]
|
||||
public int? FeladatTipusId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KellToroltOrasFeladat), ResourceType = typeof(OrarendResource))]
|
||||
public bool KellToroltOrasFeladat { get; set; }
|
||||
|
||||
public HazifeladatokListajaCO ToCo(IEnumerable<int> osztalyCsoportIds)
|
||||
{
|
||||
var co = new HazifeladatokListajaCO
|
||||
{
|
||||
FeladatKategoriaId = FeladatKategoriaId,
|
||||
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
|
||||
TanarIdSrc = TanarIdSrc,
|
||||
TantargyIdSrc = TantargyIdSrc,
|
||||
OraTemaSrc = OraTemaSrc,
|
||||
KellKapcsolodoCsoportokSrc = KellKapcsolodoCsoportokSrc,
|
||||
OraDatumaTolSrc = OraDatumaTolSrc,
|
||||
OraDatumaIgSrc = OraDatumaIgSrc,
|
||||
HazifeladatTemaSrc = HazifeladatTemaSrc,
|
||||
RogzitesTolSrc = RogzitesTolSrc,
|
||||
RogzitesIgSrc = RogzitesIgSrc,
|
||||
HataridoTolSrc = HataridoTolSrc,
|
||||
HataridoIgSrc = HataridoIgSrc,
|
||||
OsztalyCsoportIds = new List<int>(),
|
||||
IsOnlineOra = IsOnlineOra,
|
||||
FeladatTipusId = FeladatTipusId,
|
||||
KellToroltOrasHazifeladat = KellToroltOrasFeladat,
|
||||
};
|
||||
|
||||
if (osztalyCsoportIds != null && osztalyCsoportIds.Any())
|
||||
{
|
||||
co.OsztalyCsoportIds.AddRange(osztalyCsoportIds);
|
||||
}
|
||||
|
||||
if (OsztalyCsoportIdSrc.HasValue)
|
||||
{
|
||||
co.OsztalyCsoportIds.Add(OsztalyCsoportIdSrc.Value);
|
||||
}
|
||||
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
15
KretaWeb/Areas/Orarend/Models/FelhelyOrarendTorleseModel.cs
Normal file
15
KretaWeb/Areas/Orarend/Models/FelhelyOrarendTorleseModel.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FelhelyOrarendTorleseModel : BaseOrarendTorleseModel
|
||||
{
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendekTorleseResource.LegalabbEgyFeladatellatasiHelyKivalasztasaKotelezo), ErrorMessageResourceType = typeof(OrarendekTorleseResource))]
|
||||
public string KivalasztottFelhelyekIds { get; set; } = null;
|
||||
|
||||
public List<SelectListItem> FelhelyList { get; set; } = new List<SelectListItem>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FelhelyOrarendTorleseParameterModel : BaseOrarendTorleseModel
|
||||
{
|
||||
public string KivalasztottFelhelyekIds { get; set; }
|
||||
|
||||
public OrarendekTorleseCo ConvertToCo()
|
||||
{
|
||||
return new OrarendekTorleseCo
|
||||
{
|
||||
IntervallumKezdete = KezdeteDatum.Value,
|
||||
IntervallumVege = VegeDatum.Value,
|
||||
NezetTipus = (OrarendekTorleseNezetTipusEnum)Enum.Parse(typeof(OrarendekTorleseNezetTipusEnum), OraTipus),
|
||||
FeladatellatasiHelyek = KivalasztottFelhelyekIds.Split(",".ToCharArray()).Select(x => new OrarendekTorleseListItemCo
|
||||
{
|
||||
Id = int.Parse(x)
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
83
KretaWeb/Areas/Orarend/Models/FogadooraModel.cs
Normal file
83
KretaWeb/Areas/Orarend/Models/FogadooraModel.cs
Normal file
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Foolproof;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FogadooraModel
|
||||
{
|
||||
public FogadooraModel()
|
||||
{
|
||||
SelectedOsztalyCsoportIdList = new List<int>();
|
||||
ModifiedOsztalyCsoportList = new Dictionary<int, bool>();
|
||||
FogadooraDatumList = new List<DateTime>();
|
||||
}
|
||||
|
||||
public int? Id { get; set; }
|
||||
|
||||
public List<int> SelectedOsztalyCsoportIdList { get; set; }
|
||||
public Dictionary<int, bool> ModifiedOsztalyCsoportList { get; set; }
|
||||
public List<DateTime> FogadooraDatumList { get; set; }
|
||||
|
||||
public DateTime FogadoOraDatuma { get; set; } //Fogadó óra napját ebből szedjük ki (hidden field lesz)
|
||||
public int? NemKotottMunkaidoId { get; set; }
|
||||
|
||||
[Display(Name = nameof(FogadooraResource.FogadooraKezdete), ResourceType = typeof(FogadooraResource))]
|
||||
[Required(ErrorMessageResourceName = nameof(FogadooraResource.FogadooraKezdeteMegadasaKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
public DateTime FogadoOraKezdete { get; set; } //Óra-percet ebből szedjük ki
|
||||
[Display(Name = nameof(FogadooraResource.FogadooraVege), ResourceType = typeof(FogadooraResource))]
|
||||
[Required(ErrorMessageResourceName = nameof(FogadooraResource.FogadooraVegeMegadasaKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
public DateTime FogadoOraVege { get; set; } //Óra-percet ebből szedjük ki
|
||||
[Required(ErrorMessageResourceName = nameof(FogadooraResource.NincsBeallitvaTeremAFogadoorahoz), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
[Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))]
|
||||
public int? TeremId { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))]
|
||||
public string TeremNev { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
|
||||
public int Rendszeresseg { get; set; } //Enum
|
||||
[Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))]
|
||||
public string RendszeressegText { get; set; } //Enum
|
||||
[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; }
|
||||
[Display(Name = nameof(FogadooraResource.EgysegnyiIdopontokPerc), ResourceType = typeof(FogadooraResource))]
|
||||
public int EgysegnyiIdopontok { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.FogadooraIdosavokraOsztasa), ResourceType = typeof(FogadooraResource))]
|
||||
public bool? IsIdosavraOsztas { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.ElsoAlkalomDatuma), ResourceType = typeof(FogadooraResource))]
|
||||
public DateTime? RendszeresFogadooraElsoDatuma { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.UtolsoAlkalomDatuma), ResourceType = typeof(FogadooraResource))]
|
||||
public DateTime? RendszeresFogadooraUtolsoDatuma { get; set; }
|
||||
public bool IsEgyAlkalomModosul { get; set; }
|
||||
[Display(Name = nameof(FogadooraResource.JelenjenMegFaliujsagon), ResourceType = typeof(FogadooraResource))]
|
||||
public bool IsFaliujsagonMegjelenjen { get; set; }
|
||||
|
||||
[RequiredIf(nameof(IsFaliujsagonMegjelenjen), true, ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegKezdeteKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
[DateRange(ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegKezdeteNemErvenyes), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
[Display(Name = nameof(FogadooraResource.FaliujsagErvenyessegKezdete), ResourceType = typeof(FogadooraResource))]
|
||||
public DateTime? FaliujsagErvenyessegKezdete { get; set; }
|
||||
|
||||
[RequiredIf(nameof(IsFaliujsagonMegjelenjen), true, ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegVegeKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
[DateRange(ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegVegeNemErvenyes), ErrorMessageResourceType = typeof(FogadooraResource))]
|
||||
[Display(Name = nameof(FogadooraResource.FaliujsagErvenyessegVege), ResourceType = typeof(FogadooraResource))]
|
||||
public DateTime? FaliujsagErvenyessegVege { get; set; }
|
||||
|
||||
public int ModositasiIdoszakTipus { get; set; }
|
||||
public string JSHelperNev { get; set; }
|
||||
public bool IsCalendar { get; set; }
|
||||
public bool IsRendszeressegModosithato { get; set; }
|
||||
public bool VanGvJelentkezes { get; set; }
|
||||
|
||||
[Display(Name = nameof(FogadooraResource.KerjukValasszaKiAFogadooraIdopontjait), ResourceType = typeof(FogadooraResource))]
|
||||
public DateTime? FogadooraEgyebGyakorisagDefaultDate { get; set; }
|
||||
public DateTime TanevUtolsoNapja { get; set; }
|
||||
|
||||
[Display(Name = nameof(FogadooraResource.JelentkezesHatarideje), ResourceType = typeof(FogadooraResource))]
|
||||
public int? JelentkezesHatarideje { get; set; } = 0;
|
||||
public bool IsNemKellNemKotott { get; set; }
|
||||
}
|
||||
}
|
104
KretaWeb/Areas/Orarend/Models/FoglalkozasModel.cs
Normal file
104
KretaWeb/Areas/Orarend/Models/FoglalkozasModel.cs
Normal file
|
@ -0,0 +1,104 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class FoglalkozasModel
|
||||
{
|
||||
public int? ID { get; set; }
|
||||
public bool UseFoglalkozas { get; set; }
|
||||
public DateTime? KezdeteDatum { get; set; }
|
||||
public DateTime? VegeDatum { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Napirend), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? TanoranKivuliFoglalkozas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? OsztalyCsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(ExcelNyomtatvanyResource.Tanarok), ResourceType = typeof(ExcelNyomtatvanyResource))]
|
||||
public string Tanarok { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HelyettesitoTanar), ResourceType = typeof(OrarendResource))]
|
||||
public int? HelyettesitettTanarID { get; set; }
|
||||
|
||||
[Display(Name = nameof(ImportExportOrarendResource.ImportHeaderNameFoglalkozasKezdete), ResourceType = typeof(ImportExportOrarendResource))]
|
||||
public string KezdeteLabel { get; set; }
|
||||
|
||||
[Display(Name = nameof(ImportExportOrarendResource.ImportHeaderNameFoglalkozasVege), ResourceType = typeof(ImportExportOrarendResource))]
|
||||
public string VegeLabel { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 4186)]/*Foglalkozás kezdetének megadása kötelező*/
|
||||
[Display(Name = nameof(ImportExportOrarendResource.ImportHeaderNameFoglalkozasKezdete), ResourceType = typeof(ImportExportOrarendResource))]
|
||||
public DateTime? Kezdete { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 4187)]/*Foglalkozás kezdetének megadása kötelező*/
|
||||
[Display(Name = nameof(ImportExportOrarendResource.ImportHeaderNameFoglalkozasVege), ResourceType = typeof(ImportExportOrarendResource))]
|
||||
public DateTime? Vege { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Helyiseg), ResourceType = typeof(OrarendResource))]
|
||||
public int? TeremID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Sorszamozando), ResourceType = typeof(OrarendResource))]
|
||||
public bool Sorszamozando { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ParhuzamosOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool ParhuzamosOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tulora), ResourceType = typeof(OrarendResource))]
|
||||
public bool Tulora { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TamopOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool TAMOPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KIPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KIPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.VEKOP73317), ResourceType = typeof(OrarendResource))]
|
||||
public bool VEKOP73317 { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KAPOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool KAPOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.NemSzakrendszeruOra), ResourceType = typeof(OrarendResource))]
|
||||
public bool NemSzakrendszeruOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.IktTanora), ResourceType = typeof(OrarendResource))]
|
||||
public bool IKTTanora { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyResource.NemzetisegiOra), ResourceType = typeof(TantargyResource))]
|
||||
public bool NemzetisegiOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyResource.MegbizasiSzerzodesselEllatottOra), ResourceType = typeof(TantargyResource))]
|
||||
public bool IsFelnottoktatasiSzerzodes { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.MindennaposTestneveles), ResourceType = typeof(OrarendResource))]
|
||||
public bool MindennaposTestneveles { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.IprTanora), ResourceType = typeof(OrarendResource))]
|
||||
public bool IPRTanora { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Differencialt), ResourceType = typeof(OrarendResource))]
|
||||
public bool Differencialt { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Kooperativ), ResourceType = typeof(OrarendResource))]
|
||||
public bool Kooperativ { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Meres), ResourceType = typeof(OrarendResource))]
|
||||
public bool Meres { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Drama), ResourceType = typeof(OrarendResource))]
|
||||
public bool Drama { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tiop12), ResourceType = typeof(OrarendResource))]
|
||||
public bool Tiop { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Bontott), ResourceType = typeof(OrarendResource))]
|
||||
public bool Bontott { get; set; }
|
||||
}
|
||||
}
|
66
KretaWeb/Areas/Orarend/Models/HaziFeladatNaplozas.cs
Normal file
66
KretaWeb/Areas/Orarend/Models/HaziFeladatNaplozas.cs
Normal file
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Elokeszites;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class HaziFeladatNaplozas
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
|
||||
public string HaziFeladat { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Hatarido), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? Hatarido { get; set; }
|
||||
|
||||
public bool IsTanarVehetFelHazitNaplozasNelkul { get; set; }
|
||||
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? TanitasiOraId { get; set; }
|
||||
public int? HelyettesitoId { get; set; }
|
||||
public DateTime? NapDatuma { get; set; }
|
||||
public bool IsHaziFeladatHelper { get; set; }
|
||||
public bool IsElmaradt { get; set; }
|
||||
|
||||
public int UsedFilesSizeInKiloBytes { get; set; } = 0;
|
||||
|
||||
public int MaxAllowedFilesSizeInKiloBytes { get; set; }
|
||||
|
||||
public double UsedFilesSizeInKiloBytesTotal { get; set; } = 0D;
|
||||
|
||||
public int MaxAllowedFilesSizeInKiloBytesTotal { get; set; } = 2097152;
|
||||
|
||||
public IEnumerable<string> AllowedFileExtensions { get; set; } = new List<string>
|
||||
{
|
||||
".txt",
|
||||
".pdf",
|
||||
".doc",
|
||||
".docx",
|
||||
".xls",
|
||||
".xlsx",
|
||||
".ppt",
|
||||
".pptx",
|
||||
".bmp",
|
||||
".jpg",
|
||||
".jpeg",
|
||||
".png",
|
||||
".rar",
|
||||
".zip"
|
||||
};
|
||||
|
||||
public int? CsatolmanyId { get; set; }
|
||||
|
||||
public void Fill(NaplozasElokeszitesModel model)
|
||||
{
|
||||
Id = model.Hazifeladat.Id;
|
||||
HaziFeladat = model.Hazifeladat.Szoveg;
|
||||
Hatarido = model.Hazifeladat.Hatarido;
|
||||
OrarendiOraId = model.OraAdat.OrarendiOraId;
|
||||
IsHaziFeladatHelper = false;
|
||||
IsElmaradt = model.OraAdat.IsElmaradt;
|
||||
CsatolmanyId = model.Hazifeladat.CsatolmanyId;
|
||||
}
|
||||
}
|
||||
}
|
25
KretaWeb/Areas/Orarend/Models/HaziFeladatNaplozasRogzites.cs
Normal file
25
KretaWeb/Areas/Orarend/Models/HaziFeladatNaplozasRogzites.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class HaziFeladatNaplozasRogzites
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
|
||||
private string haziFeladat;
|
||||
|
||||
public string HaziFeladat
|
||||
{
|
||||
get { return haziFeladat; }
|
||||
set { haziFeladat = RichTextLogic.RemoveSpecificHtmlTags(value, RichTextLogic.RemovableHtmlTags); }
|
||||
}
|
||||
|
||||
[DateRange(ErrorMessageResourceName = nameof(ErrorResource.HataridoDatumaNemErvenyes), ErrorMessageResourceType = typeof(ErrorResource))]
|
||||
public DateTime? Hatarido { get; set; }
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? CsatolmanyId { get; set; }
|
||||
}
|
||||
}
|
78
KretaWeb/Areas/Orarend/Models/HazifeladatBevitelModel.cs
Normal file
78
KretaWeb/Areas/Orarend/Models/HazifeladatBevitelModel.cs
Normal file
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class HazifeladatBevitelModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public int? TanitasiOraId { get; set; }
|
||||
public int? OrarendiOraId { get; set; }
|
||||
public int? Oraszam { get; set; }
|
||||
public bool IsTTF { get; set; }
|
||||
|
||||
public int UsedFilesSizeInKiloBytes { get; set; } = 0;
|
||||
|
||||
public int MaxAllowedFilesSizeInKiloBytes { get; set; } = 15360;
|
||||
|
||||
public double UsedFilesSizeInKiloBytesTotal { get; set; } = 0D;
|
||||
|
||||
public int MaxAllowedFilesSizeInKiloBytesTotal { get; set; } = 2097152;
|
||||
|
||||
public IEnumerable<string> AllowedFileExtensions { get; set; } = new List<string>
|
||||
{
|
||||
".txt",
|
||||
".pdf",
|
||||
".doc",
|
||||
".docx",
|
||||
".xls",
|
||||
".xlsx",
|
||||
".ppt",
|
||||
".pptx",
|
||||
".bmp",
|
||||
".jpg",
|
||||
".jpeg",
|
||||
".png",
|
||||
".rar",
|
||||
".zip"
|
||||
};
|
||||
|
||||
public int? CsatolmanyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargyfelosztas), ResourceType = typeof(OrarendResource))]
|
||||
public int? TTFId { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendResource.HazifeladatSzovegKotelezo), ErrorMessageResourceType = typeof(OrarendResource))]
|
||||
public string Szoveg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OsztalyCsoport), ResourceType = typeof(OrarendResource))]
|
||||
public string OsztalycsoportNev { get; set; }
|
||||
|
||||
public int? OsztalycsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public string TantarrgyNev { get; set; }
|
||||
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
public DateTime ErvenyessegKezdete { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(OrarendResource.HazifeladatHataridoKotelezo), ErrorMessageResourceType = typeof(OrarendResource))]
|
||||
[Display(Name = nameof(OrarendResource.HazifeladatHatarido), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime? ErvenyessegVege { get; set; }
|
||||
|
||||
public int? FeladatTipusId { get; set; }
|
||||
|
||||
public bool ValidateModel()
|
||||
{
|
||||
if (Id.HasValue || TTFId.HasValue || (TantargyId.HasValue && OsztalycsoportId.HasValue))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
24
KretaWeb/Areas/Orarend/Models/HazifeladatTanuloGridModel.cs
Normal file
24
KretaWeb/Areas/Orarend/Models/HazifeladatTanuloGridModel.cs
Normal file
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class HazifeladatTanuloGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
|
||||
public string Nev { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.TanuloOktatasiAzonosito), ResourceType = typeof(TanuloResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ElvegzettHaziFeladat), ResourceType = typeof(OrarendResource))]
|
||||
public string ElvegzettHaziFeladat_BNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.ElvegzettHaziFeladatDatum), ResourceType = typeof(OrarendResource))]
|
||||
public DateTime ElvegzettHaziFeladatDatum { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Orarend.Models
|
||||
{
|
||||
public class HazifeladatokListajaGridModel : IKretaIdentity
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public const string HazifeladatExportAttributeId = nameof(HazifeladatExportAttributeId);
|
||||
|
||||
#endregion
|
||||
|
||||
public HazifeladatokListajaGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public HazifeladatokListajaGridModel(HaziFeladatItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
OraDatuma = itemCo.OraDatuma;
|
||||
HaziFeladatRogzitesDatuma = itemCo.RogzitesDatuma;
|
||||
HaziFeladatHataridoDatuma = itemCo.HataridoDatuma;
|
||||
Tanar = itemCo.TanarNev;
|
||||
Tantargy = itemCo.TantargyNev;
|
||||
OraTema = itemCo.OraTema;
|
||||
TanarHazifeladat = itemCo.Szoveg;
|
||||
OraSorszama = itemCo.OraSorszama.ToString();
|
||||
HazifeladatId = itemCo.HazifeladatId;
|
||||
IsOnlineOraText = itemCo.IsOnlineOraText;
|
||||
FeladatTipusId = itemCo.FeladatTipusId;
|
||||
IsTanitasiOra = itemCo.IsTanitasiOra;
|
||||
IsToroltOra = itemCo.IsToroltOra;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 00, nameof(OrarendResource.OraDatuma), typeof(OrarendResource))]
|
||||
public DateTime? OraDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HFRogzitesenekDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 06, nameof(OrarendResource.HFRogzitesenekDatuma), typeof(OrarendResource))]
|
||||
public DateTime HaziFeladatRogzitesDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HFTanarHazifeladatDatuma), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 07, nameof(OrarendResource.HFTanarHazifeladatDatuma), typeof(OrarendResource))]
|
||||
public DateTime? HaziFeladatHataridoDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarNeve), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 02, nameof(OrarendResource.TanarNeve), typeof(OrarendResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 03, nameof(OrarendResource.Tantargy), typeof(OrarendResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraTemaja), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 04, nameof(OrarendResource.OraTemaja), typeof(OrarendResource))]
|
||||
public string OraTema { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanarHazifeladat), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 05, nameof(OrarendResource.TanarHazifeladat), typeof(OrarendResource))]
|
||||
public string TanarHazifeladat { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.HozzaszolasokSzama), ResourceType = typeof(OrarendResource))]
|
||||
public int DiakHaziSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.TanulokSzamaKesz), ResourceType = typeof(OrarendResource))]
|
||||
public string TanulokSzamaKesz { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OraNaponBeluliSorszama), ResourceType = typeof(OrarendResource))]
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 01, nameof(OrarendResource.OraNaponBeluliSorszama), typeof(OrarendResource))]
|
||||
public string OraSorszama { get; set; }
|
||||
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
public int HazifeladatId { get; set; }
|
||||
|
||||
[SimpleExportColumn(HazifeladatExportAttributeId, 08, nameof(OrarendResource.OnlineOra), typeof(OrarendResource))]
|
||||
public string IsOnlineOraText { get; set; }
|
||||
|
||||
public int FeladatTipusId { get; set; }
|
||||
|
||||
public string FeladatTipusName => ((FeladatTipusEnum)FeladatTipusId).GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
|
||||
public bool IsTanitasiOra { get; set; }
|
||||
|
||||
public bool IsToroltOra { get; set; }
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue