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

View file

@ -0,0 +1,187 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
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.Logic;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.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.TanuloErtekeles.ApiControllers
{
public class BaseFeljegyzesekApiController : ApiController
{
[NonAction]
public HttpResponseMessage GetExport(string data, DataSourceRequest request, string exportSheetName, string exportFileName, string exportAttributeId, bool isFaliujsag = false, SzervezetTipusEnum? szervezetTipus = null)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request, isFaliujsag, szervezetTipus);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FeljegyzesKeresoGridModel>(exportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(exportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), exportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
public (GridParameters gridParameter, List<FeljegyzesKeresoGridModel> modelList) GetGridData(string data, DataSourceRequest request, bool isFaliujsag = false, SzervezetTipusEnum? szervezetTipus = null)
{
var model = JsonConvert.DeserializeObject<FeljegyzesKeresoModel>(data);
if (szervezetTipus.HasValue)
{
model.SzervezetTipusId = (int)szervezetTipus;
}
var gridParameter = Converter.GridParameter(request);
var modelList = new List<FeljegyzesKeresoGridModel>();
if (isFaliujsag)
{
var coList = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFaliujsagFeljegyzesCoList(model.ToCo());
foreach (var co in coList)
{
var gridModel = new FeljegyzesKeresoGridModel(co);
modelList.Add(gridModel);
}
}
else
{
var coList = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesekCoList(model.ToCo());
foreach (var co in coList)
{
var gridModel = new FeljegyzesKeresoGridModel(co);
modelList.Add(gridModel);
}
}
return (gridParameter, modelList);
}
public class DeleteElektronikusUzenetModel
{
public int FeljegyzesId { get; set; }
public int TanuloId { get; set; }
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFeljegyzes([FromBody] int id)
{
try
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteFeljegyzes(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, FeljegyzesekResource.Feljegyzes, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElektronikusUzenet(DeleteElektronikusUzenetModel model)
{
try
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteElektronikusUzenetForTanulo(model.FeljegyzesId, model.TanuloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, FeljegyzesekResource.ElektronikusUzenet, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteOsztalyCsoport(List<FeljegyzesDeleteOsztalyCsoportModel> feljegyzesDeleteOsztalyCsoportList)
{
try
{
var feljegyzesHelper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var feljegyzesDeleteOsztalyCsoportCoList = new List<FeljegyzesDeleteOsztalyCsoportCO>();
foreach (var deleteItem in feljegyzesDeleteOsztalyCsoportList)
{
feljegyzesDeleteOsztalyCsoportCoList.Add(new FeljegyzesDeleteOsztalyCsoportCO
{
FeljegyzesId = deleteItem.FeljegyzesId,
OsztalyCsoportId = deleteItem.OsztalyCsoportId
});
}
feljegyzesHelper.DeleteOsztalyCsoport(feljegyzesDeleteOsztalyCsoportCoList);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(FeljegyzesekResource.NemTorolhetoKapcsolodasMiatt, FeljegyzesekResource.Feljegyzes, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
public static FeljegyzesModel ConvertFeljegyzesCoToModel(FeljegyzesekCO co)
{
var model = new FeljegyzesModel
{
Datum = co.Datum,
TanuloId = co.TanuloId,
TanuloNev = co.TanuloNev,
OsztalyId = co.OsztalyId,
OsztalyNev = co.OsztalyNev,
FeljegyzoId = co.TanarId,
FeljegyzoNev = co.TanarNev,
Tipus = co.Tipus,
Megjegyzes = co.Megjegyzes,
Tartalom = co.Tartalom,
Cim = co.Cim,
FeljegyzesRogzitesenekDatuma = co.FeljegyzesRogzitesenekDatuma,
};
return model;
}
public JsonResult<List<ComboBoxListItem>> GetFeljegyzesTipusList()
{
var items = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EsemenyTipus, ClaimData.SelectedTanevID.Value);
var result = items.ToComboBoxItemList(new List<string>
{
((int)EsemenyTipusEnum.ElektronikusUzenet).ToString(),
((int)EsemenyTipusEnum.FaliujsagBejegyzes).ToString()
});
return Json(result);
}
}
}

View file

@ -0,0 +1,135 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlTypes;
using System.Linq;
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.Logic.TanuloErtekeles;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
public abstract class BaseTanuloErtekelesApiController : ApiController
{
protected DataSet GetDetailGridDataBase(int tanuloId, int? tantargyId, bool showToroltElemek, DateTime? datum, int ertekelesMegjelenesFajtaEnumId, int? feladatKategoriaId = null, int? oktatasiNevelesiFeladatId = null, bool isTanuloView = false, GridParameters gridParameters = null, bool isFromSzervezet = false)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = gridParameters
};
DataSet dataSet = helper.GetTanuloErtekelesDataSetForDetailGrid(
tanuloId,
tantargyId,
showToroltElemek,
isTanuloView,
ClaimData.FelhasznaloId,
ertekelesMegjelenesFajtaEnumId,
datum,
feladatKategoriaId,
oktatasiNevelesiFeladatId,
isFromSzervezet
);
return dataSet;
}
protected HttpResponseMessage SaveTanuloErtekelesList(HttpRequestMessage request, List<TanuloErtekelesCo> tanuloErtekelesCoList, int? szervezetTipusId = null)
{
var validator = new TanuloErtekelesValidacioWeb(ConnectionTypeExtensions.GetSessionConnectionType());
validator.Validate(tanuloErtekelesCoList);
ModelState.AddRange(new Dictionary<string, List<string>> { { "Error", validator.ErrorMessageList } });
if (ModelState.IsValid)
{
try
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.SaveTanuloErtekelesList(ClaimData.FelhasznaloId, tanuloErtekelesCoList, szervezetTipusId);
}
catch (KretaError ke)
{
SDAServer.Instance.Logger.ExceptionThrown(ke);
ModelState.AddModelError("Error", ke.Message);
}
if (ModelState.IsValid)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
public HttpResponseMessage DeleteTanuloErtekeles(int id, bool isValid, int? szervezetTipusId = null)
{
if (!isValid)
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
try
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var naplozarasLogic = new NaplozarasLogic(ConnectionTypeExtensions.GetSessionConnectionType());
var ertekelesCo = helper.GetTanuloErtekelesCoById(id);
if (ertekelesCo.OsztalyCsoportId.HasValue && naplozarasLogic.GetLezartOsztalyokEsBontottCsoportjaik().Contains(ertekelesCo.OsztalyCsoportId.Value))
{
throw new StatusError(HttpStatusCode.BadRequest, TanuloErtekelesResource.AKivalasztottOsztalyNaplojaLezartNemTorolhetErtekelestAzOsztalyTanuloinaknak);
}
helper.DeleteTanuloErtekelesById(id, szervezetTipusId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException)
{
throw new StatusError(HttpStatusCode.BadRequest, string.Format(StringResourcesUtil.GetString(5490), StringResourcesUtil.GetString(168)) /*A(z) Értékelés nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
}
catch (Exception e)
{
throw new StatusError(HttpStatusCode.InternalServerError, StringResourcesUtil.GetString(4358) /*Hiba történt törlés közben!*/)
{
UnHandledException = e
};
}
}
protected bool IsTanitasiNap(DateTime date, int? osztalycsoportId)
{
DateTime sqlMinDate = SqlDateTime.MinValue.Value.Date;
DateTime sqlMaxDate = SqlDateTime.MaxValue.Value.Date;
if (date < sqlMinDate || date > sqlMaxDate)
{
throw new OverflowException(string.Format(ErrorResource.ADatumNemLehetKisebbMintVagyNagyobbMint, sqlMinDate.ToShortDateString(), sqlMaxDate.ToShortDateString()));
}
var helper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var osztalyTanevrendjei = helper.GetOsztalycsoportTanevrendje(date, osztalycsoportId ?? 0);
if (osztalyTanevrendjei.Any(x => x.Naptipus == (int)NapTipusEnum.vizsganap))
{
return true;
}
bool result = helper.IsTanitasiNap(date, osztalycsoportId);
return result;
}
}
}

View file

@ -0,0 +1,141 @@
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.Results;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
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.TanuloErtekeles.ApiControllers
{
public class BaseTanuloErtekelesKeresoApiController : ApiController
{
[NonAction]
public HttpResponseMessage GetExport(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
{
try
{
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus);
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloErtekelesListGridModel>(TanuloErtekelesListGridModel.TanuloErtekelesExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(TanuloErtekelesResource.TanulokJegyeiExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), TanuloErtekelesResource.TanulokJegyeiExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
public (GridParameters gridParameter, List<TanuloErtekelesListGridModel> modelList) GetGridData(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
{
var model = JsonConvert.DeserializeObject<TanuloErtekelesListModel>(data);
if (szervezetTipus.HasValue)
{
model.SzervezetTipusIdSearch = (int)szervezetTipus;
}
var gridParameter = Converter.GridParameter(request);
var dataSet = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloErtekelesListGridDataSet(model.ToCo(), utolagosOsztalyszures: true);
var kapcsolodoOsztalyCsoportList = new List<int>();
if (model.OsztalyCsoportIdSearch.HasValue && model.KellKapcsolodoCsoportokSearch)
{
kapcsolodoOsztalyCsoportList = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).ListOsztalyCsoportokKapcsolodoOsztalyCsoportjai(new List<int> { model.OsztalyCsoportIdSearch.Value }).ToList();
}
else if (model.OsztalyCsoportIdSearch.HasValue)
{
kapcsolodoOsztalyCsoportList.Add(model.OsztalyCsoportIdSearch.Value);
}
var modelList = new List<TanuloErtekelesListGridModel>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var gridModel = new TanuloErtekelesListGridModel
{
ID = SDAConvert.ToString(dataRow["ID"]),
TanuloNev = SDAConvert.ToString(dataRow["TanuloNev"]),
TanuloNevElotagNelkul = SDAConvert.ToString(dataRow["TanuloNevElotagNelkul"]),
Datum = SDAConvert.ToDateTime(dataRow["Datum"]).Value,
RogzitesDatum = SDAConvert.ToDateTime(dataRow["RogzitesDatum"]).Value,
ErtekeloNyomtatasiNev = SDAConvert.ToString(dataRow["ErtekeloNyomtatasiNev"]) ?? string.Empty,
ErtekeloNyomtatasiNevElotagNelkul = SDAConvert.ToString(dataRow["ErtekeloNyomtatasiNevElotagNelkul"]) ?? string.Empty,
OsztalyCsoportNev = SDAConvert.ToString(dataRow["OsztalyCsoportNev"]) ?? string.Empty,
TantargyNev = SDAConvert.ToString(dataRow["TantargyNev"]) ?? string.Empty,
TipusId_DNAME = SDAConvert.ToString(dataRow["TipusId_DNAME"]) ?? string.Empty,
ErtekelesModId_DNAME = SDAConvert.ToString(dataRow["ErtekelesModId_DNAME"]) ?? string.Empty,
ErtekelesTema = SDAConvert.ToString(dataRow["ErtekelesTema"]) ?? string.Empty,
TanuloErtekelesText = SDAConvert.ToString(dataRow["TanuloErtekelesText"]) ?? string.Empty
};
if (!model.OsztalyCsoportIdSearch.IsEntityId() || (model.OsztalyCsoportIdSearch.IsEntityId() && kapcsolodoOsztalyCsoportList.Contains(SDAConvert.ToInt32(dataRow["OsztalyCsoportId"]))))
{
modelList.Add(gridModel);
}
}
return (gridParameter, modelList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteErtekeles([FromBody] int id)
{
try
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.DeleteTanuloErtekelesById(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (EntityDeleteFailedException ex)
{
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloErtekelesResource.Ertekeles, ex.ConnectionErrorMessage);
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
}
}
public JsonResult<List<ComboBoxListItem>> GetOsztalyzatList()
{
var items = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus, ClaimData.SelectedTanevID.Value);
return Json(items.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value).ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetErtekelesTipusList()
{
var items = ((int)GeneratedAdatszotarTipusEnum.ErtekelesTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true);
return Json(items.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetSpecialisOsztalyzatList()
{
var items = EnumExtensions.EnumToDictionary<SpecialisErtekelesOsztalyzatEnum>(ClaimData.SelectedTanevID.Value, removeValueList: new List<string> { ((int)SpecialisErtekelesOsztalyzatEnum.None).ToString() });
return Json(items.ToComboBoxItemList());
}
}
}

View file

@ -0,0 +1,55 @@
using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
public class DolgozatokApiController : ApiController
{
public DataSourceResult GetDolgozatokAtlagaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<DolgozatokAtlagaSearchModel>(data);
model.TanarId = ClaimData.FelhasznaloId;
model.SzuperOsztalyfonok = Convert.ToInt32(AuthorizeHelper.CheckPackageAccess(new[] { KretaClaimPackages.SzuperOsztalyfonok.ClaimValue }));
model.Datum = DateTime.Now;
var searchCo = model.ConvertToCo();
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
Regex starterRegex = new Regex($"^{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatotArany)} ");
Regex innerRegex = new Regex($",{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatotArany)} ");
helper.GridParameters.OrderBy = starterRegex.Replace(helper.GridParameters.OrderBy, $"{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatot)} ");
helper.GridParameters.OrderBy = innerRegex.Replace(helper.GridParameters.OrderBy, $",{nameof(DolgozatokAtlagaGridModel.IrtakDolgozatot)} ");
DataSet dataSet = helper.GetTanuloErtekelesDataSetForGrid(searchCo);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetDolgozatReszletekGrid(int osztalyCsoportId, int tantargyId, string ertekelesTemaja, string datum, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var gridParameters = Converter.GridParameter(request);
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = gridParameters;
var dataSet = helper.GetDolgozatReszletekDataSetForGrid(osztalyCsoportId, tantargyId, ertekelesTemaja, DateTime.Parse(datum));
return dataSet.ToDataSourceResult();
}
}
}

View file

@ -0,0 +1,128 @@
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.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public class DualisErtekelesApiController : BaseTanuloErtekelesApiController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DataSourceResult GetErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
int? tantargyId = model.TantargyIdSearch;
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
{
return new DataSourceResult();
}
var gridParameters = Converter.GridParameter(request);
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
return result;
}
public DataSourceResult GetNaplozasErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
int? tantargyId = model.TantargyIdSearch;
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
{
return new DataSourceResult();
}
var gridParameters = Converter.GridParameter(request);
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
return result;
}
private DataSourceResult GetErtekelesGridData(int osztalyCsoportId, int tantargyId, DateTime? datum, GridParameters gridParameters)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = gridParameters
};
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTantargyForGrid(ClaimData.FelhasznaloId, osztalyCsoportId, tantargyId, datum, true);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetFotargyAltargyErtekelesGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet dataSet = helper.GetTanuloErtekelesDataSetByFotargyAltargyForGrid(ClaimData.FelhasznaloId, tanuloId, tantargyId, datum, feladatKategoriaId);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetErtekelesDetailGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var gridParameters = Converter.GridParameter(request);
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, true, datum, (int)ErtekelesMegjelenesFajtaEnum.Tantargy, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters, isFromSzervezet: IsDualisKepzesEnabled);
return dataSet.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Save(ErtekelesListSaveModel model)
{
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList, (int)SzervezetTipusEnum.Dualis);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Edit(ErtekelesEditModel model)
{
int id = model.IdEdit;
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidErtekeles(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList, (int)SzervezetTipusEnum.Dualis);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Delete([FromBody] int id)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
bool isValid = authorization.IsValidErtekeles(id);
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid, (int)SzervezetTipusEnum.Dualis);
return result;
}
}
}

View file

@ -0,0 +1,53 @@
using System.Net.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class DualisFeljegyzesekApiController : BaseFeljegyzesekApiController
{
public DataSourceResult GetFeljegyzesKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus: SzervezetTipusEnum.Dualis);
return modelList.ToDataSourceResult(gridParameter);
}
public DataSourceResult GetElektronikusUzenetKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus: SzervezetTipusEnum.Dualis);
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExportFeljegyzesekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekGridExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
}
public HttpResponseMessage GetExportElektronikusUzenetekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekGridExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
}
public HttpResponseMessage GetExportFeljegyzesek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
}
public HttpResponseMessage GetExportElektronikusUzenetek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekExportAttributeId, szervezetTipus: SzervezetTipusEnum.Dualis);
}
}
}

View file

@ -0,0 +1,27 @@
using System.Net.Http;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class DualisTanuloErtekelesKeresoApiController : BaseTanuloErtekelesKeresoApiController
{
public DataSourceResult GetTanuloErtekelesListGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request, SzervezetTipusEnum.Dualis);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return base.GetExport(data, request, SzervezetTipusEnum.Dualis);
}
}
}

View file

@ -0,0 +1,135 @@
using System.Collections.Generic;
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.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class ErettsegiEredmenyekApiController : ApiController
{
public DataSourceResult GetErettsegiEredmenyekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErettsegiEredmenyekModel>(data);
if (model == null || !model.OsztalyId.HasValue)
{
return new DataSourceResult();
}
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var ds = helper.GetErettsegiEredmenyekGrid(model.OsztalyId.Value);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
public DataSourceResult GetErettsegiEredmenyekDetailGrid(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidOsztalyfonokTanuloja(tanuloId))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var ds = helper.GetErettsegiEredmenyekDetailGrid(tanuloId);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveErettsegiEredmenyList(List<ErettsegiEredmenySaveModel> erettsegiEredmenySaveModelList)
{
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var erettsegiTantargyAdatok = helper.GetErettsegiTantargyakForValidate();
List<ErettsegiEredmenyItemCo> erettsegiEredmenyCoList = new List<ErettsegiEredmenyItemCo>();
foreach (var erettsegiEredmenySaveModel in erettsegiEredmenySaveModelList)
{
var modelStateDictionary = new ModelStateDictionary();
foreach (var erettsegiEredmenySaveDetailModel in erettsegiEredmenySaveModel.ErettsegiEredmenySaveDetailModelList)
{
modelStateDictionary = erettsegiEredmenySaveDetailModel.Validate(modelStateDictionary, erettsegiEredmenySaveModel.FormName, erettsegiTantargyAdatok);
erettsegiEredmenyCoList.Add(erettsegiEredmenySaveDetailModel.ConvertModelToCo(ClaimData.IntezmenyId, ClaimData.SelectedTanevID.Value));
}
ModelState.Merge(modelStateDictionary);
}
if (ModelState.IsValid)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
foreach (ErettsegiEredmenyItemCo erettsegiEredmenyCo in erettsegiEredmenyCoList)
{
if (!authorization.IsValidOsztalyfonokTanuloja(erettsegiEredmenyCo.TanuloId))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
}
helper.SaveErettsegiEredmenyList(erettsegiEredmenyCoList);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteErettsegiEredmeny([FromBody] int id)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidErettsegiEredmeny(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
try
{
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteErettsegiEredmeny(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,89 @@
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.TanuloErtekeles.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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class ErettsegiEredmenyekKeresoApiController : ApiController
{
public DataSourceResult GetErettsegiEredmenyekKeresoGrid(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<ErettsegiEredmenyekKeresoGridModel>(ErettsegiEredmenyekKeresoGridModel.ErettsegiEredmenyekExportAttributeId);
var memoryStream = SimpleExportLogic.GetExport(ErettsegiEredmenyekResource.ExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), ErettsegiEredmenyekResource.ExportFileName);
}
catch (Exception ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
}
}
private (GridParameters gridParameter, List<ErettsegiEredmenyekKeresoGridModel> modelList) GetGridData(string data, DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErettsegiEredmenyekKeresoSearchModel>(data);
var gridParameter = Converter.GridParameter(request);
var coList = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetErettsegiEredmenyCoList(ErettsegiEredmenyekKeresoSearchModel.ConvertModelToCo(model));
var modelList = new List<ErettsegiEredmenyekKeresoGridModel>();
foreach (var co in coList)
{
var gridModel = new ErettsegiEredmenyekKeresoGridModel(co);
modelList.Add(gridModel);
}
return (gridParameter, modelList);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public bool DeleteErettsegiEredmeny(int erettsegiEredmenyId)
{
try
{
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteErettsegiEredmeny(erettsegiEredmenyId);
return true;
}
catch
{
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAMuveletSoran);
}
}
}
}

View file

@ -0,0 +1,126 @@
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.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public class ErtekelesApiController : BaseTanuloErtekelesApiController
{
public DataSourceResult GetErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
int? tantargyId = model.TantargyIdSearch;
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
{
return new DataSourceResult();
}
var gridParameters = Converter.GridParameter(request);
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
return result;
}
public DataSourceResult GetNaplozasErtekelesGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<ErtekelesListModel>(data);
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
int? tantargyId = model.TantargyIdSearch;
if (!osztalyCsoportId.IsEntityId() || !tantargyId.IsEntityId())
{
return new DataSourceResult();
}
var gridParameters = Converter.GridParameter(request);
DataSourceResult result = GetErtekelesGridData(osztalyCsoportId.Value, tantargyId.Value, model.Datum, gridParameters);
return result;
}
private DataSourceResult GetErtekelesGridData(int osztalyCsoportId, int tantargyId, DateTime? datum, GridParameters gridParameters)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = gridParameters
};
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTantargyForGrid(ClaimData.FelhasznaloId, osztalyCsoportId, tantargyId, datum, false);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetFotargyAltargyErtekelesGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet dataSet = helper.GetTanuloErtekelesDataSetByFotargyAltargyForGrid(ClaimData.FelhasznaloId, tanuloId, tantargyId, datum, feladatKategoriaId);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetErtekelesDetailGrid(int tanuloId, int tantargyId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var gridParameters = Converter.GridParameter(request);
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, true, datum, (int)ErtekelesMegjelenesFajtaEnum.Tantargy, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters);
return dataSet.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Save(ErtekelesListSaveModel model)
{
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Edit(ErtekelesEditModel model)
{
int id = model.IdEdit;
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidErtekeles(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Delete([FromBody] int id)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
bool isValid = authorization.IsValidErtekeles(id);
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid);
return result;
}
}
}

View file

@ -0,0 +1,86 @@
using System.Data;
using System.Net.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class FeljegyzesekApiController : BaseFeljegyzesekApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public DataSourceResult GetInformaciokFeljegyzesekGrid(DataSourceRequest request)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var result = helper.GetTanuloFelhasznaloFeljegyzesei(ClaimData.FelhasznaloId);
if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0)
{
foreach (var row in result.Tables[0].AsEnumerable())
{
row[nameof(InformaciokFeljegyzesekGridModel.Tartalom)] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(row.Field<string>(nameof(InformaciokFeljegyzesekGridModel.Tartalom)));
}
}
return result.ToDataSourceResult();
}
public DataSourceResult GetFeljegyzesKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public DataSourceResult GetElektronikusUzenetKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
return modelList.ToDataSourceResult(gridParameter);
}
public DataSourceResult GetFaliujsagKeresoGrid(string data, DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request, true);
modelList.ForEach(x => x.Tartalom = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(x.Tartalom));
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExportFeljegyzesekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekGridExportAttributeId);
}
public HttpResponseMessage GetExportElektronikusUzenetekGrid(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekGridExportAttributeId);
}
public HttpResponseMessage GetExportFeljegyzesek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.FeljegyzesekExportSheetName, FeljegyzesekResource.FeljegyzesekExportFileName, FeljegyzesKeresoGridModel.FeljegyzesekExportAttributeId);
}
public HttpResponseMessage GetExportElektronikusUzenetek(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ElektronikusUzenetekExportSheetName, FeljegyzesekResource.ElektronikusUzenetExportFileName, FeljegyzesKeresoGridModel.ElektronikusUzenetekExportAttributeId);
}
public HttpResponseMessage GetExportFaliujsagKereso(string data, DataSourceRequest request)
{
return GetExport(data, request, FeljegyzesekResource.ExportSheetName, FeljegyzesekResource.ExportFileName, FeljegyzesKeresoGridModel.FaliujsagBejegyzesekExportAttrributeId, true);
}
}
}

View file

@ -0,0 +1,93 @@
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.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
public class MagatartasSzorgalomApiController : BaseTanuloErtekelesApiController
{
public DataSourceResult GetMagatartasSzorgalomGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<MagatartasSzorgalomListModel>(data);
int? osztalyCsoportId = model.OsztalyCsoportIdSearch;
if (!osztalyCsoportId.IsEntityId())
{
return new DataSourceResult();
}
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
DataSet dataSet = helper.GetTanuloErtekelesDataSetByMagatartasSzorgalomForGrid(ClaimData.FelhasznaloId, osztalyCsoportId.Value, model.Datum);
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetMagatartasSzorgalomDetailGrid(int tanuloId, DateTime? datum, int feladatKategoriaId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var gridParameters = Converter.GridParameter(request);
DataSet dataSet = GetDetailGridDataBase(tanuloId, null, true, datum, (int)ErtekelesMegjelenesFajtaEnum.MagatartasSzorgalom, feladatKategoriaId: feladatKategoriaId, gridParameters: gridParameters);
return dataSet.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Save(MagatartasSzorgalomListSaveModel model)
{
List<TanuloErtekelesCo> tanuloErtekelesCoList = model.ToCoList();
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Edit(MagatartasSzorgalomEditModel model)
{
int id = model.IdEdit;
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidMagatartasSzorgalom(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var tanuloErtekelesCoList = new List<TanuloErtekelesCo> { model.ToCo() };
HttpResponseMessage result = SaveTanuloErtekelesList(Request, tanuloErtekelesCoList);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage Delete([FromBody] int id)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
bool isValid = authorization.IsValidMagatartasSzorgalom(id);
HttpResponseMessage result = DeleteTanuloErtekeles(id, isValid);
return result;
}
}
}

View file

@ -0,0 +1,102 @@
using System;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.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.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class NaploEllenorzesApiController : ApiController
{
public DataSourceResult GetNaploEllenorzesGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
NaploEllenorzesKeresoModel model = JsonConvert.DeserializeObject<NaploEllenorzesKeresoModel>(data);
if (!model.OsztalyId.HasValue)
{
return new DataSourceResult();
}
Enum.TryParse(new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(model.OsztalyId.Value).ToString(), out OktNevelesiKategoriaEnum osztalycsoportKategoria);
model.FeladatKategoriaId = (int)osztalycsoportKategoria;
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetNaploEllenorzesekHeadRow(model.FeladatKategoriaId, model.OsztalyId, model.FeladatEllatasiHelyId);
ds.Tables[0].Columns.Add("Osszegzes");
foreach (DataRow row in ds.Tables[0].Rows)
{
row["Osszegzes"] = string.Format(StringResourcesUtil.GetString(2745),
"<b>" + row["hetSorszam"] + "</b>", "<b>" + row["NemNaplozottOrakSzama"] + "</b>");
}
return ds.ToDataSourceResult();
}
public DataSourceResult GetNaploEllenorzesDetailsGrid(int? feladatKategoriaId, int? feladatEllatasiHelyId, int osztalyId, int hetsorszamaId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidOsztaly(osztalyId))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetNaploEllenorzesekDetails(feladatKategoriaId, hetsorszamaId, osztalyId, feladatEllatasiHelyId);
ds.Tables[0].Columns.Add("OraKezdeteString");
ds.Tables[0].Columns.Add("OraVegeString");
foreach (DataRow row in ds.Tables[0].Rows)
{
if (!row.Field<int?>("CsengetesiRend").HasValue)
{
row["OraKezdeteString"] = row.Field<DateTime>("OraKezdete").ToString("HH:mm");
row["OraVegeString"] = row.Field<DateTime>("OraVege").ToString("HH:mm");
}
}
return ds.ToDataSourceResult();
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage NaploellenorzesMentes(NaploEllenorzesModel model)
{
model.EllenorzesDatuma = model.EllenorzesDatuma.ToLocalTime();
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
if (!authorization.IsValidOsztaly(model.OsztalyId.Value))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
}
var helper = new NaploEllenorzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.SaveNaploEllenorzes(model.ConvertModelToCo());
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
}

View file

@ -0,0 +1,129 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Models;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class OsztalyzatokApiController : ApiController
{
public DataSourceResult GetOsztalyzatokFeleviErtesitoGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var result = GetOsztalyzatokErtesitoGrid(data, request, (int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
return result;
}
public DataSourceResult GetOsztalyzatokEvvegiErtesitoGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
var result = GetOsztalyzatokErtesitoGrid(data, request, (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
return result;
}
private DataSourceResult GetOsztalyzatokErtesitoGrid(string data, DataSourceRequest request, int ertekelesTipusEnumId)
{
var model = JsonConvert.DeserializeObject<OsztalyzatokFeleviEvvegiErtesitoModel>(data);
var osztalyId = model.OsztalyId;
if (!osztalyId.IsEntityId())
{
return new DataSourceResult();
}
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
var feladatKategoriaId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportFeladatKategoria(osztalyId.Value);
var tanuloErtekelesListModel = new TanuloErtekelesListModel
{
TanuloIdSearch = ClaimData.FelhasznaloId,
TipusIdSearch = ertekelesTipusEnumId,
OsztalyCsoportIdSearch = osztalyId.Value,
FeladatKategoriaIdSearch = feladatKategoriaId,
KellKapcsolodoCsoportokSearch = true
};
var dataSet = helper.GetTanuloErtekelesListGridDataSet(tanuloErtekelesListModel.ToCo(), pErtekelesTextTemaval: true);
var dataTable = dataSet.Tables[0];
if (feladatKategoriaId != (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas)
{
var datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
var tanuloOsztalyId = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanuloOsztalyIdByFeladatKategoria(ClaimData.FelhasznaloId, datum, (OktNevelesiKategoriaEnum)feladatKategoriaId);
if (!tanuloOsztalyId.IsEntityId())
{
dataTable.Rows.Clear();
}
else
{
var tanuloOsztalyEvfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(tanuloOsztalyId.Value);
var tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList = new List<(int tanuloId, int feladatKategoriaId, int? evfolyamTipusId)>
{
(ClaimData.FelhasznaloId, feladatKategoriaId, tanuloOsztalyEvfolyamTipusId)
};
helper.RemoveMasEvfolyamTanuloErtekelesek(dataTable, tanuloIdAndFeladatKategoriaIdAndEvfolyamTipusIdList);
}
}
helper.RemoveTanuloJogosultsagMiattiErtekelesek(new List<int>() { ClaimData.FelhasznaloId }, dataTable);
var gridDataSet = dataSet.Tables[0].Rows.Count > 0 ? GetSortedDataSet(dataSet.Tables[0]) : dataSet;
return gridDataSet.ToDataSourceResult();
}
private DataSet GetSortedDataSet(DataTable dataTable)
{
var targyKategoriaTipusDictionaryItemList = ((int)GeneratedAdatszotarTipusEnum.TargyKategoriaTipus).GetItemsByType(ClaimData.SelectedTanevID.Value);
dataTable.Columns.Add("TantargyKategoriaOrder");
dataTable.Columns.Add("FotargyTantargyKategoriaOrder");
var tanuloErtekelesRows = dataTable.Rows.Cast<DataRow>().ToList();
foreach (var dataRow in tanuloErtekelesRows)
{
var tantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["TantargyKategoriaId"]);
dataRow["TantargyKategoriaOrder"] = SDAConvert.ToBooleanFromTF(dataRow["IsMagatartasSzorgalom"]) ? 0 : tantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == tantargyKategoriaId.Value).Order : null;
var fotargyTantargyKategoriaId = SDAConvert.ToNullableInt32(dataRow["FotargyTantargyKategoriaId"]);
dataRow["FotargyTantargyKategoriaOrder"] = fotargyTantargyKategoriaId.IsEntityId() ? targyKategoriaTipusDictionaryItemList.Single(x => x.Id == fotargyTantargyKategoriaId.Value).Order : null;
}
var sortedDataTable = dataTable
.AsEnumerable()
.OrderBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? SDAConvert.ToNullableInt32(x["TantargyKategoriaOrder"]) ?? 10000 : SDAConvert.ToNullableInt32(x["FotargyTantargyKategoriaOrder"]) ?? 10000)
.ThenBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? SDAConvert.ToString(x["TantargyNev"]) : SDAConvert.ToString(x["FotargyNev"]))
.ThenBy(x => SDAConvert.ToBoolean(x["IsFotargy"]) ? 0 : 1)
.ThenBy(x => SDAConvert.ToString(x["TantargyNev"]))
.CopyToDataTable();
var gridDataSet = new DataSet();
gridDataSet.Tables.Add(sortedDataTable);
return gridDataSet;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public ZaradekModel GetTanuloZaradek(string osztalyId)
{
var tanuloCo = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloiAdatok(ClaimData.FelhasznaloId, kovTanevId: null, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater, int.Parse(osztalyId));
return tanuloCo.Zaradek.TanuloCsoportId.HasValue ? new ZaradekModel(tanuloCo.Zaradek.TanuloCsoportId.Value, tanuloCo.ID.Value) : new ZaradekModel();
}
}
}

View file

@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Ellenorzo.BL.VN.Ertekeles.Atlag.OsztalyAtlag;
using Kreta.Ellenorzo.Domain.VN.Common;
using Kreta.Ellenorzo.Domain.VN.Ertekeles.Atlag.OsztalyAtlag;
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
using Kreta.Ellenorzo.Enums;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
public class TanuloErtekelesByTanuloApiController : BaseTanuloErtekelesApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public DataSourceResult GetTanuloErtekelesByTanuloGrid(string data)
{
var model = JsonConvert.DeserializeObject<TanuloErtekelesByTanuloListModel>(data);
int? tanuloId = model.TanuloId;
if (!tanuloId.IsEntityId())
{
return new DataSourceResult();
}
return GetTanuloErtekelesGrid(ClaimData.FelhasznaloId, tanuloId.Value, false, model.OktatasiNevelesiFeladatId, model.IsOsztalyAtlagMegjelenik);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
public DataSourceResult GetTanuloErtekelesByTanuloGridTanuloView(string data)
{
var model = JsonConvert.DeserializeObject<TanuloErtekelesByTanuloListModel>(data);
return GetTanuloErtekelesGrid(null, ClaimData.FelhasznaloId, true, model.OktatasiNevelesiFeladatId, model.IsOsztalyAtlagMegjelenik);
}
private DataSourceResult GetTanuloErtekelesGrid(int? tanarId, int tanuloId, bool isTanuloView, int oktatasiNevelesiFeladatId, bool isOsztalyAtlagMegjelenik)
{
DateTime datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet dataSet = helper.GetTanuloErtekelesDataSetByTanuloForGrid(tanarId, tanuloId, isTanuloView, datum, oktatasiNevelesiFeladatId);
if (isOsztalyAtlagMegjelenik)
{
List<TantargyUid> tantargyUids = null;
if (dataSet.Tables[0].Rows.Count > 0)
{
tantargyUids = new List<TantargyUid>();
foreach (DataRow row in dataSet.Tables[0].Rows)
{
if (!row.Field<bool>("TantargyIsTanulmanyiAtlagbaNemSzamit"))
{
tantargyUids.Add(new TantargyUid(row.Field<int?>("TantargyId") ?? 0));
}
}
}
var osztalyAtlagok = new OsztalyAtlagFacade(new MobileUser(ClaimData.IntezmenyAzonosito, tanuloId, ClaimData.BelepesiNev, ClaimData.GondviseloId, new List<FelhasznaloSzerepkor> { ClaimData.GondviseloId.HasValue ? FelhasznaloSzerepkor.Gondviselo : FelhasznaloSzerepkor.Tanulo }, ClaimData.SelectedTanevID.Value, null, ClaimData.FelhasznaloIdpEgyediAzonosito, ClaimData.FelhasznaloIdpEgyediAzonosito, ClaimData.IntezmenyGuid.Value))
.ListAktualisTanuloOsztalyAtlag(new OsztalyAtlagListRequest
{
OktatasiNevelesiFeladatUid = new OktatasiNevelesiFeladatUid(oktatasiNevelesiFeladatId, (OktatasiNevelesiFeladatEnum?)oktatasiNevelesiFeladatId),
TantargyUids = tantargyUids,
IsAtlagNeeded = true
});
dataSet.Tables[0].Columns.Add("OsztalyAtlag", typeof(decimal));
foreach (DataRow row in dataSet.Tables[0].Rows)
{
var osztalyAtlag = osztalyAtlagok.FirstOrDefault(a => a.Tantargy.Uid.Id == row.Field<int?>("TantargyId"));
if (osztalyAtlag != null && osztalyAtlag.OsztalyCsoportAtlag.HasValue)
{
row["OsztalyAtlag"] = osztalyAtlag.OsztalyCsoportAtlag.Value;
}
}
}
return dataSet.ToDataSourceResult();
}
public DataSourceResult GetTanuloErtekelesByTanuloDetailGrid(int tantargyId, int oktatasiNevelesiFeladatId, int tanuloId)
{
return GetDetailGridData(tanuloId, tantargyId.IsEntityId() ? tantargyId : (int?)null, false, oktatasiNevelesiFeladatId);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue)]
public DataSourceResult GetTanuloErtekelesByTanuloDetailGridTanuloView(int tantargyId, int oktatasiNevelesiFeladatId)
{
return GetDetailGridData(ClaimData.FelhasznaloId, tantargyId.IsEntityId() ? tantargyId : (int?)null, true, oktatasiNevelesiFeladatId);
}
private DataSourceResult GetDetailGridData(int tanuloId, int? tantargyId, bool isTanuloView, int oktatasiNevelesiFeladatId)
{
bool showToroltElemek = !isTanuloView;
DateTime datum = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDatumInTanev();
DataSet dataSet = GetDetailGridDataBase(tanuloId, tantargyId, showToroltElemek, datum, (int)ErtekelesMegjelenesFajtaEnum.Tanulo, oktatasiNevelesiFeladatId: oktatasiNevelesiFeladatId, isTanuloView: isTanuloView);
return dataSet.ToDataSourceResult();
}
}
}

View file

@ -0,0 +1,26 @@
using System.Net.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanuloErtekelesKeresoApiController : BaseTanuloErtekelesKeresoApiController
{
public DataSourceResult GetTanuloErtekelesListGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var (gridParameter, modelList) = GetGridData(data, request);
return modelList.ToDataSourceResult(gridParameter);
}
public HttpResponseMessage GetExport(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return base.GetExport(data, request);
}
}
}

View file

@ -0,0 +1,41 @@
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.Exceptions;
using Kreta.Web.Areas.TanuloErtekeles.ApiControllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
public class BaseElektronikusUzenetKeresoController : Controller
{
#region Properties
public static string GridName => "ElektronikusUzenetKeresoGrid";
public static string SearchFormName => "ElektronikusUzenetKeresoSearchForm";
public static string InfoPopUpId => "ElektronikusUzenetKeresoInfoPopUpWindow";
#endregion Properties
public ActionResult OpenElektronikusUzenetKeresoInfoPopUp(int feljegyzesId, int tanuloId, string osztalyNev)
{
try
{
var co = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesById(feljegyzesId, tanuloId, osztalyNev: osztalyNev);
var model = BaseFeljegyzesekApiController.ConvertFeljegyzesCoToModel(co);
var popUpModel = new PopUpModel(model, "ElektronikusUzenetKereso_Info_PopUp");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "FeljegyzesKeresoHelper.elektronikusUzenetKeresoInfoPopUpCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,41 @@
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core.Exceptions;
using Kreta.Web.Areas.TanuloErtekeles.ApiControllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
public class BaseFeljegyzesKeresoController : Controller
{
#region Properties
public static string GridName => "FeljegyzesKeresoGrid";
public static string SearchFormName => "FeljegyzesKeresoSearchForm";
public static string InfoPopUpId => "FeljegyzesKeresoInfoPopUpWindow";
#endregion Properties
public ActionResult OpenFeljegyzesKeresoInfoPopUp(int feljegyzesId, int tanuloId, int? osztalyId)
{
try
{
var co = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesById(feljegyzesId, tanuloId, osztalyId);
var model = BaseFeljegyzesekApiController.ConvertFeljegyzesCoToModel(co);
var popUpModel = new PopUpModel(model, "FeljegyzesKereso_Info_PopUp");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "FeljegyzesKeresoHelper.feljegyzesKeresoInfoPopUpCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,94 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Framework.Caching;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
public abstract class BaseTanuloErtekelesController : Controller
{
#region Properties
public static string MondatbankItemSelectPopupName => "TanuloErtekelesMondatbankItemSelectPopup";
public static string MondatbankItemSelectFormName => "TanuloErtekelesMondatbankItemSelectForm";
public static string GridName => "TanuloErtekelesGrid";
public static string FormName => "TanuloErtekelesForm";
public static string DetailGridName => "TanuloErtekelesDetailGrid";
#endregion Properties
public List<SelectListItem> GetOsztalyzatList(bool osztalyzatSzammal = false)
{
List<DictionaryItem> osztalyzatList = ((int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus).GetItemsByType(ClaimData.AktivTanevID.Value);
List<SelectListItem> result = osztalyzatList.Select(x => new SelectListItem
{
Value = x.Id.ToString(),
Text = osztalyzatSzammal ? x.Value.ToString() : x.Name
}).ToList();
return result.OrderBy(x => x.Text).ToList();
}
protected static IEnumerable<ExtraDataComboBoxListItem> GetOsztalyCsoportList(int? feladatKategoriaId = null)
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return osztalyCsoportHelper.GetOsztalyCsoportForDropDownList(feladatKategoriaId);
}
protected IEnumerable<ExtraDataComboBoxListItem> GetOsztalyCsoportListByFelhasznaloId()
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return osztalyCsoportHelper.GetOsztalyCsoportByFelhasznaloIdForDropDownList();
}
protected static List<SelectListItem> GetMondatbankItemSelectList(List<DataRow> tanuloErtekelesMondatbankItemRows)
{
var tanuloErtekelesMondatbankItemSelectList = new Dictionary<string, string>();
foreach (DataRow row in tanuloErtekelesMondatbankItemRows)
{
string id = SDAConvert.ToString(row["MondatbankSelectPopupId"]);
string rovidNevText = SDAConvert.ToString(row["MondatbankSelectPopupRovidNev"]);
string rovidNevShowText = string.IsNullOrWhiteSpace(rovidNevText) ? TanuloErtekelesResource.TanuloErtekelesMondatbankNa : rovidNevText;
string szovegText = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(SDAConvert.ToString(row["MondatbankSelectPopupSzoveg"]).ReplaceMultipleSpacesAndTrim());
tanuloErtekelesMondatbankItemSelectList.Add(id, $"{rovidNevShowText} - {(szovegText.Length <= 100 ? szovegText : szovegText.Substring(0, 97) + "...")}");
}
List<SelectListItem> result = tanuloErtekelesMondatbankItemSelectList.ToSelectListItemList();
return result;
}
protected static List<TanuloErtekelesMondatbankItemModel> GetMondatbankItemList(List<DataRow> tanuloErtekelesMondatbankItemRows)
{
var tanuloErtekelesMondatbankItemList = new List<TanuloErtekelesMondatbankItemModel>();
foreach (DataRow row in tanuloErtekelesMondatbankItemRows)
{
tanuloErtekelesMondatbankItemList.Add(new TanuloErtekelesMondatbankItemModel(false)
{
ID = SDAConvert.ToInt32(row["MondatbankSelectPopupId"]),
RovidNev = SDAConvert.ToString(row["MondatbankSelectPopupRovidNev"]),
Szoveg = SDAConvert.ToString(row["MondatbankSelectPopupSzoveg"]),
SzovegNemet = SDAConvert.ToString(row["MondatbankSelectPopupSzovegNemet"]),
SzovegHorvat = SDAConvert.ToString(row["MondatbankSelectPopupSzovegHorvat"]),
SzovegRoman = SDAConvert.ToString(row["MondatbankSelectPopupSzovegRoman"]),
SzovegSzerb = SDAConvert.ToString(row["MondatbankSelectPopupSzovegSzerb"])
});
}
return tanuloErtekelesMondatbankItemList;
}
}
}

View file

@ -0,0 +1,202 @@
using System.Net;
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.KretaServer.Exceptions;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Logic;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
public class BaseTanuloErtekelesKeresoController : Controller
{
#region Properties
public static string GridName => "TanuloErtekelesKeresoGrid";
public static string SearchFormName => "TanuloErtekelesKeresoSearchForm";
public static string InfoPopUpId => "TanuloErtekelesKeresoInfoPopUpWindow";
#endregion Properties
public ActionResult OpenTanuloErtekelesKeresoInfoPopUp(int id)
{
try
{
var co = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloErtekelesCoById(id);
var model = new TanuloErtekelesKeresoInfoModel
{
ID = co.Id.ToString(),
TanuloNev = co.TanuloNyomtatasiNev,
OsztalyCsoportNev = co.OsztalyCsoportNev,
TantargyNev = co.TantargyNev,
ErtekeloNyomtatasiNev = co.ErtekeloNyomtatasiNev,
TanuloErtekelesText = GetTanuloErtekelesText(co, ClaimData.SelectedTanevID.Value),
TipusNev = co.TipusId.GetDisplayName<ErtekelesTipusEnum>(ClaimData.SelectedTanevID.Value),
ErtekelesModNev = co.ErtekelesModId.GetDisplayName<ErtekelesModEnum>(ClaimData.SelectedTanevID.Value),
Datum = co.Datum.ToShortDateString(),
RogzitesDatum = co.RogzitesDatum.ToShortDateString(),
ErtekelesTema = co.ErtekelesTema
};
var popUpModel = new PopUpModel(model, "TanuloErtekelesKereso_Info_PopUp");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "TanuloErtekelesKeresoHelper.tanuloErtekelesKeresoInfoPopUpCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public static string GetTanuloErtekelesText(TanuloErtekelesCo co, int tanevId)
{
string tanuloErtekelesText;
if (!co.IsMagatartasSzorgalom)
{
tanuloErtekelesText = GetErtekelesText(co, tanevId);
}
else
{
var magatartasText = GetMagatartasText(co, tanevId);
var szorgalomText = GetSzorgalomText(co, tanevId);
tanuloErtekelesText = string.Format(TanuloErtekelesResource.MagatartasSzorgalomText, magatartasText, szorgalomText);
}
return tanuloErtekelesText;
}
private static string GetErtekelesText(TanuloErtekelesCo co, int tanevId)
{
string ertekelesText;
if (co.ErtekelesOsztalyzatId.IsEntityId())
{
ertekelesText = co.TargykategoriaId != (int)TargyKategoriaTipusEnum.Szorgalom
? TanuloErtekelesLogicWeb.GetOsztalyzatText(co.ErtekelesOsztalyzatId, tanevId)
: TanuloErtekelesLogicWeb.GetOsztalyzatTextSzorgalom(co.ErtekelesOsztalyzatId, tanevId);
}
else if (!string.IsNullOrWhiteSpace(co.ErtekelesSzovegFormazott))
{
ertekelesText = co.ErtekelesSzovegFormazott;
}
else if (co.ErtekelesSzazalek.HasValue)
{
ertekelesText = co.ErtekelesSzazalek + "%";
}
else
{
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
SDAServer.Instance.Logger.ExceptionThrown(ex);
throw ex;
}
return ertekelesText;
}
private static string GetMagatartasText(TanuloErtekelesCo co, int tanevId)
{
var magatartasText = string.Empty;
if (co.MagatartasOsztalyzatId.IsEntityId() || co.SzorgalomOsztalyzatId.IsEntityId())
{
if (co.MagatartasOsztalyzatId.IsEntityId())
{
magatartasText = TanuloErtekelesLogicWeb.GetOsztalyzatText(co.MagatartasOsztalyzatId, tanevId);
}
}
else if (!string.IsNullOrWhiteSpace(co.MagatartasSzoveg) || !string.IsNullOrWhiteSpace(co.SzorgalomSzoveg))
{
magatartasText = !string.IsNullOrWhiteSpace(co.MagatartasSzovegFormazott) ?
co.MagatartasSzovegFormazott :
co.MagatartasSzoveg;
}
else if (co.MagatartasErtekId.IsEntityId() || co.SzorgalomErtekId.IsEntityId())
{
if (co.MagatartasErtekId.IsEntityId())
{
magatartasText = TanuloErtekelesLogicWeb.GetMagatartasErtek(co.MagatartasErtekId, tanevId);
}
}
else
{
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
SDAServer.Instance.Logger.ExceptionThrown(ex);
throw ex;
}
return magatartasText;
}
private static string GetSzorgalomText(TanuloErtekelesCo co, int tanevId)
{
var szorgalomText = string.Empty;
if (co.MagatartasOsztalyzatId.IsEntityId() || co.SzorgalomOsztalyzatId.IsEntityId())
{
if (co.SzorgalomOsztalyzatId.IsEntityId())
{
szorgalomText = TanuloErtekelesLogicWeb.GetOsztalyzatText(co.SzorgalomOsztalyzatId, tanevId);
}
}
else if (!string.IsNullOrWhiteSpace(co.MagatartasSzoveg) || !string.IsNullOrWhiteSpace(co.SzorgalomSzoveg))
{
szorgalomText = !string.IsNullOrWhiteSpace(co.SzorgalomSzovegFormazott) ?
co.SzorgalomSzovegFormazott :
co.SzorgalomSzoveg;
}
else if (co.MagatartasErtekId.IsEntityId() || co.SzorgalomErtekId.IsEntityId())
{
if (co.SzorgalomErtekId.IsEntityId())
{
szorgalomText = TanuloErtekelesLogicWeb.GetSzorgalomErtek(co.SzorgalomErtekId, tanevId);
}
}
else
{
var ex = new KretaException(ErrorResource.HibaTortentAMuveletKozben);
SDAServer.Instance.Logger.ExceptionThrown(ex);
throw ex;
}
return szorgalomText;
}
#region Export
public ActionResult ExportTanulokEvkoziJegyei([FromUri] TanuloErtekelesListModel data)
{
var result = GetExport((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, TanuloErtekelesResource.TanulokEvkoziJegyeiExportFileName, data);
return result;
}
public ActionResult ExportTanulokFeleviJegyei([FromUri] TanuloErtekelesListModel data)
{
var result = GetExport((int)ErtekelesTipusEnum.felevi_jegy_ertekeles, TanuloErtekelesResource.TanulokFeleviJegyeiExportFileName, data);
return result;
}
public ActionResult ExportTanulokEvVegiJegyei([FromUri] TanuloErtekelesListModel data)
{
var result = GetExport((int)ErtekelesTipusEnum.evvegi_jegy_ertekeles, TanuloErtekelesResource.TanulokEvVegiJegyeiExportFileName, data);
return result;
}
private static ActionResult GetExport(int tipusId, string fileDownloadName, TanuloErtekelesListModel model)
{
return TanuloErtekelesWebLogic.GetExport(tipusId, fileDownloadName, model);
}
#endregion Export
}
}

View file

@ -0,0 +1,29 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue)]
public class DolgozatokController : Controller
{
// GET: TanuloErtekeles/Dolgozatok
public ActionResult Index()
{
return View();
}
public ActionResult IndexAtlag()
{
var model = new DolgozatokAtlagaSearchModel();
return View("Index", model);
}
public ActionResult DolgozatokReszletekGrid(DolgozatokAtlagaGridModel model)
{
return PartialView("DolgozatDetailGrid", model);
}
}
}

View file

@ -0,0 +1,51 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisElektronikusUzenetKeresoController : BaseElektronikusUzenetKeresoController
{
private IKretaAuthorization Authorization { get; }
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DualisElektronikusUzenetKeresoController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult Index()
{
if (!Authorization.IsValidDualisFeljegyzesek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new FeljegyzesKeresoModel(Constants.Controllers.DualisElektronikusUzenetKereso, Constants.ApiControllers.DualisFeljegyzesekApi)
{
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
if (IsDualisKepzesEnabled)
{
model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis;
}
if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/TanuloErtekeles/Views/ElektronikusUzenetKereso/Index.cshtml", model);
}
}
}

View file

@ -0,0 +1,475 @@
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.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Enums.ManualEnums.SystemSettings;
using Kreta.Framework.Util;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisErtekelesController : BaseTanuloErtekelesController
{
#region Properties
public static string StartPopupFormName => "ErtekelesStartPopupForm";
public static string StartPopupId => "ErtekelesStartPopupWindow";
public static string EditPopupFormName => "ErtekelesEditPopupForm";
public static string EditPopupId => "ErtekelesEditPopupWindow";
public static string FotargyAltargyGridName => "FotargyAltargyGrid";
#endregion Properties
private IKretaAuthorization Authorization { get; }
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DualisErtekelesController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult IndexEvkozi()
{
if (!Authorization.IsValidDualisOktato())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
ErtekelesListModel model = GetErtekelesListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles);
model.ErtekelesModId = (int)ErtekelesModEnum.gyakorlati_feladat;
return View("~/Areas/TanuloErtekeles/Views/Ertekeles/Index.cshtml", model);
}
public ActionResult ErtekelesGridDetail(ErtekelesDetailModel model)
{
model.NamePrefix = "Ertekeles";
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool hasFotargyAltargy = helper.HasTantargyFotargyAltargy(model.TantargyId);
model.HasFotargyAltargy = hasFotargyAltargy;
return PartialView("~/Areas/TanuloErtekeles/Views/Ertekeles/GridDetail.cshtml", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult NaplozasErtekelesGridDetail(ErtekelesDetailModel model)
{
model.NamePrefix = "NaplozasErtekeles";
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool hasFotargyAltargy = helper.HasTantargyFotargyAltargy(model.TantargyId);
model.HasFotargyAltargy = hasFotargyAltargy;
return PartialView("GridDetail", model);
}
internal ErtekelesListModel NaplozasPartialViewModel()
{
return GetErtekelesListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles);
}
public ActionResult OpenStartPopup(int? tipusId)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet ertekelesFoglalkozasData = helper.GetErtekelesFoglalkozasData(IsDualisKepzesEnabled);
DataSet ertekelesFotargyiFoglalkozasData = helper.GetErtekelesFotargyiFoglalkozasData();
var foglalkozasList = GetFoglalkozasList(ertekelesFoglalkozasData);
var fotargyiFoglalkozasList = GetFoglalkozasList(ertekelesFotargyiFoglalkozasData);
var ertekelesFoglalkozasItemList = GetErtekelesFoglalkozasList(ertekelesFoglalkozasData);
var ertekelesFotargyiFoglalkozasItemList = GetErtekelesFoglalkozasList(ertekelesFotargyiFoglalkozasData);
var keresoAdatTipus = GetKeresoAdatTipus();
var model = new ErtekelesStartPopupModel
{
ErtekelesKeresoAdatTipus = keresoAdatTipus,
ErtekelesKeresoSzuro = (int)ErtekelesKeresoSzuroEnum.Ttf,
TipusId = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles,
ErtekelesKeresoSzuroList = GetErtekelesKeresoSzuroList(keresoAdatTipus, ertekelesFotargyiFoglalkozasItemList.Any()),
TipusList = GetTipusList(),
FoglalkozasList = foglalkozasList,
ErtekelesFoglalkozasItemModelList = ertekelesFoglalkozasItemList,
FotargyiFoglalkozasList = fotargyiFoglalkozasList,
ErtekelesFotargyiFoglalkozasItemModelList = ertekelesFotargyiFoglalkozasItemList,
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
TantargyList = GetTantargyList(),
IsFromSzervezet = IsDualisKepzesEnabled
};
return PartialView("~/Areas/TanuloErtekeles/Views/Ertekeles/Start_Popup.cshtml", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult OpenEditPopup(int id)
{
if (!Authorization.IsValidErtekeles(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var helper = new TanuloErtekelesHelper(connectionType);
TanuloErtekelesCo tanuloErtekelesCo = helper.GetTanuloErtekelesCoById(id);
var naplozarasDatum = new OrarendHelper(connectionType).GetNaplozarasDate(startDate: null);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ertekelesEditModel = new ErtekelesEditModel
{
IdEdit = tanuloErtekelesCo.Id.Value,
TanuloIdEdit = tanuloErtekelesCo.TanuloId,
DatumMinValueEdit = naplozarasDatum,
OsztalyCsoportIdEdit = tanuloErtekelesCo.OsztalyCsoportId,
ErtekeloNyomtatasiNevEdit = tanuloErtekelesCo.ErtekeloNyomtatasiNev,
DatumEdit = tanuloErtekelesCo.Datum,
TipusIdEdit = tanuloErtekelesCo.TipusId,
TipusList = GetTipusList(),
OsztalyzatList = GetOsztalyzatList(true),
TantargyIdEdit = tanuloErtekelesCo.TantargyId,
ErtekelesModIdEdit = tanuloErtekelesCo.ErtekelesModId,
ErtekelesTemaEdit = tanuloErtekelesCo.ErtekelesTema,
ErtekelesTemaNemetEdit = tanuloErtekelesCo.ErtekelesTemaNemet,
ErtekelesTemaHorvatEdit = tanuloErtekelesCo.ErtekelesTemaHorvat,
ErtekelesTemaRomanEdit = tanuloErtekelesCo.ErtekelesTemaRoman,
ErtekelesTemaSzerbEdit = tanuloErtekelesCo.ErtekelesTemaSzerb,
ErtekelesOsztalyzatIdEdit = tanuloErtekelesCo.ErtekelesOsztalyzatId,
ErtekelesSzovegEdit = tanuloErtekelesCo.ErtekelesSzovegFormazott,
ErtekelesSzovegNemetEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottNemet,
ErtekelesSzovegHorvatEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottHorvat,
ErtekelesSzovegRomanEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottRoman,
ErtekelesSzovegSzerbEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottSzerb,
ErtekelesSzovegRovidNevEdit = tanuloErtekelesCo.ErtekelesSzovegRovidNev,
ErtekelesSzazalekEdit = tanuloErtekelesCo.ErtekelesSzazalek,
ErtekelesModList = GetErtekelesModList(),
IsFromSzervezet = IsDualisKepzesEnabled,
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek)
};
var popUpModel = new PopUpModel(ertekelesEditModel, "~/Areas/TanuloErtekeles/Views/Ertekeles/Edit_Popup.cshtml");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupCancelButton", CommonResource.Megse, "ErtekelesHelper.editCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupSaveButton", CommonResource.Mentes, "ErtekelesHelper.editSave", "BtnOk");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupDeleteButton", CommonResource.Torles, "ErtekelesHelper.editDeleteConfirmWindow", "BtnDelete");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenMondatbankSelectPopup(TanuloErtekelesMondatbankItemSelectModel model)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
int? evfolyamTipusId = null;
if (model.MondatbankSelectPopupOsztalyCsoportId.IsEntityId())
{
evfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(model.MondatbankSelectPopupOsztalyCsoportId.Value);
}
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = new GridParameters
{
OrderBy = "RovidNev ASC"
}
};
DataSet dataSet = helper.GetMondatbankSelectListData(model.MondatbankSelectPopupTanuloErtekelesTipusId, model.MondatbankSelectPopupTipusId, model.MondatbankSelectPopupTantargyId, evfolyamTipusId);
List<DataRow> mondatbankItemRows = dataSet.Tables[0].Rows.Cast<DataRow>().ToList();
model.MondatbankItemSelectList = GetMondatbankItemSelectList(mondatbankItemRows);
model.MondatbankItemList = GetMondatbankItemList(mondatbankItemRows);
var popUpModel = new PopUpModel(model, "MondatbankItem_Select_Popup");
popUpModel.AddBtn(popUpModel, "ErtekelesMondatbankSelectPopupCancelButton", CommonResource.Megse, "ErtekelesHelper.mondatbankSelectPopupCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "ErtekelesMondatbankSelectPopupSelectButton", CommonResource.Kivalasztas, "ErtekelesHelper.mondatbankSelectPopupSelect", "BtnOk");
return PartialView(Constants.General.PopupView, popUpModel);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public string GetAtlag(int osztalyCsoportId, int tantargyId, DateTime? datum)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.GetAtlag(osztalyCsoportId, tantargyId, ProfileUtils.AtlagMegjelenitesTipusa, ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa, datum);
return result;
}
private ErtekelesListModel GetErtekelesListModel(int? tipusId = null)
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Ertekeleseknel_Megjeleno_Specialis_Gombok_Lathatosaga);
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
List<ErtekelesFoglalkozasItemModel> ertekelesFoglalkozasItemList = GetErtekelesFoglalkozasList(helper.GetErtekelesFoglalkozasData(IsDualisKepzesEnabled));
List<ErtekelesFoglalkozasItemModel> ertekelesFotargyiFoglalkozasItemList = GetErtekelesFoglalkozasList(helper.GetErtekelesFotargyiFoglalkozasData());
bool isJegyekAtlagaMegjelenik = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ertekelesnel_a_naplojegyek_atlaga_megjelenik, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
var ertekelesZarasDatuma = new OrarendHelper(connectionType).GetErtekelesZarasDatuma();
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik();
var model = new ErtekelesListModel
{
NamePrefix = "Ertekeles",
TipusId = tipusId,
Datum = DateTime.Today,
DatumMinValue = ertekelesZarasDatuma,
OsztalyCsoportId = null,
OsztalyzatList = GetOsztalyzatWithSpecialisList(ertekeleseknelMegjelenoSpecialisGombokLathatosagaList),
MentesitettOsztalyzatList = GetMentesitettOsztalyzatWithSpecialisList(ertekeleseknelMegjelenoSpecialisGombokLathatosagaList),
TipusList = GetTipusList(),
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
IsNaploErtekeles = false,
ErtekelesModId = null,
ErtekelesTema = null,
ErtekelesTemaText = null,
TemaList = new List<SelectListItem>(),
IsJegyekAtlagaMegjelenik = isJegyekAtlagaMegjelenik,
FoglalkozasId = null,
TantargyId = null,
ErtekelesKeresoAdatTipus = GetKeresoAdatTipus(),
ErtekelesModList = GetErtekelesModList(),
ErtekelesFoglalkozasItemModelList = ertekelesFoglalkozasItemList,
ErtekelesFotargyiFoglalkozasItemModelList = ertekelesFotargyiFoglalkozasItemList,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ClaimData.SelectedTanevID.Value, true).Select(x => x.Id).ToList(),
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
LezartOsztalyCsoportok = lezartOsztalyokEsBontottCsoportjaik,
ControllerName = Constants.Controllers.DualisErtekeles,
ApiControllerName = Constants.ApiControllers.DualisErtekelesApi
};
if (IsDualisKepzesEnabled)
{
model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis;
}
return model;
}
private static int GetKeresoAdatTipus()
{
int ertekelesKeresoAdatTipus;
if (ClaimData.IsSzuperOsztalyfonok)
{
ertekelesKeresoAdatTipus = (int)SystemSettingsErtekelesKeresesSzuroEnum.Mindenki;
}
else
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
ertekelesKeresoAdatTipus = (int)systemSettingsHelper.GetSystemSettingValue<SystemSettingsErtekelesKeresesSzuroEnum>(RendszerBeallitasTipusEnum.Ertekelesek_oldalon_levo_keresok_alapertelemezett_feltoltese_ezek_alapjan);
}
return ertekelesKeresoAdatTipus;
}
private static List<SelectListItem> GetFoglalkozasList(DataSet ertekelesFogalkozasData)
{
var result = new List<SelectListItem>();
foreach (DataRow row in ertekelesFogalkozasData.Tables[0].Rows)
{
result.Add(new SelectListItem
{
Value = SDAConvert.ToInt32(row["ID"]).ToString(),
Text = SDAConvert.ToString(row["Nev"])
});
}
return result;
}
private static List<ErtekelesFoglalkozasItemModel> GetErtekelesFoglalkozasList(DataSet dataSet)
{
var itemList = new List<ErtekelesFoglalkozasItemModel>();
foreach (DataRow row in dataSet.Tables[0].Rows)
{
itemList.Add(new ErtekelesFoglalkozasItemModel
{
FoglalkozasId = SDAConvert.ToNullableInt32(row["ID"]),
OsztalyCsoportId = SDAConvert.ToNullableInt32(row["OsztalyCsoportId"]),
TantargyId = SDAConvert.ToNullableInt32(row["TantargyId"])
});
}
return itemList;
}
private List<SelectListItem> GetErtekelesKeresoSzuroList(int ertekelesKeresoAdatTipus, bool showFotargyi)
{
var removeTipusList = new List<string>();
if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.Mindenki && ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
else if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.Osztalyfonok)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Mindenki).ToString());
if (ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
}
else if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.TTF)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Mindenki).ToString());
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
if (!showFotargyi)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Fotargyi).ToString());
}
var result = FrameworkEnumExtensions.EnumToListManual<ErtekelesKeresoSzuroEnum>().ToSelectListItemList(removeTipusList);
return result;
}
private List<SelectListItem> GetTipusList()
{
return ((int)GeneratedAdatszotarTipusEnum.ErtekelesTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
}
private List<SelectListItem> GetErtekelesModList()
{
return ((int)GeneratedAdatszotarTipusEnum.ErtekelesMod).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
}
private static List<SelectListItem> GetTantargyList()
{
List<SelectListItem> selectListItemList = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTantargyakForComboBox();
return selectListItemList.OrderBy(x => x.Text).ToList();
}
private List<ExtendedSelectListItem> GetOsztalyzatWithSpecialisList(List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList)
{
List<SelectListItem> selectListItemList = GetOsztalyzatList(true);
List<ExtendedSelectListItem> extendedSelectListItemList = selectListItemList.Select(x => new ExtendedSelectListItem(x)
{
Tooltip = int.Parse(x.Value).GetDisplayName<OsztalyzatTipusEnum>(ClaimData.SelectedTanevID.Value)
}).ToList();
var nemIrtValue = (int)SpecialisErtekelesOsztalyzatEnum.NemIrt;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(nemIrtValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = nemIrtValue.ToString(),
Text = TanuloErtekelesResource.NemIrtRovidNev,
Tooltip = TanuloErtekelesResource.NemIrt
});
}
var dicseretValue = (int)SpecialisErtekelesOsztalyzatEnum.Dicseret;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(dicseretValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = dicseretValue.ToString(),
Text = TanuloErtekelesResource.DicseretRovidNev,
Tooltip = TanuloErtekelesResource.Dicseret
});
}
var kitunoValue = (int)SpecialisErtekelesOsztalyzatEnum.Kituno;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(kitunoValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = kitunoValue.ToString(),
Text = TanuloErtekelesResource.KitunoRovidNev,
Tooltip = TanuloErtekelesResource.Kituno
});
}
var mentesitveValue = (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(mentesitveValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = mentesitveValue.ToString(),
Text = TanuloErtekelesResource.MentesitveRovidNev,
Tooltip = TanuloErtekelesResource.Mentesitve
});
}
return extendedSelectListItemList;
}
private List<ExtendedSelectListItem> GetMentesitettOsztalyzatWithSpecialisList(List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList)
{
var extendedSelectListItemList = new List<ExtendedSelectListItem>();
var mentesitveValue = (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(mentesitveValue))
{
extendedSelectListItemList = new List<ExtendedSelectListItem>
{
new ExtendedSelectListItem
{
Value = mentesitveValue.ToString(),
Text = TanuloErtekelesResource.MentesitveRovidNev,
Tooltip = TanuloErtekelesResource.Mentesitve
}
};
}
return extendedSelectListItemList;
}
public JsonResult GetErtekelesKorlatozasok(int tantargyId)
{
var (isOsztalyzattalErtekelheto, isSzovegesenErtekelheto, isSzazalekosanErtekelheto) = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetErtekelesKorlatozasok(tantargyId);
return Json(new { isOsztalyzattalErtekelheto, isSzazalekosanErtekelheto, isSzovegesenErtekelheto }, JsonRequestBehavior.AllowGet);
}
}
}

View file

@ -0,0 +1,51 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisFeljegyzesKeresoController : BaseFeljegyzesKeresoController
{
private IKretaAuthorization Authorization { get; }
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DualisFeljegyzesKeresoController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult Index()
{
if (!Authorization.IsValidDualisFeljegyzesek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new FeljegyzesKeresoModel(Constants.Controllers.DualisFeljegyzesKereso, Constants.ApiControllers.DualisFeljegyzesekApi)
{
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
if (IsDualisKepzesEnabled)
{
model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis;
}
if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/TanuloErtekeles/Views/FeljegyzesKereso/Index.cshtml", model);
}
}
}

View file

@ -0,0 +1,53 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisTanuloErtekelesKeresoController : BaseTanuloErtekelesKeresoController
{
private IKretaAuthorization Authorization { get; }
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
public DualisTanuloErtekelesKeresoController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult Index()
{
if (!Authorization.IsValidDualisErtekelesek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new TanuloErtekelesListModel
{
FeladatEllatasiHelyIdSearch = ClaimData.FelhelySzuro,
ControllerName = Constants.Controllers.DualisTanuloErtekelesKereso,
ApiControllerName = Constants.ApiControllers.DualisTanuloErtekelesKeresoApi
};
if (IsDualisKepzesEnabled)
{
model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis;
}
if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetIdSearch = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/TanuloErtekeles/Views/TanuloErtekelesKereso/Index.cshtml", model);
}
}
}

View file

@ -0,0 +1,23 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class ElektronikusUzenetKeresoController : BaseElektronikusUzenetKeresoController
{
public ActionResult Index()
{
var model = new FeljegyzesKeresoModel(Constants.Controllers.ElektronikusUzenetKereso, Constants.ApiControllers.FeljegyzesekApi)
{
TipusID = (int)EsemenyTipusEnum.ElektronikusUzenet
};
return View(model);
}
}
}

View file

@ -0,0 +1,117 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class ErettsegiEredmenyekController : Controller
{
#region Properties
public static string StartPopupFormName => "ErettsegiEredmenyekStartPopupForm";
public static string StartPopupId => "ErettsegiEredmenyekStartWindow";
public static string GridName => "ErettsegiEredmenyekGrid";
#endregion Properties
protected ErettsegiEredmenyekModel GetErettsegiEredmenyekModel()
{
var model = new ErettsegiEredmenyekModel
{
OsztalyList = GetOsztCsopList()
};
return model;
}
// GET: Ertekeles/ErettsegiEredmenyek
public ActionResult Index()
{
var osztalyList = GetOsztCsopList();
var model = new ErettsegiEredmenyekModel
{
OsztalyList = osztalyList
};
if (osztalyList.Count == 1)
{
model.OsztalyId = Convert.ToInt32(osztalyList.Single().Value);
model.OsztalyNev = osztalyList.Single().Text;
}
else
{
model.OsztalyId = null;
model.OsztalyNev = string.Empty;
}
return View(model);
}
public ActionResult ErettsegiEredmenyekDetailGrid(ErettsegiEredmenyekGridModel model)
{
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.ErettsegiTantargyList = GetErettsegiTantargyList(helper);
model.ErettsegiSzintList = GetErettsegiSzintList(helper);
model.ErettsegiTipusList = GetErettsegiTipusList(helper);
var dictionary = helper.GetErettsegiMaxPontszamList();
model.IrasbeliMaxPontszam = dictionary["IrasbeliMaxPontszam"];
model.SzobeliMaxPontszam = dictionary["SzobeliMaxPontszam"];
model.GyakorlatiMaxPontszam = dictionary["GyakorlatiMaxPontszam"];
return PartialView("DetailGrid", model);
}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
var model = GetErettsegiEredmenyekModel();
return PartialView("Start_Popup", model);
}
#endregion Popup actions
private List<SelectListItem> GetErettsegiTantargyList(ErettsegiEredmenyekHelper helper)
{
var dictionary = helper.GetErettsegiTantargyakForComboBox(string.Empty);
var result = dictionary.ToSelectListItemList();
return result;
}
private List<SelectListItem> GetErettsegiSzintList(ErettsegiEredmenyekHelper helper)
{
var dictionary = helper.GetErettsegiSzintekForComboBox(string.Empty);
var result = dictionary.ToSelectListItemList();
return result;
}
private List<SelectListItem> GetErettsegiTipusList(ErettsegiEredmenyekHelper helper)
{
var dictionary = helper.GetErettsegiTipusokForComboBox(string.Empty);
var result = dictionary.ToSelectListItemList();
return result;
}
private List<SelectListItem> GetOsztCsopList()
{
IDictionary<string, string> csakOsztalyok = OsztalyokEsCsoportokHelpers.GetCsakOsztalyok(ClaimData.FelhasznaloId, feladatKategoriaId: null);
return csakOsztalyok.ToSelectListItemList();
}
}
}

View file

@ -0,0 +1,52 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class ErettsegiEredmenyekKeresoController : Controller
{
// GET: TanuloErtekeles/ErettsegiEredmenyekKereso
public ActionResult Index()
{
return View(new ErettsegiEredmenyekKeresoSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro });
}
public ActionResult OpenErettsegiEredmenyInfoPopUp(int erettsegiEredmenyId)
{
var erettsegiEredmenyModel = new ErettsegiEredmenyModel();
var helper = new ErettsegiEredmenyekHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.GetErettsegiEredmeny(erettsegiEredmenyId);
erettsegiEredmenyModel.Tanulo = result.Tanulo;
erettsegiEredmenyModel.AnyjaNeve = result.AnyjaNeve;
erettsegiEredmenyModel.SzuletesiDatum = result.SzuletesiDatum;
erettsegiEredmenyModel.OktatasiAzonosito = result.OktatasiAzonosito;
erettsegiEredmenyModel.Tantargy = result.Tantargy;
erettsegiEredmenyModel.GyakorlatiPontszam = result.GyakorlatiPontszam;
erettsegiEredmenyModel.IrasbeliPontszam = result.IrasbeliPontszam;
erettsegiEredmenyModel.SzobeliPontszam = result.SzobeliPontszam;
erettsegiEredmenyModel.OsszPontszam = result.OsszPontszam;
erettsegiEredmenyModel.Tipus = result.Tipus;
erettsegiEredmenyModel.Szint = result.Szint;
erettsegiEredmenyModel.Szazalek = result.Szazalek;
erettsegiEredmenyModel.Erdemjegy = result.Erdemjegy;
erettsegiEredmenyModel.Megjegyzes = result.Megjegyzes;
var model = new PopUpModel(erettsegiEredmenyModel, "Info_PopUp");
model.AddCancelBtn(model, "ErettsegiEredmenyekKeresoHelper.erettsegiEredmenyInfoCancel");
return PartialView(Constants.General.PopupView, model);
}
}
}

View file

@ -0,0 +1,474 @@
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.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Enums.ManualEnums.SystemSettings;
using Kreta.Framework.Util;
using Kreta.KretaServer.SystemSettings;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class ErtekelesController : BaseTanuloErtekelesController
{
#region Properties
public static string StartPopupFormName => "ErtekelesStartPopupForm";
public static string StartPopupId => "ErtekelesStartPopupWindow";
public static string EditPopupFormName => "ErtekelesEditPopupForm";
public static string EditPopupId => "ErtekelesEditPopupWindow";
public static string FotargyAltargyGridName => "FotargyAltargyGrid";
#endregion Properties
private IKretaAuthorization Authorization { get; }
public ErtekelesController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult IndexEvkozi()
{
ErtekelesListModel model = GetErtekelesListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles);
return View("Index", model);
}
public ActionResult IndexFelevi()
{
ErtekelesListModel model = GetErtekelesListModel((int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
return View("Index", model);
}
public ActionResult IndexEvvegi()
{
ErtekelesListModel model = GetErtekelesListModel((int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
return View("Index", model);
}
public ActionResult IndexEgyeb()
{
ErtekelesListModel model = GetErtekelesListModel();
return View("Index", model);
}
public ActionResult ErtekelesGridDetail(ErtekelesDetailModel model)
{
model.NamePrefix = "Ertekeles";
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool hasFotargyAltargy = helper.HasTantargyFotargyAltargy(model.TantargyId);
model.HasFotargyAltargy = hasFotargyAltargy;
return PartialView("GridDetail", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult NaplozasErtekelesGridDetail(ErtekelesDetailModel model)
{
model.NamePrefix = "NaplozasErtekeles";
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
bool hasFotargyAltargy = helper.HasTantargyFotargyAltargy(model.TantargyId);
model.HasFotargyAltargy = hasFotargyAltargy;
return PartialView("GridDetail", model);
}
internal ErtekelesListModel NaplozasPartialViewModel()
{
return GetErtekelesListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles);
}
public ActionResult OpenStartPopup(int? tipusId)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
DataSet ertekelesFoglalkozasData = helper.GetErtekelesFoglalkozasData();
DataSet ertekelesFotargyiFoglalkozasData = helper.GetErtekelesFotargyiFoglalkozasData();
var foglalkozasList = GetFoglalkozasList(ertekelesFoglalkozasData);
var fotargyiFoglalkozasList = GetFoglalkozasList(ertekelesFotargyiFoglalkozasData);
var ertekelesFoglalkozasItemList = GetErtekelesFoglalkozasList(ertekelesFoglalkozasData);
var ertekelesFotargyiFoglalkozasItemList = GetErtekelesFoglalkozasList(ertekelesFotargyiFoglalkozasData);
var keresoAdatTipus = GetKeresoAdatTipus();
var model = new ErtekelesStartPopupModel
{
ErtekelesKeresoAdatTipus = keresoAdatTipus,
ErtekelesKeresoSzuro = (int)ErtekelesKeresoSzuroEnum.Ttf,
TipusId = tipusId,
ErtekelesKeresoSzuroList = GetErtekelesKeresoSzuroList(keresoAdatTipus, ertekelesFotargyiFoglalkozasItemList.Any()),
TipusList = GetTipusList(),
FoglalkozasList = foglalkozasList,
ErtekelesFoglalkozasItemModelList = ertekelesFoglalkozasItemList,
FotargyiFoglalkozasList = fotargyiFoglalkozasList,
ErtekelesFotargyiFoglalkozasItemModelList = ertekelesFotargyiFoglalkozasItemList,
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
TantargyList = GetTantargyList()
};
return PartialView("Start_Popup", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public ActionResult OpenEditPopup(int id)
{
if (!Authorization.IsValidErtekeles(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var helper = new TanuloErtekelesHelper(connectionType);
TanuloErtekelesCo tanuloErtekelesCo = helper.GetTanuloErtekelesCoById(id);
var naplozarasDatum = new OrarendHelper(connectionType).GetNaplozarasDate(startDate: null);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var ertekelesEditModel = new ErtekelesEditModel
{
IdEdit = tanuloErtekelesCo.Id.Value,
TanuloIdEdit = tanuloErtekelesCo.TanuloId,
DatumMinValueEdit = naplozarasDatum,
OsztalyCsoportIdEdit = tanuloErtekelesCo.OsztalyCsoportId,
ErtekeloNyomtatasiNevEdit = tanuloErtekelesCo.ErtekeloNyomtatasiNev,
DatumEdit = tanuloErtekelesCo.Datum,
TipusIdEdit = tanuloErtekelesCo.TipusId,
TipusList = GetTipusList(),
OsztalyzatList = GetOsztalyzatList(true),
TantargyIdEdit = tanuloErtekelesCo.TantargyId,
ErtekelesModIdEdit = tanuloErtekelesCo.ErtekelesModId,
ErtekelesTemaEdit = tanuloErtekelesCo.ErtekelesTema,
ErtekelesTemaNemetEdit = tanuloErtekelesCo.ErtekelesTemaNemet,
ErtekelesTemaHorvatEdit = tanuloErtekelesCo.ErtekelesTemaHorvat,
ErtekelesTemaRomanEdit = tanuloErtekelesCo.ErtekelesTemaRoman,
ErtekelesTemaSzerbEdit = tanuloErtekelesCo.ErtekelesTemaSzerb,
ErtekelesOsztalyzatIdEdit = tanuloErtekelesCo.ErtekelesOsztalyzatId,
ErtekelesSzovegEdit = tanuloErtekelesCo.ErtekelesSzovegFormazott,
ErtekelesSzovegNemetEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottNemet,
ErtekelesSzovegHorvatEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottHorvat,
ErtekelesSzovegRomanEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottRoman,
ErtekelesSzovegSzerbEdit = tanuloErtekelesCo.ErtekelesSzovegFormazottSzerb,
ErtekelesSzovegRovidNevEdit = tanuloErtekelesCo.ErtekelesSzovegRovidNev,
ErtekelesSzazalekEdit = tanuloErtekelesCo.ErtekelesSzazalek,
ErtekelesModList = GetErtekelesModList(),
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek)
};
var popUpModel = new PopUpModel(ertekelesEditModel, "Edit_Popup");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupCancelButton", CommonResource.Megse, "ErtekelesHelper.editCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupSaveButton", CommonResource.Mentes, "ErtekelesHelper.editSave", "BtnOk");
popUpModel.AddBtn(popUpModel, "ErtekelesPopupDeleteButton", CommonResource.Torles, "ErtekelesHelper.editDeleteConfirmWindow", "BtnDelete");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenMondatbankSelectPopup(TanuloErtekelesMondatbankItemSelectModel model)
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
int? evfolyamTipusId = null;
if (model.MondatbankSelectPopupOsztalyCsoportId.IsEntityId())
{
evfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(model.MondatbankSelectPopupOsztalyCsoportId.Value);
}
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = new GridParameters
{
OrderBy = "RovidNev ASC"
}
};
DataSet dataSet = helper.GetMondatbankSelectListData(model.MondatbankSelectPopupTanuloErtekelesTipusId, model.MondatbankSelectPopupTipusId, model.MondatbankSelectPopupTantargyId, evfolyamTipusId);
List<DataRow> mondatbankItemRows = dataSet.Tables[0].Rows.Cast<DataRow>().ToList();
model.MondatbankItemSelectList = GetMondatbankItemSelectList(mondatbankItemRows);
model.MondatbankItemList = GetMondatbankItemList(mondatbankItemRows);
var popUpModel = new PopUpModel(model, "MondatbankItem_Select_Popup");
popUpModel.AddBtn(popUpModel, "ErtekelesMondatbankSelectPopupCancelButton", CommonResource.Megse, "ErtekelesHelper.mondatbankSelectPopupCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "ErtekelesMondatbankSelectPopupSelectButton", CommonResource.Kivalasztas, "ErtekelesHelper.mondatbankSelectPopupSelect", "BtnOk");
return PartialView(Constants.General.PopupView, popUpModel);
}
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public string GetAtlag(int osztalyCsoportId, int tantargyId, DateTime? datum)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.GetAtlag(osztalyCsoportId, tantargyId, ProfileUtils.AtlagMegjelenitesTipusa, ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa, datum);
return result;
}
private ErtekelesListModel GetErtekelesListModel(int? tipusId = null)
{
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Ertekeleseknel_Megjeleno_Specialis_Gombok_Lathatosaga);
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
List<ErtekelesFoglalkozasItemModel> ertekelesFoglalkozasItemList = GetErtekelesFoglalkozasList(helper.GetErtekelesFoglalkozasData());
List<ErtekelesFoglalkozasItemModel> ertekelesFotargyiFoglalkozasItemList = GetErtekelesFoglalkozasList(helper.GetErtekelesFotargyiFoglalkozasData());
bool isJegyekAtlagaMegjelenik = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ertekelesnel_a_naplojegyek_atlaga_megjelenik, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
var ertekelesZarasDatuma = new OrarendHelper(connectionType).GetErtekelesZarasDatuma();
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik();
var model = new ErtekelesListModel
{
NamePrefix = "Ertekeles",
TipusId = tipusId,
Datum = DateTime.Today,
DatumMinValue = ertekelesZarasDatuma,
OsztalyCsoportId = null,
OsztalyzatList = GetOsztalyzatWithSpecialisList(ertekeleseknelMegjelenoSpecialisGombokLathatosagaList),
MentesitettOsztalyzatList = GetMentesitettOsztalyzatWithSpecialisList(ertekeleseknelMegjelenoSpecialisGombokLathatosagaList),
TipusList = GetTipusList(),
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
IsNaploErtekeles = false,
ErtekelesModId = null,
ErtekelesTema = null,
ErtekelesTemaText = null,
TemaList = new List<SelectListItem>(),
IsJegyekAtlagaMegjelenik = isJegyekAtlagaMegjelenik,
FoglalkozasId = null,
TantargyId = null,
ErtekelesKeresoAdatTipus = GetKeresoAdatTipus(),
ErtekelesModList = GetErtekelesModList(),
ErtekelesFoglalkozasItemModelList = ertekelesFoglalkozasItemList,
ErtekelesFotargyiFoglalkozasItemModelList = ertekelesFotargyiFoglalkozasItemList,
EgyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ClaimData.SelectedTanevID.Value, true).Select(x => x.Id).ToList(),
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
LezartOsztalyCsoportok = lezartOsztalyokEsBontottCsoportjaik,
};
return model;
}
private static int GetKeresoAdatTipus()
{
int ertekelesKeresoAdatTipus;
if (ClaimData.IsSzuperOsztalyfonok)
{
ertekelesKeresoAdatTipus = (int)SystemSettingsErtekelesKeresesSzuroEnum.Mindenki;
}
else
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
ertekelesKeresoAdatTipus = (int)systemSettingsHelper.GetSystemSettingValue<SystemSettingsErtekelesKeresesSzuroEnum>(RendszerBeallitasTipusEnum.Ertekelesek_oldalon_levo_keresok_alapertelemezett_feltoltese_ezek_alapjan);
}
return ertekelesKeresoAdatTipus;
}
private static List<SelectListItem> GetFoglalkozasList(DataSet ertekelesFogalkozasData)
{
var result = new List<SelectListItem>();
foreach (DataRow row in ertekelesFogalkozasData.Tables[0].Rows)
{
result.Add(new SelectListItem
{
Value = SDAConvert.ToInt32(row["ID"]).ToString(),
Text = SDAConvert.ToString(row["Nev"])
});
}
return result;
}
private static List<ErtekelesFoglalkozasItemModel> GetErtekelesFoglalkozasList(DataSet dataSet)
{
var itemList = new List<ErtekelesFoglalkozasItemModel>();
foreach (DataRow row in dataSet.Tables[0].Rows)
{
itemList.Add(new ErtekelesFoglalkozasItemModel
{
FoglalkozasId = SDAConvert.ToNullableInt32(row["ID"]),
OsztalyCsoportId = SDAConvert.ToNullableInt32(row["OsztalyCsoportId"]),
TantargyId = SDAConvert.ToNullableInt32(row["TantargyId"])
});
}
return itemList;
}
private List<SelectListItem> GetErtekelesKeresoSzuroList(int ertekelesKeresoAdatTipus, bool showFotargyi)
{
var removeTipusList = new List<string>();
if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.Mindenki && ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
else if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.Osztalyfonok)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Mindenki).ToString());
if (ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
}
else if (ertekelesKeresoAdatTipus == (int)SystemSettingsErtekelesKeresesSzuroEnum.TTF)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Mindenki).ToString());
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Osztalyfonok).ToString());
}
if (!showFotargyi)
{
removeTipusList.Add(((int)ErtekelesKeresoSzuroEnum.Fotargyi).ToString());
}
var result = FrameworkEnumExtensions.EnumToListManual<ErtekelesKeresoSzuroEnum>().ToSelectListItemList(removeTipusList);
return result;
}
private List<SelectListItem> GetTipusList()
{
return ((int)GeneratedAdatszotarTipusEnum.ErtekelesTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
}
private List<SelectListItem> GetErtekelesModList()
{
return ((int)GeneratedAdatszotarTipusEnum.ErtekelesMod).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
}
private static List<SelectListItem> GetTantargyList()
{
bool isFromSzervezet = false;
List<SelectListItem> selectListItemList = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTantargyakForComboBox(isSzakkepzo: ClaimData.IsSzakkepzoIntezmeny, isFromSzervezet: isFromSzervezet);
return selectListItemList.OrderBy(x => x.Text).ToList();
}
private List<ExtendedSelectListItem> GetOsztalyzatWithSpecialisList(List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList)
{
List<SelectListItem> selectListItemList = GetOsztalyzatList(true);
List<ExtendedSelectListItem> extendedSelectListItemList = selectListItemList.Select(x => new ExtendedSelectListItem(x)
{
Tooltip = int.Parse(x.Value).GetDisplayName<OsztalyzatTipusEnum>(ClaimData.SelectedTanevID.Value)
}).ToList();
var nemIrtValue = (int)SpecialisErtekelesOsztalyzatEnum.NemIrt;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(nemIrtValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = nemIrtValue.ToString(),
Text = TanuloErtekelesResource.NemIrtRovidNev,
Tooltip = TanuloErtekelesResource.NemIrt
});
}
var dicseretValue = (int)SpecialisErtekelesOsztalyzatEnum.Dicseret;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(dicseretValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = dicseretValue.ToString(),
Text = TanuloErtekelesResource.DicseretRovidNev,
Tooltip = TanuloErtekelesResource.Dicseret
});
}
var kitunoValue = (int)SpecialisErtekelesOsztalyzatEnum.Kituno;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(kitunoValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = kitunoValue.ToString(),
Text = TanuloErtekelesResource.KitunoRovidNev,
Tooltip = TanuloErtekelesResource.Kituno
});
}
var mentesitveValue = (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(mentesitveValue))
{
extendedSelectListItemList.Add(new ExtendedSelectListItem
{
Value = mentesitveValue.ToString(),
Text = TanuloErtekelesResource.MentesitveRovidNev,
Tooltip = TanuloErtekelesResource.Mentesitve
});
}
return extendedSelectListItemList;
}
private List<ExtendedSelectListItem> GetMentesitettOsztalyzatWithSpecialisList(List<int> ertekeleseknelMegjelenoSpecialisGombokLathatosagaList)
{
var extendedSelectListItemList = new List<ExtendedSelectListItem>();
var mentesitveValue = (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve;
if (ertekeleseknelMegjelenoSpecialisGombokLathatosagaList.Contains(mentesitveValue))
{
extendedSelectListItemList = new List<ExtendedSelectListItem>
{
new ExtendedSelectListItem
{
Value = mentesitveValue.ToString(),
Text = TanuloErtekelesResource.MentesitveRovidNev,
Tooltip = TanuloErtekelesResource.Mentesitve
}
};
}
return extendedSelectListItemList;
}
public JsonResult GetErtekelesKorlatozasok(int tantargyId)
{
var (isOsztalyzattalErtekelheto, isSzovegesenErtekelheto, isSzazalekosanErtekelheto) = new TantargyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetErtekelesKorlatozasok(tantargyId);
return Json(new { isOsztalyzattalErtekelheto, isSzazalekosanErtekelheto, isSzovegesenErtekelheto }, JsonRequestBehavior.AllowGet);
}
}
}

View file

@ -0,0 +1,49 @@
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Enums;
using Kreta.Web.Areas.TanuloErtekeles.ApiControllers;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class FaliujsagKeresoController : Controller
{
public ActionResult Index()
{
var model = new FeljegyzesKeresoModel(Constants.Controllers.FaliujsagKereso, Constants.ApiControllers.FeljegyzesekApi)
{
TipusID = (int)EsemenyTipusEnum.FaliujsagBejegyzes,
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
return View(model);
}
public ActionResult OpenFeljegyzesAdatok(int feljegyzesId)
{
try
{
var co = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesById(feljegyzesId);
var model = BaseFeljegyzesekApiController.ConvertFeljegyzesCoToModel(co);
var popUpModel = new PopUpModel(model, "Feljegyzes_Info");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "FeljegyzesKeresoHelper.adatokCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,22 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class FeljegyzesKeresoController : BaseFeljegyzesKeresoController
{
public ActionResult Index()
{
var model = new FeljegyzesKeresoModel(Constants.Controllers.FeljegyzesKereso, Constants.ApiControllers.FeljegyzesekApi)
{
FeladatEllatasiHelyId = ClaimData.FelhelySzuro
};
return View(model);
}
}
}

View file

@ -0,0 +1,41 @@
using System.Net;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core.Exceptions;
using Kreta.Web.Areas.TanuloErtekeles.ApiControllers;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class InformaciokFeljegyzesekController : Controller
{
public ActionResult Index(int? id)
{
return View(id);
}
public ActionResult OpenFeljegyzesAdatok(int feljegyzesId, int tanuloId)
{
try
{
var co = new FeljegyzesekHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesById(feljegyzesId, tanuloId);
var model = BaseFeljegyzesekApiController.ConvertFeljegyzesCoToModel(co);
var popUpModel = new PopUpModel(model, "Feljegyzes_Info");
popUpModel = popUpModel.AddCancelBtn(popUpModel, "InformaciokFeljegyzesekHelper.adatokCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,349 @@
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.Classes.ComboBox;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Enums.ManualEnums.SystemSettings;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Classes;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class MagatartasSzorgalomController : BaseTanuloErtekelesController
{
#region Properties
public static string StartPopupFormName => "MagatartasSzorgalomStartPopupForm";
public static string StartPopupId => "MagatartasSzorgalomStartPopupWindow";
public static string EditPopupFormName => "MagatartasSzorgalomEditPopupForm";
public static string EditPopupId => "MagatartasSzorgalomEditPopupWindow";
#endregion Properties
private IKretaAuthorization Authorization { get; }
public MagatartasSzorgalomController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
[MvcRolePackageAuthorize(KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
public ActionResult IndexEvkoziTanar()
{
return IndexEvkozi(isTanarEvkozi: true);
}
public ActionResult IndexEvkoziOfo()
{
return IndexEvkozi(isTanarEvkozi: false);
}
private ActionResult IndexEvkozi(bool isTanarEvkozi)
{
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.evkozi_jegy_ertekeles, isTanarEvkozi);
return View("Index", model);
}
public ActionResult IndexFeleviOfo()
{
return IndexFelevi();
}
private ActionResult IndexFelevi()
{
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
return View("Index", model);
}
public ActionResult IndexEvvegiOfo()
{
return IndexEvvegi();
}
private ActionResult IndexEvvegi()
{
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel((int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
return View("Index", model);
}
public ActionResult IndexEgyebOfo()
{
return IndexEgyeb();
}
private ActionResult IndexEgyeb()
{
MagatartasSzorgalomListModel model = GetMagatartasSzorgalomListModel();
return View("Index", model);
}
public ActionResult MagatartasSzorgalomGridDetail(MagatartasSzorgalomDetailModel model)
{
model.NamePrefix = "MagatartasSzorgalom";
model.IsAmiMagatartasErtekelheto = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa);
return PartialView("GridDetail", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
public ActionResult OpenStartPopup(int? tipusId)
{
int keresoAdatTipus = GetKeresoAdatTipus();
var model = new MagatartasSzorgalomStartPopupModel
{
MagatartasSzorgalomKeresoAdatTipus = keresoAdatTipus,
MagatartasSzorgalomKeresoSzuro = ClaimData.IsOnlyTanar ? (int)MagatartasSzorgalomKeresoSzuroEnum.Ttf : (int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok,
TipusId = tipusId,
MagatartasSzorgalomKeresoSzuroList = GetMagatartasSzorgalomKeresoSzuroList(keresoAdatTipus),
TipusList = GetTipusList(),
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
OsztalyCsoportListByFoglalkozas = GetOsztalyCsoportListByFoglalkozas()
};
return PartialView("Start_Popup", model);
}
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.TanarAdhatMagatartasSzorgalomJegyet.ClaimValue)]
public ActionResult OpenEditPopup(int id, int ellatottFeladatTipusId)
{
if (!Authorization.IsValidMagatartasSzorgalom(id))
{
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.NincsJogaAzOldalMegtekintesehez);
}
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var helper = new TanuloErtekelesHelper(connectionType);
TanuloErtekelesCo tanuloErtekelesCo = helper.GetTanuloErtekelesCoById(id);
var naplozarasDatum = new OrarendHelper(connectionType).GetNaplozarasDate(startDate: null);
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
var magatartasSzorgalomEditModel = new MagatartasSzorgalomEditModel
{
IdEdit = tanuloErtekelesCo.Id.Value,
TanuloIdEdit = tanuloErtekelesCo.TanuloId,
DatumMinValueEdit = naplozarasDatum,
OsztalyCsoportIdEdit = tanuloErtekelesCo.OsztalyCsoportId,
ErtekeloNyomtatasiNevEdit = tanuloErtekelesCo.ErtekeloNyomtatasiNev,
DatumEdit = tanuloErtekelesCo.Datum,
TipusIdEdit = tanuloErtekelesCo.TipusId,
EllatottFeladatTipusId = ellatottFeladatTipusId,
IsAmiMagatartasErtekelheto = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa),
TipusList = GetTipusList(),
OsztalyzatList = GetOsztalyzatList(true),
MagatartasOsztalyzatIdEdit = tanuloErtekelesCo.MagatartasOsztalyzatId,
MagatartasSzovegEdit = tanuloErtekelesCo.MagatartasSzovegFormazott,
MagatartasSzovegNemetEdit = tanuloErtekelesCo.MagatartasSzovegFormazottNemet,
MagatartasSzovegHorvatEdit = tanuloErtekelesCo.MagatartasSzovegFormazottHorvat,
MagatartasSzovegRomanEdit = tanuloErtekelesCo.MagatartasSzovegFormazottRoman,
MagatartasSzovegSzerbEdit = tanuloErtekelesCo.MagatartasSzovegFormazottSzerb,
MagatartasSzovegRovidNevEdit = tanuloErtekelesCo.MagatartasSzovegRovidNev,
MagatartasErtekIdEdit = tanuloErtekelesCo.MagatartasErtekId,
SzorgalomOsztalyzatIdEdit = tanuloErtekelesCo.SzorgalomOsztalyzatId,
SzorgalomSzovegEdit = tanuloErtekelesCo.SzorgalomSzovegFormazott,
SzorgalomSzovegNemetEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottNemet,
SzorgalomSzovegHorvatEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottHorvat,
SzorgalomSzovegRomanEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottRoman,
SzorgalomSzovegSzerbEdit = tanuloErtekelesCo.SzorgalomSzovegFormazottSzerb,
SzorgalomSzovegRovidNevEdit = tanuloErtekelesCo.SzorgalomSzovegRovidNev,
SzorgalomErtekIdEdit = tanuloErtekelesCo.SzorgalomErtekId,
MagatartasErtekList = GetMagatartasErtekList(),
SzorgalomErtekList = GetSzorgalomErtekList(),
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek)
};
var popUpModel = new PopUpModel(magatartasSzorgalomEditModel, "Edit_Popup");
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupCancelButton", CommonResource.Megse, "MagatartasSzorgalomHelper.editCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupSaveButton", CommonResource.Mentes, "MagatartasSzorgalomHelper.editSave", "BtnOk");
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomPopupDeleteButton", CommonResource.Torles, "MagatartasSzorgalomHelper.editDeleteConfirmWindow", "BtnDelete");
return PartialView(Constants.General.PopupView, popUpModel);
}
public ActionResult OpenMondatbankSelectPopup(TanuloErtekelesMondatbankItemSelectModel model)
{
model.NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
int? evfolyamTipusId = null;
if (model.MondatbankSelectPopupOsztalyCsoportId.IsEntityId())
{
evfolyamTipusId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportEvfolyamTipusId(model.MondatbankSelectPopupOsztalyCsoportId.Value);
}
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = new GridParameters
{
OrderBy = "RovidNev ASC"
}
};
DataSet dataSet = helper.GetMondatbankSelectListData(model.MondatbankSelectPopupTanuloErtekelesTipusId, model.MondatbankSelectPopupTipusId, model.MondatbankSelectPopupTantargyId, evfolyamTipusId);
List<DataRow> mondatbankItemRows = dataSet.Tables[0].Rows.Cast<DataRow>().ToList();
model.MondatbankItemSelectList = GetMondatbankItemSelectList(mondatbankItemRows);
model.MondatbankItemList = GetMondatbankItemList(mondatbankItemRows);
var popUpModel = new PopUpModel(model, "MondatbankItem_Select_Popup");
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomMondatbankSelectPopupCancelButton", CommonResource.Megse, "MagatartasSzorgalomHelper.mondatbankSelectPopupCancel", "BtnCancel");
popUpModel.AddBtn(popUpModel, "MagatartasSzorgalomMondatbankSelectPopupSelectButton", CommonResource.Kivalasztas, "MagatartasSzorgalomHelper.mondatbankSelectPopupSelect", "BtnOk");
return PartialView(Constants.General.PopupView, popUpModel);
}
private MagatartasSzorgalomListModel GetMagatartasSzorgalomListModel(int? tipusId = null, bool isTanarEvkozi = false)
{
int keresoAdatTipus = GetKeresoAdatTipus();
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var ertekelesZarasDatuma = new OrarendHelper(connectionType).GetErtekelesZarasDatuma();
var lezartOsztalyokEsBontottCsoportjaik = new NaplozarasLogic(connectionType).GetLezartOsztalyokEsBontottCsoportjaik();
var systemSettingsHelper = new SystemSettingsHelper(connectionType);
var model = new MagatartasSzorgalomListModel
{
NamePrefix = "MagatartasSzorgalom",
TipusId = tipusId,
Datum = DateTime.Today,
DatumMinValue = ertekelesZarasDatuma,
OsztalyCsoportId = ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo) ? new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId) : null,
OsztalyzatList = GetOsztalyzatList(true).Select(x => new ExtendedSelectListItem(x)).ToList(),
TipusList = GetTipusList(isTanarEvkozi),
OsztalyCsoportList = GetOsztalyCsoportList(),
OsztalyCsoportListByFelhasznaloId = GetOsztalyCsoportListByFelhasznaloId(),
MagatartasSzorgalomKeresoAdatTipus = keresoAdatTipus,
MagatartasErtekList = GetMagatartasErtekList(),
SzorgalomErtekList = GetSzorgalomErtekList(),
OsztalyCsoportListByFoglalkozas = GetOsztalyCsoportListByFoglalkozas(),
IsAmiMagatartasErtekelheto = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.magatartas_ertekeles_szabalyozasa),
NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
LezartOsztalyCsoportok = lezartOsztalyokEsBontottCsoportjaik,
};
return model;
}
private static int GetKeresoAdatTipus()
{
int keresoAdatTipus;
if (ClaimData.IsSzuperOsztalyfonok)
{
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Mindenki;
}
else if (ClaimData.IsOnlyTanar)
{
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.TTF;
}
else
{
keresoAdatTipus = (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok;
}
return keresoAdatTipus;
}
private List<SelectListItem> GetTipusList(bool isTanarEvkozi = false)
{
var enumList = new List<ErtekelesTipusEnum>
{
ErtekelesTipusEnum.evkozi_jegy_ertekeles
};
//NOTE: Ha szaktanárok is adhatnak m/sz-at (rendszerbeállítás), akkor nekik csak évközi típus engedélyezett.
if (!isTanarEvkozi)
{
List<int> egyszerAdhatoErtekelesTipusIds = EnumExtensions.GetErtekelesTipusDictionaryItems(ClaimData.SelectedTanevID.Value, true).Select(x => x.Id).ToList();
enumList.AddRange(egyszerAdhatoErtekelesTipusIds.Select(egyszerAdhatoErtekelesTipusId => (ErtekelesTipusEnum)egyszerAdhatoErtekelesTipusId));
}
IDictionary<string, string> enumItemDictironaryToSelectList = enumList.EnumItemListToDictionary(ClaimData.SelectedTanevID.Value);
List<SelectListItem> result = enumItemDictironaryToSelectList.ToSelectListItemList();
return result;
}
private static IEnumerable<ExtraDataComboBoxListItem> GetOsztalyCsoportListByFoglalkozas()
{
var osztalyCsoportHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return osztalyCsoportHelper.GetOsztalyCsoportByFoglalkozasForDropDownList();
}
private List<SelectListItem> GetMagatartasErtekList()
{
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MagatartasErtekelesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
return result;
}
private List<SelectListItem> GetSzorgalomErtekList()
{
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.SzorgalomErtekelesTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList();
return result;
}
private List<SelectListItem> GetMagatartasSzorgalomKeresoSzuroList(int magatartasSzorgalomKeresoAdatTipus)
{
if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok)
{
return new List<SelectListItem>();
}
var removeTipusList = new List<string>();
if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Mindenki && ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
}
else if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.TTF)
{
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Mindenki).ToString());
if (ClaimData.IsOnlyTanar)
{
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
}
}
else if (magatartasSzorgalomKeresoAdatTipus == (int)SystemSettingsMagatartasSzorgalomKeresesSzuroEnum.Osztalyfonok)
{
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Mindenki).ToString());
removeTipusList.Add(((int)MagatartasSzorgalomKeresoSzuroEnum.Osztalyfonok).ToString());
}
var result = FrameworkEnumExtensions.EnumToListManual<MagatartasSzorgalomKeresoSzuroEnum>().ToSelectListItemList(removeTipusList);
return result;
}
}
}

View file

@ -0,0 +1,34 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class NaploEllenorzesController : Controller
{
// GET: TanuloErtekeles/NaploEllenorzes
public ActionResult Index()
{
NaploEllenorzesKeresoModel model = new NaploEllenorzesKeresoModel();
if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
{
model.OsztalyId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
}
return View("Index", model);
}
public ActionResult NaploEllenorzesDetailGrid(NaploEllenorzesGridModel model)
{
return PartialView("NaploEllenorzesDetail_Partial", model);
}
}
}

View file

@ -0,0 +1,23 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class OsztalyzatokController : Controller
{
public ActionResult Index()
{
OsztalyzatokRequestModel model = new OsztalyzatokRequestModel();
model.OktatasNevelesiFeladatIdList = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloOktatasiNevelesiFeladatIdList(ClaimData.FelhasznaloId);
model.IsOsztalyAtlagMegjelenik = true;
return View(model);
}
}
}

View file

@ -0,0 +1,50 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class OsztalyzatokEvvegiErtesitoController : Controller
{
[MvcRolePackageAuthorize(KretaClaimPackages.EvvegiJegy.ClaimValue, KretaClaimPackages.EvvegiVegzosJegy.ClaimValue)]
public ActionResult Index()
{
var items = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloOsztalyDictionary(ClaimData.FelhasznaloId);
var list = new List<SelectListItem>();
foreach (var item in items)
{
list.Add(new SelectListItem
{
Value = item.Key,
Text = item.Value
});
}
int? osztalyId = null;
var firstOsztalyItem = list.FirstOrDefault();
if (firstOsztalyItem != null)
{
osztalyId = int.Parse(firstOsztalyItem.Value);
}
var tanuloCo = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloiAdatok(ClaimData.FelhasznaloId, kovTanevId: null, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater, osztalyId);
var model = new OsztalyzatokFeleviEvvegiErtesitoModel
{
OsztalyId = osztalyId,
OsztalyList = list,
ZaradekModel = tanuloCo.Zaradek.TanuloCsoportId.HasValue ? new ZaradekModel(tanuloCo.Zaradek.TanuloCsoportId.Value, tanuloCo.ID) : new ZaradekModel()
};
return View("Index", model);
}
}
}

View file

@ -0,0 +1,46 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class OsztalyzatokFeleviErtesitoController : Controller
{
[MvcRolePackageAuthorize(KretaClaimPackages.FeleviJegy.ClaimValue)]
public ActionResult Index()
{
Dictionary<string, string> items = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanuloOsztalyDictionary(ClaimData.FelhasznaloId);
var list = new List<SelectListItem>();
foreach (KeyValuePair<string, string> item in items)
{
list.Add(new SelectListItem
{
Value = item.Key,
Text = item.Value
});
}
int? osztalyId = null;
SelectListItem firstOsztalyItem = list.FirstOrDefault();
if (firstOsztalyItem != null)
{
osztalyId = int.Parse(firstOsztalyItem.Value);
}
OsztalyzatokFeleviEvvegiErtesitoModel model = new OsztalyzatokFeleviEvvegiErtesitoModel
{
OsztalyId = osztalyId,
OsztalyList = list
};
return View("Index", model);
}
}
}

View file

@ -0,0 +1,54 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Enums;
using Kreta.KretaServer.SystemSettings;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanulo.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanuloErtekelesByTanuloController : BaseTanuloErtekelesController
{
public List<TanuloErtekelesByTanuloListModel> PartialViewModel(int? tanuloId, string namePrefix = null, List<int> oktatasiNevelesiFeladatIds = null, bool isOsztalyAtlagMegjelenik = false)
{
var model = new List<TanuloErtekelesByTanuloListModel>();
if (oktatasiNevelesiFeladatIds == null || oktatasiNevelesiFeladatIds.Count < 1)
{
return model;
}
bool isJegyekAtlagaMegjelenik = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Ertekelesnel_a_naplojegyek_atlaga_megjelenik, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
bool isOsztalyAtlagMegjelenikSystemSetting = SystemSettingsManager.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Osztalyatlag_megjelenitese_az_ellenorzo_feluleten, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
foreach (int oktatasiNevelesiFeladatId in oktatasiNevelesiFeladatIds)
{
string feladatNamePrefix = namePrefix + oktatasiNevelesiFeladatId;
model.Add(new TanuloErtekelesByTanuloListModel
{
// TODO: jó lenne, ha egyértelműen látszódna a tényleges logika az IsNullOrWhiteSpace helyett
NamePrefix = string.IsNullOrWhiteSpace(feladatNamePrefix) ? "DefaultByTanulo" : feladatNamePrefix,
IsJegyekAtlagaMegjelenik = isJegyekAtlagaMegjelenik,
IsOsztalyAtlagMegjelenik = isOsztalyAtlagMegjelenikSystemSetting && isOsztalyAtlagMegjelenik,
TanuloId = tanuloId,
OktatasiNevelesiFeladatId = oktatasiNevelesiFeladatId
});
}
return model;
}
public ActionResult TanuloErtekelesByTanuloGridDetail(TanuloErtekelesByTanuloDetailModel model, int oktatasiNevelesiFeladatId, string namePrefix = null)
{
// TODO: jó lenne, ha egyértelműen látszódna a tényleges logika az IsNullOrWhiteSpace helyett
model.NamePrefix = string.IsNullOrWhiteSpace(namePrefix) ? "DefaultByTanulo" : namePrefix;
model.OktatasiNevelesiFeladatId = oktatasiNevelesiFeladatId;
return PartialView("GridDetail", model);
}
}
}

View file

@ -0,0 +1,22 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class TanuloErtekelesKeresoController : BaseTanuloErtekelesKeresoController
{
public ActionResult Index()
{
var model = new TanuloErtekelesListModel
{
FeladatEllatasiHelyIdSearch = ClaimData.FelhelySzuro
};
return View("Index", model);
}
}
}

View file

@ -0,0 +1,186 @@
using System.IO;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
using Kreta.BusinessLogic.Utils;
using Kreta.Enums;
using Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.TanuloErtekeles.Logic
{
public class TanuloErtekelesWebLogic
{
public static ActionResult GetExport(int tipusId, string fileDownloadName, TanuloErtekelesListModel model)
{
var helper = new TanuloErtekelesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
MemoryStream memoryStream = helper.GetTanulokJegyeiByTipusIdExcelExport(tipusId, model.ToCo());
var fileStreamResult = new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx)
{
FileDownloadName = fileDownloadName
};
return fileStreamResult;
}
public static void SetErtekelesNyelviesitesProperties(TanuloErtekelesCo tanuloErtekelesCo, ErtekelesNyelvHelperModel model)
{
if (!string.IsNullOrWhiteSpace(model.ErtekelesSzoveg))
{
string ertekelesSzovegFormazott = RichTextLogic.GetLegalHtmlString(model.ErtekelesSzoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazott = ertekelesSzovegFormazott;
tanuloErtekelesCo.ErtekelesSzoveg = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazott);
tanuloErtekelesCo.ErtekelesSzovegRovidNev = model.ErtekelesSzovegRovidNev;
if (model.NemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(model.TipusId))
{
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && !string.IsNullOrWhiteSpace(model.ErtekelesSzovegNemet))
{
string ertekelesSzovegFormazottNemet = RichTextLogic.GetLegalHtmlString(model.ErtekelesSzovegNemet, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazottNemet = ertekelesSzovegFormazottNemet;
tanuloErtekelesCo.ErtekelesSzovegNemet = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazottNemet);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && !string.IsNullOrWhiteSpace(model.ErtekelesSzovegHorvat))
{
string ertekelesSzovegFormazottHorvat = RichTextLogic.GetLegalHtmlString(model.ErtekelesSzovegHorvat, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazottHorvat = ertekelesSzovegFormazottHorvat;
tanuloErtekelesCo.ErtekelesSzovegHorvat = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazottHorvat);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && !string.IsNullOrWhiteSpace(model.ErtekelesSzovegRoman))
{
string ertekelesSzovegFormazottRoman = RichTextLogic.GetLegalHtmlString(model.ErtekelesSzovegRoman, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazottRoman = ertekelesSzovegFormazottRoman;
tanuloErtekelesCo.ErtekelesSzovegRoman = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazottRoman);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && !string.IsNullOrWhiteSpace(model.ErtekelesSzovegSzerb))
{
string ertekelesSzovegFormazottSzerb = RichTextLogic.GetLegalHtmlString(model.ErtekelesSzovegSzerb, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.ErtekelesSzovegFormazottSzerb = ertekelesSzovegFormazottSzerb;
tanuloErtekelesCo.ErtekelesSzovegSzerb = CommonUtils.RemoveAllHtmlTags(ertekelesSzovegFormazottSzerb);
}
}
}
if (!string.IsNullOrWhiteSpace(model.ErtekelesTema))
{
tanuloErtekelesCo.ErtekelesTema = model.ErtekelesTema;
if (model.NemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(model.TipusId))
{
string ertekelesTemaNemet = model.ErtekelesTemaNemet;
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && !string.IsNullOrWhiteSpace(ertekelesTemaNemet))
{
tanuloErtekelesCo.ErtekelesTemaNemet = ertekelesTemaNemet;
}
string ertekelesTemaHorvat = model.ErtekelesTemaHorvat;
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && !string.IsNullOrWhiteSpace(ertekelesTemaHorvat))
{
tanuloErtekelesCo.ErtekelesTemaHorvat = ertekelesTemaHorvat;
}
string ertekelesTemaRoman = model.ErtekelesTemaRoman;
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && !string.IsNullOrWhiteSpace(ertekelesTemaRoman))
{
tanuloErtekelesCo.ErtekelesTemaRoman = ertekelesTemaRoman;
}
string ertekelesTemaSzerb = model.ErtekelesTemaSzerb;
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && !string.IsNullOrWhiteSpace(ertekelesTemaSzerb))
{
tanuloErtekelesCo.ErtekelesTemaSzerb = ertekelesTemaSzerb;
}
}
}
}
public static void SetMagatartasSzorgalomNyelviesitesProperties(TanuloErtekelesCo tanuloErtekelesCo, MagatartasSzorgalomNyelvHelperModel model)
{
if (!string.IsNullOrWhiteSpace(model.MagatartasSzoveg))
{
string magatartasSzovegFormazott = RichTextLogic.GetLegalHtmlString(model.MagatartasSzoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazott = magatartasSzovegFormazott;
tanuloErtekelesCo.MagatartasSzoveg = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazott);
tanuloErtekelesCo.MagatartasSzovegRovidNev = model.MagatartasSzovegRovidNev;
if (model.NemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(model.TipusId))
{
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && !string.IsNullOrWhiteSpace(model.MagatartasSzovegNemet))
{
string magatartasSzovegFormazottNemet = RichTextLogic.GetLegalHtmlString(model.MagatartasSzovegNemet, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazottNemet = magatartasSzovegFormazottNemet;
tanuloErtekelesCo.MagatartasSzovegNemet = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazottNemet);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && !string.IsNullOrWhiteSpace(model.MagatartasSzovegHorvat))
{
string magatartasSzovegFormazottHorvat = RichTextLogic.GetLegalHtmlString(model.MagatartasSzovegHorvat, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazottHorvat = magatartasSzovegFormazottHorvat;
tanuloErtekelesCo.MagatartasSzovegHorvat = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazottHorvat);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && !string.IsNullOrWhiteSpace(model.MagatartasSzovegRoman))
{
string magatartasSzovegFormazottRoman = RichTextLogic.GetLegalHtmlString(model.MagatartasSzovegRoman, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazottRoman = magatartasSzovegFormazottRoman;
tanuloErtekelesCo.MagatartasSzovegRoman = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazottRoman);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && !string.IsNullOrWhiteSpace(model.MagatartasSzovegSzerb))
{
string magatartasSzovegFormazottSzerb = RichTextLogic.GetLegalHtmlString(model.MagatartasSzovegSzerb, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazottSzerb = magatartasSzovegFormazottSzerb;
tanuloErtekelesCo.MagatartasSzovegSzerb = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazottSzerb);
}
}
}
if (!string.IsNullOrWhiteSpace(model.SzorgalomSzoveg))
{
string szorgalomSzovegFormazott = RichTextLogic.GetLegalHtmlString(model.SzorgalomSzoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazott = szorgalomSzovegFormazott;
tanuloErtekelesCo.SzorgalomSzoveg = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazott);
tanuloErtekelesCo.SzorgalomSzovegRovidNev = model.SzorgalomSzovegRovidNev;
if (model.NemzetiDokumentumNyelvek.Any() && TanuloErtekelesLogicBase.NyelviesithetoTanuloErtekelesTipusIdList.Contains(model.TipusId))
{
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet) && !string.IsNullOrWhiteSpace(model.SzorgalomSzovegNemet))
{
string szorgalomSzovegFormazottNemet = RichTextLogic.GetLegalHtmlString(model.SzorgalomSzovegNemet, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazottNemet = szorgalomSzovegFormazottNemet;
tanuloErtekelesCo.SzorgalomSzovegNemet = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazottNemet);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat) && !string.IsNullOrWhiteSpace(model.SzorgalomSzovegHorvat))
{
string szorgalomSzovegFormazottHorvat = RichTextLogic.GetLegalHtmlString(model.SzorgalomSzovegHorvat, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazottHorvat = szorgalomSzovegFormazottHorvat;
tanuloErtekelesCo.SzorgalomSzovegHorvat = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazottHorvat);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.roman) && !string.IsNullOrWhiteSpace(model.SzorgalomSzovegRoman))
{
string szorgalomSzovegFormazottRoman = RichTextLogic.GetLegalHtmlString(model.SzorgalomSzovegRoman, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazottRoman = szorgalomSzovegFormazottRoman;
tanuloErtekelesCo.SzorgalomSzovegRoman = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazottRoman);
}
if (DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(model.NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb) && !string.IsNullOrWhiteSpace(model.SzorgalomSzovegSzerb))
{
string szorgalomSzovegFormazottSzerb = RichTextLogic.GetLegalHtmlString(model.SzorgalomSzovegSzerb, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazottSzerb = szorgalomSzovegFormazottSzerb;
tanuloErtekelesCo.SzorgalomSzovegSzerb = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazottSzerb);
}
}
}
}
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class DolgozatReszletekGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(DolgozatokResource.DiakNeve), ResourceType = typeof(DolgozatokResource))]
public string NyomtatasiNev { get; set; }
[Display(Name = nameof(DolgozatokResource.SzuletesiDatum), ResourceType = typeof(DolgozatokResource))]
public DateTime SzuletesiDatum { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy), ResourceType = typeof(DolgozatokResource))]
public string Erdemjegy { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesDatuma), ResourceType = typeof(DolgozatokResource))]
public DateTime ErtekelesDatum { get; set; }
[Display(Name = nameof(DolgozatokResource.RogzitesDatuma), ResourceType = typeof(DolgozatokResource))]
public DateTime RogzitesDatum { get; set; }
}
}

View file

@ -0,0 +1,59 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class DolgozatokAtlagaGridModel : IKretaIdentity
{
public string ID { get; set; }
public int RowId { get; set; }
[Display(Name = nameof(DolgozatokResource.RogzitesDatuma), ResourceType = typeof(DolgozatokResource))]
public DateTime Datum { get; set; }
[Display(Name = nameof(DolgozatokResource.DolgozatOsztalyCsoport), ResourceType = typeof(DolgozatokResource))]
public string OsztalyCsoport { get; set; }
public string OsztalyCsoportId { get; set; }
[Display(Name = nameof(DolgozatokResource.TantargyNeve), ResourceType = typeof(DolgozatokResource))]
public string TantargyNev { get; set; }
public string TantargyId { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesTemaja), ResourceType = typeof(DolgozatokResource))]
public string ErtekelesTema { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesModja), ResourceType = typeof(DolgozatokResource))]
public string ErtekelesModId_DNAME { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesAtlaga), ResourceType = typeof(DolgozatokResource))]
public double Atlag { get; set; }
public int IrtakDolgozatot { get; set; }
[Display(Name = nameof(DolgozatokResource.DolgozatirokLetszam), ResourceType = typeof(DolgozatokResource))]
public string IrtakDolgozatotArany { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy5), ResourceType = typeof(DolgozatokResource))]
public int Erdemjegy5 { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy4), ResourceType = typeof(DolgozatokResource))]
public int Erdemjegy4 { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy3), ResourceType = typeof(DolgozatokResource))]
public int Erdemjegy3 { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy2), ResourceType = typeof(DolgozatokResource))]
public int Erdemjegy2 { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy1), ResourceType = typeof(DolgozatokResource))]
public int Erdemjegy1 { get; set; }
[Display(Name = nameof(DolgozatokResource.NemIrtDologozatot), ResourceType = typeof(DolgozatokResource))]
public int NemIrtakDolgozatot { get; set; }
}
}

View file

@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class DolgozatokAtlagaSearchModel
{
public DolgozatokAtlagaSearchModel()
{
EnableRowFunctions = true;
}
[Display(Name = nameof(DolgozatokResource.DolgozatOsztalyCsoport), ResourceType = typeof(DolgozatokResource))]
public int? OsztalyCsoport { get; set; }
[Display(Name = nameof(DolgozatokResource.Tantargy), ResourceType = typeof(DolgozatokResource))]
public int? Tantargy { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesModja), ResourceType = typeof(DolgozatokResource))]
public List<int> ErtekelesModList { get; set; }
[Display(Name = nameof(DolgozatokResource.ErtekelesTemaja), ResourceType = typeof(DolgozatokResource))]
public string ErtekelesTemaja { get; set; }
public int? TanarId { get; set; }
[Display(Name = nameof(DolgozatokResource.Atlag), ResourceType = typeof(DolgozatokResource))]
[KretaRange(1, 5)]
public double? AtlagTol { get; set; }
[KretaRange(1, 5)]
public double? AtlagIg { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy5Search), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy5Tol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy5Ig { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy4Search), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy4Tol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy4Ig { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy3Search), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy3Tol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy3Ig { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy2Search), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy2Tol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy2Ig { get; set; }
[Display(Name = nameof(DolgozatokResource.Erdemjegy1Search), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy1Tol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? Erdemjegy1Ig { get; set; }
[Display(Name = nameof(DolgozatokResource.NemIrtDolgozatotSearch), ResourceType = typeof(DolgozatokResource))]
[KretaRange(0, int.MaxValue)]
public int? NemIrtDolgozatotTol { get; set; }
[KretaRange(0, int.MaxValue)]
public int? NemIrtDolgozatotIg { get; set; }
public int? SzuperOsztalyfonok { get; set; }
public DateTime Datum { get; set; }
public bool EnableRowFunctions { get; set; }
public DolgozatokAtlagaSearchCo ConvertToCo()
{
return new DolgozatokAtlagaSearchCo
{
OsztalyCsoport = OsztalyCsoport,
Tantargy = Tantargy,
ErtekelesModList = ErtekelesModList,
ErtekelesTemaja = ErtekelesTemaja,
TanarId = TanarId,
AtlagTol = AtlagTol,
AtlagIg = AtlagIg,
Erdemjegy5Tol = Erdemjegy5Tol,
Erdemjegy5Ig = Erdemjegy5Ig,
Erdemjegy4Tol = Erdemjegy4Tol,
Erdemjegy4Ig = Erdemjegy4Ig,
Erdemjegy3Tol = Erdemjegy3Tol,
Erdemjegy3Ig = Erdemjegy3Ig,
Erdemjegy2Tol = Erdemjegy2Tol,
Erdemjegy2Ig = Erdemjegy2Ig,
Erdemjegy1Tol = Erdemjegy1Tol,
Erdemjegy1Ig = Erdemjegy1Ig,
NemIrtDolgozatotTol = NemIrtDolgozatotTol,
NemIrtDolgozatotIg = NemIrtDolgozatotIg,
SzuperOsztalyfonok = SzuperOsztalyfonok,
Datum = Datum
};
}
}
}

View file

@ -0,0 +1,50 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyModel
{
[Display(Name = nameof(ErettsegiEredmenyekResource.TanuloNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Tanulo { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.AnyjaNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.SzuletesiDatum), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string SzuletesiDatum { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OktatasiAzonosito), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string OktatasiAzonosito { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tantargy), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.GyakorlatiPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? GyakorlatiPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.IrasbeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? IrasbeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.SzobeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? SzobeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OsszPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? OsszPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tipus), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Tipus { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szint), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Szint { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szazalek), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? Szazalek { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Erdemjegy), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? Erdemjegy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Megjegyzes), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Megjegyzes { get; set; }
}
}

View file

@ -0,0 +1,257 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Http.ModelBinding;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenySaveModel
{
public string FormName { get; set; }
public List<ErettsegiEredmenySaveDetailModel> ErettsegiEredmenySaveDetailModelList { get; set; } = new List<ErettsegiEredmenySaveDetailModel>();
}
public class ErettsegiEredmenySaveDetailModel
{
public string Id { get; set; }
public int TanuloId { get; set; }
public int? ErettsegiTantargyId { get; set; }
public int? ErettsegiSzintId { get; set; }
public int? ErettsegiTipusId { get; set; }
public int? IrasbeliPontszam { get; set; }
public int? SzobeliPontszam { get; set; }
public int? GyakorlatiPontszam { get; set; }
public string Megjegyzes { get; set; }
public bool IsNew { get; set; }
public ModelStateDictionary Validate(ModelStateDictionary modelStateDictionary, string formName, DataSet erettsegiTantargyAdatok)
{
if (!ErettsegiTantargyId.IsEntityId())
{
modelStateDictionary.AddModelError(formName, string.Format(CommonResource.Required, $"\"{ErettsegiEredmenyekResource.Tantargy}\""));
}
else
{
//NOTE: Az IsEntityId vizsgálat miatt nem lehet null az ErettsegiTantargyId!
int erettsegiTantargyIdValue = ErettsegiTantargyId.Value;
var erettsegiTantargyNev = erettsegiTantargyIdValue.GetDisplayName<ErettsegiTantargyEnum>(ClaimData.SelectedTanevID.Value);
if (!ErettsegiSzintId.IsEntityId())
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationRequired, erettsegiTantargyNev, $"{ErettsegiEredmenyekResource.Szint}"));
}
else
{
//NOTE: Az IsEntityId vizsgálat miatt nem lehet null az ErettsegiSzintId!
int erettsegiSzintIdValue = ErettsegiSzintId.Value;
List<ErettsegiTantargyAdatokModel> erettsegiTantargyAdatokModel = erettsegiTantargyAdatok.Tables[0].AsEnumerable().Select(dataRow =>
new ErettsegiTantargyAdatokModel
{
ID = dataRow.Field<int>("ID"),
IsSzobeli = dataRow.Field<string>("IsSzobeli").ToBool(),
IsIrasbeli = dataRow.Field<string>("IsIrasbeli").ToBool(),
IsGyakorlati = dataRow.Field<string>("IsGyakorlati").ToBool(),
IsEmelt = dataRow.Field<int>("ErettsegiSzint") == (int)ErettsegiSzintEnum.EmeltSzint,
IrasbeliMaxPontszam = dataRow.Field<int>("IrasbeliMaxPontszam"),
GyakorlatiMaxPontszam = dataRow.Field<int>("GyakorlatiMaxpontszam"),
SzobeliMaxPontszam = dataRow.Field<int>("SzobeliMaxpontszam"),
OsszMaxPontszam = dataRow.Field<int>("OsszMaxpontszam")
}).Where(x => x.ID == erettsegiTantargyIdValue).ToList();
//NOTE: Megvizsgáljuk, hogy emelt szintű-e az érettségi.
if (erettsegiSzintIdValue == (int)ErettsegiSzintEnum.EmeltSzint)
{
//NOTE: Azért használunk SingleOrDefault-ot, mert csak és kizárólag egy darab emelt és/vagy közép szintű érettségi lehet az adott tantárgyból, ha több van, rossz adat van az adatbázisban és javítani kell.
var emeltErettsegiTantargyAdat = erettsegiTantargyAdatokModel.SingleOrDefault(x => x.IsEmelt);
ErettsegiSzintSzerintiValidacio(modelStateDictionary, formName, emeltErettsegiTantargyAdat, ErettsegiEredmenyekResource.Emelt, erettsegiTantargyNev);
}
//NOTE: Megvizsgáljuk, hogy közép szintű-e az érettségi.
if (erettsegiSzintIdValue == (int)ErettsegiSzintEnum.KozepSzint)
{
//NOTE: Azért használunk SingleOrDefault-ot, mert csak és kizárólag egy darab emelt és/vagy közép szintű érettségi lehet az adott tantárgyból, ha több van, rossz adat van az adatbázisban és javítani kell.
var kozepErettsegiTantargyAdat = erettsegiTantargyAdatokModel.SingleOrDefault(x => !x.IsEmelt);
//NOTE: Megvizsgáljuk, hogy matematika-e a tantárgy, ha igen, akkor azt közép szinten egyedileg kell validálni, ha nem, akkor normális validáció következik.
if (erettsegiTantargyIdValue != (int)ErettsegiTantargyEnum.matematika)
{
ErettsegiSzintSzerintiValidacio(modelStateDictionary, formName, kozepErettsegiTantargyAdat, ErettsegiEredmenyekResource.Kozep, erettsegiTantargyNev);
}
else
{
var matematikaOsszMaxPontszam = 0;
//NOTE: Mivel matematika tantárgyról van szó, ezért a kozepErettsegiTantargyAdat nem lehet null, mert kötelező, hogy legyen ilyen az adatbázisban!
PontszamValidation(modelStateDictionary, formName, IrasbeliPontszam, kozepErettsegiTantargyAdat.IrasbeliMaxPontszam, kozepErettsegiTantargyAdat.IsIrasbeli, ErettsegiEredmenyekResource.Irasbeli, erettsegiTantargyNev);
matematikaOsszMaxPontszam += kozepErettsegiTantargyAdat.IrasbeliMaxPontszam;
if (IrasbeliPontszam < 25)
{
var matematikaKozepSzobeliMaxPontszam = 50;
PontszamValidation(modelStateDictionary, formName, SzobeliPontszam, matematikaKozepSzobeliMaxPontszam, kozepErettsegiTantargyAdat.IsSzobeli, ErettsegiEredmenyekResource.Szobeli, erettsegiTantargyNev);
matematikaOsszMaxPontszam += matematikaKozepSzobeliMaxPontszam;
}
else
{
if (SzobeliPontszam.HasValue)
{
modelStateDictionary.AddModelError(formName, ErettsegiEredmenyekResource.ValidationMatematikaNemLehetTipusuErettsegiVizsgatTenni);
}
matematikaOsszMaxPontszam += kozepErettsegiTantargyAdat.SzobeliMaxPontszam;
}
if (GyakorlatiPontszam.HasValue)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationNemLehetTipusuErettsegiVizsgatTenni, erettsegiTantargyNev, ErettsegiEredmenyekResource.Gyakorlati));
}
matematikaOsszMaxPontszam += kozepErettsegiTantargyAdat.GyakorlatiMaxPontszam;
var osszPontszam = 0;
osszPontszam += IrasbeliPontszam ?? 0;
osszPontszam += SzobeliPontszam ?? 0;
osszPontszam += GyakorlatiPontszam ?? 0;
//NOTE: Megvizsgáljuk, hogy nem adtak-e több pontot összesen, mint a lehetséges maximális.
if (matematikaOsszMaxPontszam < osszPontszam)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationMaximumPontotLehetElerniOsszesenAzErettsegiVizsgan, erettsegiTantargyNev, matematikaOsszMaxPontszam));
}
}
}
}
if (!ErettsegiTipusId.IsEntityId())
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationRequired, erettsegiTantargyNev, $"{ErettsegiEredmenyekResource.Tipus}"));
}
}
return modelStateDictionary;
}
private void ErettsegiSzintSzerintiValidacio(ModelStateDictionary modelStateDictionary, string formName, ErettsegiTantargyAdatokModel erettsegiTantargyAdat, string erettsegiSzintNev, string erettsegiTantargyNev)
{
//NOTE: Ha igen, megvizsgáljuk, hogy lehet-e adott szintű(Közép/Emelt) érettségit tenni a tantárgyból, ha nem, validációs hibát dobunk.
if (erettsegiTantargyAdat == null)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationNemLehetSzintuErettsegiVizsgatTenni, erettsegiTantargyNev, erettsegiSzintNev));
}
//NOTE: Ha igen, folytatjuk a további vizsgálatot.
else
{
PontszamValidation(modelStateDictionary, formName, IrasbeliPontszam, erettsegiTantargyAdat.IrasbeliMaxPontszam, erettsegiTantargyAdat.IsIrasbeli, ErettsegiEredmenyekResource.Irasbeli, erettsegiTantargyNev);
PontszamValidation(modelStateDictionary, formName, SzobeliPontszam, erettsegiTantargyAdat.SzobeliMaxPontszam, erettsegiTantargyAdat.IsSzobeli, ErettsegiEredmenyekResource.Szobeli, erettsegiTantargyNev);
PontszamValidation(modelStateDictionary, formName, GyakorlatiPontszam, erettsegiTantargyAdat.GyakorlatiMaxPontszam, erettsegiTantargyAdat.IsGyakorlati, ErettsegiEredmenyekResource.Gyakorlati, erettsegiTantargyNev);
var osszPontszam = 0;
osszPontszam += IrasbeliPontszam ?? 0;
osszPontszam += SzobeliPontszam ?? 0;
osszPontszam += GyakorlatiPontszam ?? 0;
//NOTE: Megvizsgáljuk, hogy nem adtak-e több pontot összesen, mint a lehetséges maximális.
if (erettsegiTantargyAdat.OsszMaxPontszam < osszPontszam)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationMaximumPontotLehetElerniOsszesenAzErettsegiVizsgan, erettsegiTantargyNev, erettsegiTantargyAdat.OsszMaxPontszam));
}
}
}
private void PontszamValidation(ModelStateDictionary modelStateDictionary, string formName, int? pontszam, int maxPontszam, bool isErettsegiTantargyTipus, string tipusNev, string erettsegiTantargyNev)
{
//NOTE: Megvizsgáljuk, hogy adtak-e pontot az adott típusból(Írásbeli/Szóbeli/Gyakorlati)
if (pontszam.HasValue)
{
//NOTE: Ha adtak pontot, megvizsgáljuk, hogy az adott típusból(Írásbeli/Szóbeli/Gyakorlati), szabad-e pontot adni. Ha nem, validációs hibát dobunk.
if (!isErettsegiTantargyTipus)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationNemLehetTipusuErettsegiVizsgatTenni, erettsegiTantargyNev, tipusNev));
}
//NOTE: Megvizsgáljuk, hogy nem adtak-e több pontot, mint az adott típusból(Írásbeli/Szóbeli/Gyakorlati) a lehetséges maximális.
else if (maxPontszam < pontszam.Value)
{
modelStateDictionary.AddModelError(formName, string.Format(ErettsegiEredmenyekResource.ValidationMaximumPontotLehetElerniTipusuErettsegiVizsgan, erettsegiTantargyNev, maxPontszam, tipusNev));
}
}
}
public ErettsegiEredmenyItemCo ConvertModelToCo(int intezmenyId, int tanevId)
{
ErettsegiEredmenyItemCo co = new ErettsegiEredmenyItemCo
{
IntezmenyId = intezmenyId,
TanevId = tanevId,
TanuloId = TanuloId
};
if (!IsNew)
{
co.Id = int.Parse(Id);
}
if (ErettsegiTantargyId.HasValue)
{
co.ErettsegiTantargyId = ErettsegiTantargyId.Value;
}
if (ErettsegiSzintId.HasValue)
{
co.ErettsegiSzintId = ErettsegiSzintId.Value;
}
if (ErettsegiTipusId.HasValue)
{
co.ErettsegiTipusId = ErettsegiTipusId.Value;
}
if (IrasbeliPontszam.HasValue)
{
co.IrasbeliPontszam = IrasbeliPontszam.Value;
}
if (SzobeliPontszam.HasValue)
{
co.SzobeliPontszam = SzobeliPontszam.Value;
}
if (GyakorlatiPontszam.HasValue)
{
co.GyakorlatiPontszam = GyakorlatiPontszam.Value;
}
co.Megjegyzes = Megjegyzes;
int osszPontszam = 0;
if (co.IrasbeliPontszam != null)
{
osszPontszam += co.IrasbeliPontszam.Value;
}
if (co.SzobeliPontszam != null)
{
osszPontszam += co.SzobeliPontszam.Value;
}
if (co.GyakorlatiPontszam != null)
{
osszPontszam += co.GyakorlatiPontszam.Value;
}
co.OsszPontszam = co.IrasbeliPontszam == null && co.SzobeliPontszam == null && co.GyakorlatiPontszam == null ? (int?)null : osszPontszam;
return co;
}
}
}

View file

@ -0,0 +1,36 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyekDetailGridModel : IKretaIdentity
{
public string ID { get; set; }
public int? ErettsegiTantargyId { get; set; }
public int? ErettsegiSzintId { get; set; }
public int? ErettsegiTipusId { get; set; }
public int? IrasbeliPontszam { get; set; }
public int? SzobeliPontszam { get; set; }
public int? GyakorlatiPontszam { get; set; }
public string Megjegyzes { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OsszPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string OsszPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szazalek), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Szazalek { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Erdemjegy), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Erdemjegy { get; set; }
public bool IsNew { get; set; }
}
}

View file

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyekGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.TanuloNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.AnyjaNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OktatasiAzonosito), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string OMAzonosito { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.MentettErettsegikSzama), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int MentettErettsegikSzama { get; set; }
public string SzuletesiIdoFormatted { get; set; }
[Display(Name = nameof(TanuloResource.SzuletesiIdo), ResourceType = typeof(TanuloResource))]
public DateTime? SzuletesiIdo { get; set; }
public int IrasbeliMaxPontszam { get; set; }
public int SzobeliMaxPontszam { get; set; }
public int GyakorlatiMaxPontszam { get; set; }
public bool? IsVegzos_BOOL { get; set; }
public List<SelectListItem> ErettsegiTantargyList { get; set; }
public List<SelectListItem> ErettsegiSzintList { get; set; }
public List<SelectListItem> ErettsegiTipusList { get; set; }
}
}

View file

@ -0,0 +1,94 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyekKeresoGridModel : IKretaIdentity
{
#region Fields
public const string ErettsegiEredmenyekExportAttributeId = nameof(ErettsegiEredmenyekExportAttributeId);
#endregion
public ErettsegiEredmenyekKeresoGridModel()
{
}
public ErettsegiEredmenyekKeresoGridModel(ErettsegiEredmenyItemCo co)
{
ID = co.Id.ToString();
Tanulo = co.Tanulo;
Osztaly = co.OsztalyNev;
OktatasiAzonosito = co.OktatasiAzonosito;
Tantargy = co.Tantargy;
SzintNev = co.Szint;
TipusNev = co.Tipus;
IrasbeliPontszam = co.IrasbeliPontszam;
SzobeliPontszam = co.SzobeliPontszam;
GyakorlatiPontszam = co.GyakorlatiPontszam;
OsszPontszam = co.OsszPontszam;
Szazalek = co.Szazalek;
Erdemjegy = co.Erdemjegy;
Megjegyzes = co.Megjegyzes;
}
public string ID { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.TanuloNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 00, nameof(ErettsegiEredmenyekResource.TanuloNeve), typeof(ErettsegiEredmenyekResource))]
public string Tanulo { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Osztaly), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 01, nameof(ErettsegiEredmenyekResource.Osztaly), typeof(ErettsegiEredmenyekResource))]
public string Osztaly { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OktatasiAzonosito), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 02, nameof(ErettsegiEredmenyekResource.OktatasiAzonosito), typeof(ErettsegiEredmenyekResource))]
public string OktatasiAzonosito { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tantargy), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 03, nameof(ErettsegiEredmenyekResource.Tantargy), typeof(ErettsegiEredmenyekResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szint), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 04, nameof(ErettsegiEredmenyekResource.Szint), typeof(ErettsegiEredmenyekResource))]
public string SzintNev { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tipus), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 05, nameof(ErettsegiEredmenyekResource.Tipus), typeof(ErettsegiEredmenyekResource))]
public string TipusNev { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.IrasbeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 06, nameof(ErettsegiEredmenyekResource.IrasbeliPontszam), typeof(ErettsegiEredmenyekResource))]
public int? IrasbeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.SzobeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 07, nameof(ErettsegiEredmenyekResource.SzobeliPontszam), typeof(ErettsegiEredmenyekResource))]
public int? SzobeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.GyakorlatiPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 08, nameof(ErettsegiEredmenyekResource.GyakorlatiPontszam), typeof(ErettsegiEredmenyekResource))]
public int? GyakorlatiPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OsszPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 09, nameof(ErettsegiEredmenyekResource.OsszPontszam), typeof(ErettsegiEredmenyekResource))]
public int? OsszPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szazalek), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 10, nameof(ErettsegiEredmenyekResource.Szazalek), typeof(ErettsegiEredmenyekResource))]
public int? Szazalek { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Erdemjegy), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 11, nameof(ErettsegiEredmenyekResource.Erdemjegy), typeof(ErettsegiEredmenyekResource))]
public int? Erdemjegy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Megjegyzes), ResourceType = typeof(ErettsegiEredmenyekResource))]
[SimpleExportColumn(ErettsegiEredmenyekExportAttributeId, 12, nameof(ErettsegiEredmenyekResource.Megjegyzes), typeof(ErettsegiEredmenyekResource))]
public string Megjegyzes { get; set; }
}
}

View file

@ -0,0 +1,77 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyekKeresoSearchModel
{
[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(ErettsegiEredmenyekResource.TanuloNeve), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Tanulo { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Osztaly), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? OsztalyId { get; set; }
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
public bool? IsKellKapcsolodoCsoportok { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OktatasiAzonosito), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string OktatasiAzonosito { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tantargy), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Tantargy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szint), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? SzintId { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Tipus), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? TipusId { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.IrasbeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? IrasbeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.SzobeliPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? SzobeliPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.GyakorlatiPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? GyakorlatiPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.OsszPontszam), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? OsszPontszam { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Szazalek), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? Szazalek { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Erdemjegy), ResourceType = typeof(ErettsegiEredmenyekResource))]
public int? Erdemjegy { get; set; }
[Display(Name = nameof(ErettsegiEredmenyekResource.Megjegyzes), ResourceType = typeof(ErettsegiEredmenyekResource))]
public string Megjegyzes { get; set; }
public static ErettsegiEredmenyekKeresoCO ConvertModelToCo(ErettsegiEredmenyekKeresoSearchModel model)
=> new ErettsegiEredmenyekKeresoCO
{
FeladatEllatasiHelyId = model.FeladatEllatasiHelyId,
FeladatKategoriaId = model.FeladatKategoriaId,
Tanulo = model.Tanulo,
OsztalyId = model.OsztalyId,
OktatasiAzonosito = model.OktatasiAzonosito,
Tantargy = model.Tantargy,
SzintId = model.SzintId,
TipusId = model.TipusId,
IrasbeliPontszam = model.IrasbeliPontszam,
SzobeliPontszam = model.SzobeliPontszam,
GyakorlatiPontszam = model.GyakorlatiPontszam,
OsszPontszam = model.OsszPontszam,
Szazalek = model.Szazalek,
Erdemjegy = model.Erdemjegy,
Megjegyzes = model.Megjegyzes
};
}
}

View file

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiEredmenyekModel
{
[Display(Name = nameof(CommonResource.Osztaly), ResourceType = typeof(CommonResource))]
public int? OsztalyId { get; set; }
public string OsztalyNev { get; set; }
public List<SelectListItem> OsztalyList { get; set; }
}
}

View file

@ -0,0 +1,23 @@
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class ErettsegiTantargyAdatokModel
{
public int ID { get; set; }
public bool IsSzobeli { get; set; }
public bool IsIrasbeli { get; set; }
public bool IsGyakorlati { get; set; }
public bool IsEmelt { get; set; }
public int IrasbeliMaxPontszam { get; set; }
public int SzobeliMaxPontszam { get; set; }
public int GyakorlatiMaxPontszam { get; set; }
public int OsszMaxPontszam { get; set; }
}
}

View file

@ -0,0 +1,8 @@
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class FeljegyzesDeleteOsztalyCsoportModel
{
public int FeljegyzesId { get; set; }
public int OsztalyCsoportId { get; set; }
}
}

View file

@ -0,0 +1,161 @@
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.TanuloErtekeles.Models
{
public class FeljegyzesKeresoGridModel : IKretaIdentity
{
#region Fields
public const string FaliujsagBejegyzesekExportAttrributeId = nameof(FaliujsagBejegyzesekExportAttrributeId);
public const string FeljegyzesekGridExportAttributeId = nameof(FeljegyzesekGridExportAttributeId);
public const string FeljegyzesekExportAttributeId = nameof(FeljegyzesekExportAttributeId);
public const string ElektronikusUzenetekGridExportAttributeId = nameof(ElektronikusUzenetekGridExportAttributeId);
public const string ElektronikusUzenetekExportAttributeId = nameof(ElektronikusUzenetekExportAttributeId);
#endregion
public FeljegyzesKeresoGridModel()
{
}
public FeljegyzesKeresoGridModel(FeljegyzesekCO itemCo)
{
ID = itemCo.ID.ToString();
FeljegyzoId = itemCo.TanarId;
OsztalyCsoportId = itemCo.OsztalyId;
Datum = itemCo.Datum;
Megjegyzes = itemCo.Megjegyzes;
Tartalom = itemCo.Tartalom;
TipusId = itemCo.Tipus;
TipusNev = itemCo.TipusNev;
TanuloNev = itemCo.TanuloNev;
FeljegyzoNev = itemCo.TanarNev;
FeljegyzoNevElotagNelkul = itemCo.TanarNevElotagNelkul;
OsztalyCsoport = itemCo.OsztalyNev;
Cim = itemCo.Cim;
FeljegyzesRogzitesenekDatuma = itemCo.FeljegyzesRogzitesenekDatuma;
}
public FeljegyzesKeresoGridModel(FeljegyzesekItemCo itemCo)
{
ID = itemCo.Id.ToString();
FeljegyzoId = itemCo.FeljegyzoId;
TanuloId = itemCo.TanuloId;
OsztalyCsoportId = itemCo.OsztalyCsoportId;
Datum = itemCo.Datum;
Megjegyzes = itemCo.Megjegyzes;
Tartalom = itemCo.Tartalom;
TipusId = itemCo.TipusId;
TipusNev = itemCo.TipusNev;
TanuloNev = itemCo.TanuloNev;
TanuloNevElotagNelkul = itemCo.TanuloNevElotagNelkul;
SzuletesiDatum = itemCo.TanuloSzuletesiDatum;
OktatasiAzonosito = itemCo.OktatasiAzonosito;
FeljegyzoNev = itemCo.FeljegyzoNev;
FeljegyzoNevElotagNelkul = itemCo.FeljegyzoNevElotagNelkul;
OsztalyCsoportNev = itemCo.OsztalyCsoportNev;
OsztalyNev = itemCo.OsztalyNev;
Cim = itemCo.Cim;
FeljegyzesRogzitesenekDatuma = itemCo.FeljegyzesRogzitesenekDatuma;
}
public string ID { get; set; }
public int FeljegyzoId { get; set; }
public int TanuloId { get; set; }
public int OsztalyCsoportId { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 02, nameof(FeljegyzesekResource.FeljegyzesDatuma), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 02, nameof(FeljegyzesekResource.FeljegyzesDatuma), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 05, nameof(FeljegyzesekResource.FeljegyzesDatuma), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 05, nameof(FeljegyzesekResource.FeljegyzesDatuma), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FaliujsagBejegyzesekExportAttrributeId, 01, nameof(FeljegyzesekResource.FeljegyzesDatuma), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? Datum { get; set; }
[SimpleExportColumn(FeljegyzesekExportAttributeId, 08, nameof(FeljegyzesekResource.Megjegyzes), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 08, nameof(FeljegyzesekResource.Megjegyzes), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
public string Megjegyzes { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 04, nameof(FeljegyzesekResource.FeljegyzesSzovege), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 04, nameof(FeljegyzesekResource.FeljegyzesSzovege), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 06, nameof(FeljegyzesekResource.FeljegyzesSzovege), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 06, nameof(FeljegyzesekResource.FeljegyzesSzovege), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FaliujsagBejegyzesekExportAttrributeId, 02, nameof(FeljegyzesekResource.FeljegyzesSzovege), typeof(FeljegyzesekResource), AsHtml = true)]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesSzovege), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
public int TipusId { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 03, nameof(FeljegyzesekResource.FeljegyzesTipusa), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 09, nameof(FeljegyzesekResource.FeljegyzesTipusa), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
public string TipusNev { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 00, nameof(FeljegyzesekResource.TanuloNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 00, nameof(FeljegyzesekResource.TanuloNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 00, nameof(FeljegyzesekResource.TanuloNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 00, nameof(FeljegyzesekResource.TanuloNeve), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNevElotagNelkul { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 07, nameof(FeljegyzesekResource.FeljegyzoNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 05, nameof(FeljegyzesekResource.FeljegyzoNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 08, nameof(FeljegyzesekResource.FeljegyzoNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 07, nameof(FeljegyzesekResource.FeljegyzoNeve), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FaliujsagBejegyzesekExportAttrributeId, 03, nameof(FeljegyzesekResource.FeljegyzoNeve), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzoNeve), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzoNeve), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNevElotagNelkul { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 01, nameof(FeljegyzesekResource.TanuloOsztalya), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 01, nameof(FeljegyzesekResource.TanuloOsztalya), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 01, nameof(FeljegyzesekResource.TanuloOsztalya), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 01, nameof(FeljegyzesekResource.TanuloOsztalya), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.TanuloOsztalya), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyNev { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 05, nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 04, nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), typeof(FeljegyzesekResource))]
//erre szükség van?
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 04, nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyCsoportNev { get; set; }
[SimpleExportColumn(FaliujsagBejegyzesekExportAttrributeId, 00, nameof(OsztalyCsoportResource.OsztalyCsoport), typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyCsoport { get; set; }
[SimpleExportColumn(ElektronikusUzenetekGridExportAttributeId, 03, nameof(FeljegyzesekResource.Cim), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))]
public string Cim { get; set; }
[SimpleExportColumn(FeljegyzesekExportAttributeId, 02, nameof(FeljegyzesekResource.SzuletesiIdo), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 02, nameof(FeljegyzesekResource.SzuletesiIdo), typeof(FeljegyzesekResource))]
public DateTime SzuletesiDatum { get; set; }
[SimpleExportColumn(FeljegyzesekExportAttributeId, 03, nameof(FeljegyzesekResource.OktatasiAzonosito), typeof(FeljegyzesekResource))]
[SimpleExportColumn(ElektronikusUzenetekExportAttributeId, 03, nameof(FeljegyzesekResource.OktatasiAzonosito), typeof(FeljegyzesekResource))]
public string OktatasiAzonosito { get; set; }
[SimpleExportColumn(FeljegyzesekGridExportAttributeId, 06, nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), typeof(FeljegyzesekResource))]
[SimpleExportColumn(FeljegyzesekExportAttributeId, 07, nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), typeof(FeljegyzesekResource))]
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime FeljegyzesRogzitesenekDatuma { get; set; }
}
}

View file

@ -0,0 +1,106 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class FeljegyzesKeresoModel
{
public FeljegyzesKeresoModel(string controllerName, string apiControllerName)
{
ControllerName = controllerName;
ApiControllerName = apiControllerName;
if (ClaimData.IsVegyes)
{
FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria);
}
}
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
public int? TanuloID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloOsztalya), ResourceType = typeof(FeljegyzesekResource))]
public int? OsztalyId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), ResourceType = typeof(FeljegyzesekResource))]
public int? OsztalyCsoportID { get; set; }
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
public bool IsKellKapcsolodoCsoportok { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzoPedagogus), ResourceType = typeof(FeljegyzesekResource))]
public int? FeljegyzoID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
public int? TipusID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? DatumTOL { get; set; }
public DateTime? DatumIG { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? RogzitesDatumTol { get; set; }
public DateTime? RogzitesDatumIg { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesSzovege), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzesSzovege { get; set; }
[Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))]
public string SzervezetNevSzoveg { get; set; }
[Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))]
public string SzervezetAzonositoSzoveg { get; set; }
public int? SzervezetTipusId { get; set; }
public int? SzervezetId { get; set; }
public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null;
public bool IsFromSzervezet => SzervezetTipusEnum.HasValue;
public string ControllerName { get; }
public string ApiControllerName { get; }
public FeljegyzesekKereseseCO ToCo()
{
var feljegyzesekKereseseCo = new FeljegyzesekKereseseCO
{
FeladatKategoriaId = FeladatKategoriaId,
TanuloId = TanuloID,
OsztalyId = OsztalyId,
OsztalyCsoportId = OsztalyCsoportID,
IsKellKapcsolodoCsoportok = IsKellKapcsolodoCsoportok,
FeljegyzoId = FeljegyzoID,
TipusId = TipusID,
DatumTol = DatumTOL,
DatumIg = DatumIG?.AddDays(1),
RogzitesDatumTol = RogzitesDatumTol,
RogzitesDatumIg = RogzitesDatumIg?.AddDays(1),
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
FeljegyzesSzovege = FeljegyzesSzovege,
SzervezetNev = SzervezetNevSzoveg,
SzervezetAzonosito = SzervezetAzonositoSzoveg,
SzervezetTipusId = SzervezetTipusId,
SzervezetId = SzervezetId
};
return feljegyzesekKereseseCo;
}
}
}

View file

@ -0,0 +1,67 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class FeljegyzesModel
{
public int? FeljegyzesId { get; set; }
public int? TanuloId { get; set; }
public int? FeljegyzoId { get; set; }
public int? OsztalyId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesDatuma), ResourceType = typeof(FeljegyzesekResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[DateRange(ErrorMessageResourceName = nameof(ErrorResource.FeljegyzesDatumaNemErvenyesDatum), ErrorMessageResourceType = typeof(ErrorResource))]
public DateTime? Datum { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesDatuma), ResourceType = typeof(FeljegyzesekResource))]
public string DatumString { get { return Datum.HasValue ? Datum.Value.ToShortDateString() : string.Empty; } }
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesSzovege), ResourceType = typeof(FeljegyzesekResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
public int? Tipus { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
public string TipusNev { get { return Tipus.HasValue ? Tipus.Value.GetDisplayName<EsemenyTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty; } }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzoNeve), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloOsztalya), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyNev { get; set; }
public DateTime TanevElsoTanitasiNap { get; set; }
public DateTime TanevUtolsoTanitasiNap { get; set; }
public DateTime FeljegyzesMinDate { get; set; }
public DateTime FeljegyzesMaxDate { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))]
public string Cim { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime FeljegyzesRogzitesenekDatuma { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzesRogzitesenekDatumaString { get { return FeljegyzesRogzitesenekDatuma.ToShortDateString(); } }
}
}

View file

@ -0,0 +1,30 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class InformaciokFeljegyzesekGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime Datum { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))]
public string Tipus_DNAME { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string Tanar { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string TanarElotagNelkul { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FeljegyzesSzovege), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))]
public string Cim { get; set; }
}
}

View file

@ -0,0 +1,37 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class NaploEllenorzesDetailGridModel : IKretaIdentity
{
public string ID { get; set; }
[KretaDisplayName(273)] //Dátum
public DateTime? Datum { get; set; }
[KretaDisplayName(483)] //Nap
public string HetNapja_DNAME { get; set; }
[KretaDisplayName(1685)] //Óra sorszám
public string Oraszam { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyNev { get; set; }
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
public string TargyNev { get; set; }
[KretaDisplayName(456)] //Pedagógus
public string TanarNev { get; set; }
[Display(Name = nameof(AdminisztracioResource.EgyediNap), ResourceType = typeof(AdminisztracioResource))]
public string IsEgyediNap_BNAME { get; set; }
public string OraKezdeteString { get; set; }
public string OraVegeString { get; set; }
}
}

View file

@ -0,0 +1,39 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class NaploEllenorzesGridModel : IKretaIdentity
{
public string ID { get; set; }
public string feladatKategoriaId { get; set; }
public string feladatEllatasiHelyId { get; set; }
[Display(Name = nameof(NaploEllenorzesResource.Osszegzes), ResourceType = typeof(NaploEllenorzesResource))]
public string Osszegzes { get; set; }
public int OsztalyID { get; set; }
public int NemNaplozottOrakSzama { get; set; }
public int HetSorszam { get; set; }
public int? EllenorzesId { get; set; }
[Required(ErrorMessageResourceName = nameof(CommonResource.Required), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(NaploEllenorzesResource.Ellenorizte), ResourceType = typeof(NaploEllenorzesResource))]
public string Ellenorizte { get; set; }
public int? EllenorizteId { get; set; }
[Display(Name = nameof(NaploEllenorzesResource.EllenorzesDatuma), ResourceType = typeof(NaploEllenorzesResource))]
public DateTime EllenorzesDatuma { get; set; }
[Display(Name = nameof(NaploEllenorzesResource.EllenorzesMegjegyzes), ResourceType = typeof(NaploEllenorzesResource))]
public string EllenorzesMegjegyzes { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class NaploEllenorzesKeresoModel
{
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaId { get; set; }
[KretaDisplayName(330)] //Osztály
public int? OsztalyId { get; set; }
[KretaDisplayName(350)] //Osztály
public int HetSorszama { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyId { get; set; }
}
}

View file

@ -0,0 +1,30 @@
using System;
using Kreta.BusinessLogic.HelperClasses;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class NaploEllenorzesModel
{
public int? ID { get; set; }
public string EllenorzesMegjegyzes { get; set; }
public int HetSorszama { get; set; }
public int? OsztalyId { get; set; }
public DateTime EllenorzesDatuma { get; set; }
public NaploEllenorzesCO ConvertModelToCo()
{
return new NaploEllenorzesCO()
{
ID = ID,
EllenorzesDatuma = EllenorzesDatuma,
HetSzama = HetSorszama,
OsztalyId = OsztalyId,
EllenorzesMegjegyzes = EllenorzesMegjegyzes,
};
}
}
}

View file

@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace Kreta.Web.Areas.TanuloErtekeles.Models
{
public class OsztalyzatokRequestModel
{
public List<int> OktatasNevelesiFeladatIdList { get; set; }
public bool IsOsztalyAtlagMegjelenik { get; set; }
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesDetailGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatumaShort), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime Datum { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.RogzitesDatumaShort), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime RogzitesDatum { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Ertekelo), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekeloNyomtatasiNev { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public int TipusId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public string TipusId_DNAME { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,18 @@
using System;
using Kreta.BusinessLogic.Interfaces;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesDetailModel : IKretaIdentity
{
public string ID { get; set; }
public string NamePrefix { get; set; }
public DateTime? Datum { get; set; }
public int FeladatKategoriaId { get; set; }
public int OktatasiNevelesiFeladatId { get; set; }
}
}

View file

@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.Enums;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesEditModel
{
public int IdEdit { get; set; }
public int TanuloIdEdit { get; set; }
public DateTime DatumMinValueEdit { get; set; }
public int? OsztalyCsoportIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Ertekelo), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekeloNyomtatasiNevEdit { get; set; }
[KretaRequired]
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? DatumEdit { get; set; }
[KretaRequired]
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public int? TipusIdEdit { get; set; }
public List<SelectListItem> TipusList { get; set; }
public List<SelectListItem> OsztalyzatList { get; set; }
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
public bool IsNyelviesitesActive => NemzetiDokumentumNyelvek.Any();
public bool IsNemetNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet);
public bool IsHorvatNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat);
public bool IsRomanNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.roman);
public bool IsSzerbNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb);
}
}

View file

@ -0,0 +1,54 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzuletesiDatum), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? SzuletesiDatum { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Szept_09), ResourceType = typeof(TanuloErtekelesResource))]
public string Szeptember { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Okt_10), ResourceType = typeof(TanuloErtekelesResource))]
public string Oktober { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Nov_11), ResourceType = typeof(TanuloErtekelesResource))]
public string November { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Dec_12), ResourceType = typeof(TanuloErtekelesResource))]
public string December { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Januar_I), ResourceType = typeof(TanuloErtekelesResource))]
public string JanuarI { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Felev_I), ResourceType = typeof(TanuloErtekelesResource))]
public string I { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Januar_II), ResourceType = typeof(TanuloErtekelesResource))]
public string JanuarII { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Feb_02), ResourceType = typeof(TanuloErtekelesResource))]
public string Februar { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Marc_03), ResourceType = typeof(TanuloErtekelesResource))]
public string Marcius { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Apr_04), ResourceType = typeof(TanuloErtekelesResource))]
public string Aprilis { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Maj_05), ResourceType = typeof(TanuloErtekelesResource))]
public string Majus { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Jun_06), ResourceType = typeof(TanuloErtekelesResource))]
public string Junius { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Felev_II), ResourceType = typeof(TanuloErtekelesResource))]
public string II { get; set; }
}
}

View file

@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Classes;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesListModel
{
public string NamePrefix { get; set; }
public int? TipusId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatumaRequired), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? Datum { get; set; }
public DateTime DatumMinValue { get; set; }
public int? OsztalyCsoportId { get; set; }
public List<ExtendedSelectListItem> OsztalyzatList { get; set; }
public List<ExtendedSelectListItem> MentesitettOsztalyzatList { get; set; }
public List<SelectListItem> TipusList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportListByFelhasznaloId { get; set; }
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
public bool IsNyelviesitesActive => NemzetiDokumentumNyelvek.Any();
public bool IsNemetNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet);
public bool IsHorvatNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat);
public bool IsRomanNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.roman);
public bool IsSzerbNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb);
}
}

View file

@ -0,0 +1,22 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesListSaveModel
{
[KretaRequired]
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public int? TipusId { get; set; }
[KretaRequired]
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? Datum { get; set; }
public DateTime DatumMinValue { get; set; }
public int? OsztalyCsoportId { get; set; }
}
}

View file

@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesNyelvHelperModel
{
public int TipusId { get; set; }
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
}
}

View file

@ -0,0 +1,25 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class BaseTanuloErtekelesStartPopupModel
{
[KretaRequired]
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipusa), ResourceType = typeof(TanuloErtekelesResource))]
public int? TipusId { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoportRequired), ResourceType = typeof(OsztalyCsoportResource))]
public int? OsztalyCsoportId { get; set; }
public List<SelectListItem> TipusList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportListByFelhasznaloId { get; set; }
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesDetailGridModel : BaseTanuloErtekelesDetailGridModel
{
[Display(Name = nameof(TanuloErtekelesResource.Ertekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesText { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.Mod), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesModId_DNAME { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.TemaFeljegyzes), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTema { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,11 @@
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesDetailModel : BaseTanuloErtekelesDetailModel
{
public int TantargyId { get; set; }
public bool IsJegyekAtlagaMegjelenik { get; set; }
public bool HasFotargyAltargy { get; set; }
}
}

View file

@ -0,0 +1,111 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Logic;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesEditModel : BaseTanuloErtekelesEditModel
{
public int? TantargyIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesModja), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekelesModIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemaja), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaNemetEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaHorvatEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaRomanEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaSzerbEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.OsztalyzatRequired), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekelesOsztalyzatIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesRequired), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegNemetEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegHorvatEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegRomanEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekelesSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegSzerbEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegRovidNev), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegRovidNevEdit { get; set; }
[KretaRange(0, 100, ErrorMessageResourceName = nameof(TanuloErtekelesResource.SzazalekosErtekNincsAMegengedettTartomanyban), ErrorMessageResourceType = typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzazalekosErtekelesRequired), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekelesSzazalekEdit { get; set; }
public List<SelectListItem> ErtekelesModList { get; set; }
public bool IsErtekelesOsztalyzatIdSelected => ErtekelesOsztalyzatIdEdit.IsEntityId();
public bool IsErtekelesSzovegSelected => !string.IsNullOrWhiteSpace(ErtekelesSzovegEdit);
public bool IsErtekelesSzazalekSelected => ErtekelesSzazalekEdit.HasValue;
public bool IsFromSzervezet { get; set; }
public TanuloErtekelesCo ToCo()
{
int tipusId = TipusIdEdit.Value;
var tanuloErtekelesCo = new TanuloErtekelesCo
{
Id = IdEdit,
TipusId = tipusId,
Datum = DatumEdit.Value,
OsztalyCsoportId = OsztalyCsoportIdEdit.IsEntityId() ? OsztalyCsoportIdEdit : null,
TanuloId = TanuloIdEdit,
TantargyId = TantargyIdEdit.IsEntityId() ? TantargyIdEdit : null,
ErtekelesOsztalyzatId = ErtekelesOsztalyzatIdEdit.IsEntityId() ? ErtekelesOsztalyzatIdEdit : null,
ErtekelesSzazalek = ErtekelesSzazalekEdit,
ErtekelesModId = ErtekelesModIdEdit.IsEntityId() ? ErtekelesModIdEdit : null
};
var model = new ErtekelesNyelvHelperModel
{
TipusId = tipusId,
NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
ErtekelesSzoveg = ErtekelesSzovegEdit,
ErtekelesSzovegNemet = ErtekelesSzovegNemetEdit,
ErtekelesSzovegHorvat = ErtekelesSzovegHorvatEdit,
ErtekelesSzovegRoman = ErtekelesSzovegRomanEdit,
ErtekelesSzovegSzerb = ErtekelesSzovegSzerbEdit,
ErtekelesSzovegRovidNev = ErtekelesSzovegRovidNevEdit,
ErtekelesTema = ErtekelesTemaEdit,
ErtekelesTemaNemet = ErtekelesTemaNemetEdit,
ErtekelesTemaHorvat = ErtekelesTemaHorvatEdit,
ErtekelesTemaRoman = ErtekelesTemaRomanEdit,
ErtekelesTemaSzerb = ErtekelesTemaSzerbEdit
};
TanuloErtekelesWebLogic.SetErtekelesNyelviesitesProperties(tanuloErtekelesCo, model);
return tanuloErtekelesCo;
}
}
}

View file

@ -0,0 +1,53 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesGridModel : BaseTanuloErtekelesGridModel
{
[Display(Name = nameof(TanuloErtekelesResource.Atlag), ResourceType = typeof(TanuloErtekelesResource))]
public double Atlag { get; set; }
public bool ErtkelesMentesseg { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Osztalyzat), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesOsztalyzatId { get; set; }
public bool SzovegesenSemErtekelheto { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzoveg { get; set; }
public string ErtekelesSzovegNemet { get; set; }
public string ErtekelesSzovegHorvat { get; set; }
public string ErtekelesSzovegRoman { get; set; }
public string ErtekelesSzovegSzerb { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Rov), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegRovidNev { get; set; }
[KretaRange(0, 100, ErrorMessageResourceName = nameof(TanuloErtekelesResource.SzazalekosErtekNincsAMegengedettTartomanyban), ErrorMessageResourceType = typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzazalekosErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public int ErtekelesSzazalek { get; set; }
public string TanuloId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Nev), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Nev), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloNevElotagNelkul { get; set; }
public int FeladatKategoiaId { get; set; }
public string OsztalyNev { get; set; }
public string AnyjaNeve { get; set; }
public string SzuletesiIdoFormatted { get; set; }
}
}

View file

@ -0,0 +1,71 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesListModel : BaseTanuloErtekelesListModel
{
public bool IsNaploErtekeles { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesModjaRequired), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekelesModId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemaja), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTema { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemaja), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaText { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaNemet { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaHorvat { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaRoman { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTemajaSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaSzerb { get; set; }
public List<SelectListItem> TemaList { get; set; }
public bool IsJegyekAtlagaMegjelenik { get; set; }
public int? FoglalkozasId { get; set; }
public int? TantargyId { get; set; }
public int ErtekelesKeresoAdatTipus { get; set; }
public List<SelectListItem> ErtekelesModList { get; set; }
public List<ErtekelesFoglalkozasItemModel> ErtekelesFoglalkozasItemModelList { get; set; }
public List<ErtekelesFoglalkozasItemModel> ErtekelesFotargyiFoglalkozasItemModelList { get; set; }
public List<int> EgyszerAdhatoErtekelesTipusIds { get; set; }
public int? OsztalyCsoportIdSearch { get; set; }
public int? TantargyIdSearch { get; set; }
public int? TanarIdSearch { get; set; }
public List<int> LezartOsztalyCsoportok { get; set; }
public bool IsGridAutoBinded { get; set; } = true;
public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null;
public bool IsFromSzervezet => SzervezetTipusEnum.HasValue;
public string ControllerName { get; set; } = Constants.Controllers.TanuloErtekelesKereso;
public string ApiControllerName { get; set; } = Constants.ApiControllers.TanuloErtekelesKeresoApi;
}
}

View file

@ -0,0 +1,158 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Logic;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesListSaveModel : BaseTanuloErtekelesListSaveModel
{
public ErtekelesListSaveModel()
{
ErtekelesListSaveModelItemList = new List<ErtekelesListSaveModelItem>();
}
public int? TantargyId { get; set; }
public int? ErtekelesModId { get; set; }
//TODO: Újra kell gondolni az értékléseknél, az authorization-önös validációkat! Ezek ahhoz kellettek!
//public bool? IsNaploErtekeles { get; set; }
//public int? ErtekelesKeresoAdatTipus { get; set; }
//public int? ErtekelesKeresoSzuro { get; set; }
public List<ErtekelesListSaveModelItem> ErtekelesListSaveModelItemList { get; set; }
public class ErtekelesListSaveModelItem
{
public int TanuloId { get; set; }
public string TanuloSzuletesiNev { get; set; }
public int? ErtekelesOsztalyzatId { get; set; }
public int? SpecialisErtekelesOsztalyzatId { get; set; }
public bool IsSpecialisErtekelesOsztalyzatIdSelected => SpecialisErtekelesOsztalyzatId.IsEntityId();
public string ErtekelesSzoveg { get; set; }
public string ErtekelesSzovegNemet { get; set; }
public string ErtekelesSzovegHorvat { get; set; }
public string ErtekelesSzovegRoman { get; set; }
public string ErtekelesSzovegSzerb { get; set; }
public string ErtekelesSzovegRovidNev { get; set; }
public int? ErtekelesSzazalek { get; set; }
public string ErtekelesTema { get; set; }
public string ErtekelesTemaText { get; set; }
public string ErtekelesTemaNemet { get; set; }
public string ErtekelesTemaHorvat { get; set; }
public string ErtekelesTemaRoman { get; set; }
public string ErtekelesTemaSzerb { get; set; }
}
public List<TanuloErtekelesCo> ToCoList()
{
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
foreach (ErtekelesListSaveModelItem item in ErtekelesListSaveModelItemList)
{
int? ertekelesOsztalyzatId = item.ErtekelesOsztalyzatId;
string ertekelesSzoveg = item.ErtekelesSzoveg;
string ertekelesSzovegRovidNev = item.ErtekelesSzovegRovidNev;
int? ertekelesSzazalek = item.ErtekelesSzazalek;
string ertekelesTema = !string.IsNullOrWhiteSpace(item.ErtekelesTema) ? item.ErtekelesTema : !string.IsNullOrWhiteSpace(item.ErtekelesTemaText) ? item.ErtekelesTemaText : string.Empty;
if (item.IsSpecialisErtekelesOsztalyzatIdSelected)
{
//NOTE: SpecialisErtekelesOsztalyzatId.Value nem lehet null, mert az IsSpecialisErtekelesOsztalyzatIdSelected-ban vizsgáljuk!
switch (item.SpecialisErtekelesOsztalyzatId.Value)
{
case (int)SpecialisErtekelesOsztalyzatEnum.NemIrt:
ertekelesOsztalyzatId = null;
ertekelesSzoveg = TanuloErtekelesResource.NemIrt;
ertekelesSzovegRovidNev = TanuloErtekelesResource.NemIrtRovidNev;
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Dicseret:
ertekelesOsztalyzatId = (int)OsztalyzatTipusEnum.jeles_5_;
ertekelesTema = TanuloErtekelesResource.Dicseret;
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Kituno:
ertekelesOsztalyzatId = (int)OsztalyzatTipusEnum.jeles_5_;
ertekelesTema = TanuloErtekelesResource.Kituno;
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve:
ertekelesOsztalyzatId = null;
ertekelesSzoveg = TanuloErtekelesResource.Mentesitve;
ertekelesSzovegRovidNev = TanuloErtekelesResource.MentesitveRovidNev;
break;
}
}
int tipusId = TipusId.Value;
var tanuloErtekelesCo = new TanuloErtekelesCo
{
TipusId = tipusId,
Datum = Datum.Value,
OsztalyCsoportId = OsztalyCsoportId.IsEntityId() ? OsztalyCsoportId : null,
TanuloId = item.TanuloId,
TanuloSzuletesiNev = item.TanuloSzuletesiNev,
TantargyId = TantargyId.IsEntityId() ? TantargyId : null,
ErtekelesOsztalyzatId = ertekelesOsztalyzatId.IsEntityId() ? ertekelesOsztalyzatId : null,
SpecialisErtekelesOsztalyzatId = item.SpecialisErtekelesOsztalyzatId.IsEntityId() ? item.SpecialisErtekelesOsztalyzatId : null,
ErtekelesSzazalek = ertekelesSzazalek,
ErtekelesModId = ErtekelesModId.IsEntityId() ? ErtekelesModId : null
};
var model = new ErtekelesNyelvHelperModel
{
TipusId = tipusId,
NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
ErtekelesSzoveg = ertekelesSzoveg,
ErtekelesSzovegNemet = item.ErtekelesSzovegNemet,
ErtekelesSzovegHorvat = item.ErtekelesSzovegHorvat,
ErtekelesSzovegRoman = item.ErtekelesSzovegRoman,
ErtekelesSzovegSzerb = item.ErtekelesSzovegSzerb,
ErtekelesSzovegRovidNev = ertekelesSzovegRovidNev,
ErtekelesTema = ertekelesTema,
ErtekelesTemaNemet = item.ErtekelesTemaNemet,
ErtekelesTemaHorvat = item.ErtekelesTemaHorvat,
ErtekelesTemaRoman = item.ErtekelesTemaRoman,
ErtekelesTemaSzerb = item.ErtekelesTemaSzerb
};
TanuloErtekelesWebLogic.SetErtekelesNyelviesitesProperties(tanuloErtekelesCo, model);
//NOTE: Nem adjuk hozzá azt a tanuló értékelést, amit módosítottak, de végül visszavonták.
// Ilyenkor feljön a dirty row miatt, de nekünk nem kell velük foglalkozni, nem mentjük el.
// Illetve előfordulhat, hogy a formázott szöveges értékelések módosítása miatt üres string lesz, azt sem adjuk hozzá!
if (tanuloErtekelesCo.ErtekelesOsztalyzatId.IsEntityId() ||
!string.IsNullOrWhiteSpace(CommonUtils.RemoveAllHtmlTags(tanuloErtekelesCo.ErtekelesSzoveg)) ||
tanuloErtekelesCo.ErtekelesSzazalek.HasValue)
{
//TODO: hiba ha beírok valamit egy pl évvégisnek, rámentek, akkor dobja a validációs hibát, kitörlöm, adok egy olyannak aminek nincs évvégi és újrarámentek, akkor megmarad az elsőnek is az értékelése(legalábbis a szöveges biztos)
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
}
}
return tanuloErtekelesCoList;
}
}
}

View file

@ -0,0 +1,27 @@
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesNyelvHelperModel : BaseTanuloErtekelesNyelvHelperModel
{
public string ErtekelesSzoveg { get; set; }
public string ErtekelesSzovegNemet { get; set; }
public string ErtekelesSzovegHorvat { get; set; }
public string ErtekelesSzovegRoman { get; set; }
public string ErtekelesSzovegSzerb { get; set; }
public string ErtekelesSzovegRovidNev { get; set; }
public string ErtekelesTema { get; set; }
public string ErtekelesTemaNemet { get; set; }
public string ErtekelesTemaHorvat { get; set; }
public string ErtekelesTemaRoman { get; set; }
public string ErtekelesTemaSzerb { get; set; }
}
}

View file

@ -0,0 +1,45 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class ErtekelesStartPopupModel : BaseTanuloErtekelesStartPopupModel
{
public int? ErtekelesKeresoAdatTipus { get; set; }
public int? ErtekelesKeresoSzuro { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.FoglalkozasRequired), ResourceType = typeof(TanuloErtekelesResource))]
public int? FoglalkozasId { get; set; }
[Display(Name = nameof(TantargyResource.FotargyRequired), ResourceType = typeof(TantargyResource))]
public int? FotargyFoglalkozasId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.TantargyRequired), ResourceType = typeof(TanuloErtekelesResource))]
public int? TantargyId { get; set; }
public List<SelectListItem> ErtekelesKeresoSzuroList { get; set; }
public List<SelectListItem> FoglalkozasList { get; set; }
public List<ErtekelesFoglalkozasItemModel> ErtekelesFoglalkozasItemModelList { get; set; }
public List<SelectListItem> FotargyiFoglalkozasList { get; set; }
public List<ErtekelesFoglalkozasItemModel> ErtekelesFotargyiFoglalkozasItemModelList { get; set; }
public List<SelectListItem> TantargyList { get; set; }
public bool IsFromSzervezet { get; set; }
}
public class ErtekelesFoglalkozasItemModel
{
public int? FoglalkozasId { get; set; }
public int? OsztalyCsoportId { get; set; }
public int? TantargyId { get; set; }
}
}

View file

@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomDetailGridModel : BaseTanuloErtekelesDetailGridModel
{
[Display(Name = nameof(TanuloErtekelesResource.Magatartas), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasText { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.Szorgalom), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomText { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,13 @@
using Kreta.Enums;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomDetailModel : BaseTanuloErtekelesDetailModel
{
public int EllatottFeladatTipusId { get; set; }
public bool IsAmiMagatartasErtekelheto { get; set; }
public bool IsMagatartasVisible => EllatottFeladatTipusId != (int)OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas || IsAmiMagatartasErtekelheto;
}
}

View file

@ -0,0 +1,154 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Areas.TanuloErtekeles.Logic;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomEditModel : BaseTanuloErtekelesEditModel
{
[Display(Name = nameof(TanuloErtekelesResource.MagatartasOsztalyzat), ResourceType = typeof(TanuloErtekelesResource))]
public int? MagatartasOsztalyzatIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomOsztalyzat), ResourceType = typeof(TanuloErtekelesResource))]
public int? SzorgalomOsztalyzatIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegesErtekelesNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegNemetEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegesErtekelesHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegHorvatEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegesErtekelesRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegRomanEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegesErtekelesSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegSzerbEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegesErtekelesNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegNemetEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegesErtekelesHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegHorvatEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegesErtekelesRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegRomanEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegesErtekelesSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegSzerbEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasSzovegRovidNev), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegRovidNevEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomSzovegRovidNev), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegRovidNevEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.MagatartasErtek), ResourceType = typeof(TanuloErtekelesResource))]
public int? MagatartasErtekIdEdit { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzorgalomErtek), ResourceType = typeof(TanuloErtekelesResource))]
public int? SzorgalomErtekIdEdit { get; set; }
public List<SelectListItem> MagatartasErtekList { get; set; }
public List<SelectListItem> SzorgalomErtekList { get; set; }
public bool IsMagatartasSzorgalomOsztalyzatIdSelected => MagatartasOsztalyzatIdEdit.IsEntityId() || SzorgalomOsztalyzatIdEdit.IsEntityId();
public bool IsMagatartasSzorgalomSzovegSelected => !string.IsNullOrWhiteSpace(MagatartasSzovegEdit) || !string.IsNullOrWhiteSpace(SzorgalomSzovegEdit);
public bool IsMagatartasSzorgalomErtekSelected => MagatartasErtekIdEdit.IsEntityId() || SzorgalomErtekIdEdit.IsEntityId();
public int EllatottFeladatTipusId { get; set; }
public bool IsAmiMagatartasErtekelheto { get; set; }
public bool IsMagatartasVisible => EllatottFeladatTipusId != (int)OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas || IsAmiMagatartasErtekelheto;
public TanuloErtekelesCo ToCo()
{
int tipusId = TipusIdEdit.Value;
var tanuloErtekelesCo = new TanuloErtekelesCo
{
Id = IdEdit,
TipusId = tipusId,
Datum = DatumEdit.Value,
OsztalyCsoportId = OsztalyCsoportIdEdit.IsEntityId() ? OsztalyCsoportIdEdit : null,
TanuloId = TanuloIdEdit,
IsMagatartasSzorgalom = true,
MagatartasOsztalyzatId = MagatartasOsztalyzatIdEdit.IsEntityId() ? MagatartasOsztalyzatIdEdit : null,
MagatartasErtekId = MagatartasErtekIdEdit.IsEntityId() ? MagatartasErtekIdEdit : null,
SzorgalomOsztalyzatId = SzorgalomOsztalyzatIdEdit.IsEntityId() ? SzorgalomOsztalyzatIdEdit : null,
SzorgalomErtekId = SzorgalomErtekIdEdit.IsEntityId() ? SzorgalomErtekIdEdit : null
};
var model = new MagatartasSzorgalomNyelvHelperModel
{
TipusId = tipusId,
NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
MagatartasSzoveg = MagatartasSzovegEdit,
MagatartasSzovegNemet = MagatartasSzovegNemetEdit,
MagatartasSzovegHorvat = MagatartasSzovegHorvatEdit,
MagatartasSzovegRoman = MagatartasSzovegRomanEdit,
MagatartasSzovegSzerb = MagatartasSzovegSzerbEdit,
MagatartasSzovegRovidNev = MagatartasSzovegRovidNevEdit,
SzorgalomSzoveg = SzorgalomSzovegEdit,
SzorgalomSzovegNemet = SzorgalomSzovegNemetEdit,
SzorgalomSzovegHorvat = SzorgalomSzovegHorvatEdit,
SzorgalomSzovegRoman = SzorgalomSzovegRomanEdit,
SzorgalomSzovegSzerb = SzorgalomSzovegSzerbEdit,
SzorgalomSzovegRovidNev = SzorgalomSzovegRovidNevEdit
};
TanuloErtekelesWebLogic.SetMagatartasSzorgalomNyelviesitesProperties(tanuloErtekelesCo, model);
string magatartasSzoveg = MagatartasSzovegEdit;
if (!string.IsNullOrWhiteSpace(magatartasSzoveg))
{
string magatartasSzovegFormazott = RichTextLogic.GetLegalHtmlString(magatartasSzoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.MagatartasSzovegFormazott = magatartasSzovegFormazott;
tanuloErtekelesCo.MagatartasSzoveg = CommonUtils.RemoveAllHtmlTags(magatartasSzovegFormazott);
tanuloErtekelesCo.MagatartasSzovegRovidNev = MagatartasSzovegRovidNevEdit;
}
else
{
tanuloErtekelesCo.MagatartasSzovegFormazott = null;
tanuloErtekelesCo.MagatartasSzoveg = null;
tanuloErtekelesCo.MagatartasSzovegRovidNev = null;
}
string szorgalomSzoveg = SzorgalomSzovegEdit;
if (!string.IsNullOrWhiteSpace(szorgalomSzoveg))
{
string szorgalomSzovegFormazott = RichTextLogic.GetLegalHtmlString(szorgalomSzoveg, RichTextLogic.LegalFastReportHtmlTagList, true);
tanuloErtekelesCo.SzorgalomSzovegFormazott = szorgalomSzovegFormazott;
tanuloErtekelesCo.SzorgalomSzoveg = CommonUtils.RemoveAllHtmlTags(szorgalomSzovegFormazott);
tanuloErtekelesCo.SzorgalomSzovegRovidNev = SzorgalomSzovegRovidNevEdit;
}
else
{
tanuloErtekelesCo.SzorgalomSzovegFormazott = null;
tanuloErtekelesCo.SzorgalomSzoveg = null;
tanuloErtekelesCo.SzorgalomSzovegRovidNev = null;
}
return tanuloErtekelesCo;
}
}
}

View file

@ -0,0 +1,60 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomGridModel : BaseTanuloErtekelesGridModel
{
public string MagatartasOsztalyzatId { get; set; }
public string SzorgalomOsztalyzatId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzoveg { get; set; }
public string MagatartasSzovegNemet { get; set; }
public string MagatartasSzovegHorvat { get; set; }
public string MagatartasSzovegRoman { get; set; }
public string MagatartasSzovegSzerb { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzoveg { get; set; }
public string SzorgalomSzovegNemet { get; set; }
public string SzorgalomSzovegHorvat { get; set; }
public string SzorgalomSzovegRoman { get; set; }
public string SzorgalomSzovegSzerb { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Rov), ResourceType = typeof(TanuloErtekelesResource))]
public string MagatartasSzovegRovidNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Rov), ResourceType = typeof(TanuloErtekelesResource))]
public string SzorgalomSzovegRovidNev { get; set; }
public string MagatartasErtekId { get; set; }
public string SzorgalomErtekId { get; set; }
public string TanuloId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Nev), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Nev), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloNevElotagNelkul { get; set; }
public int FeladatKategoiaId { get; set; }
public string OsztalyNev { get; set; }
public string AnyjaNeve { get; set; }
public string SzuletesiIdoFormatted { get; set; }
}
}

View file

@ -0,0 +1,23 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.ComboBox;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomListModel : BaseTanuloErtekelesListModel
{
public int MagatartasSzorgalomKeresoAdatTipus { get; set; }
public List<SelectListItem> MagatartasErtekList { get; set; }
public List<SelectListItem> SzorgalomErtekList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportListByFoglalkozas { get; set; }
public int? OsztalyCsoportIdSearch { get; set; }
public bool IsAmiMagatartasErtekelheto { get; set; }
public List<int> LezartOsztalyCsoportok { get; set; }
}
}

View file

@ -0,0 +1,112 @@
using System.Collections.Generic;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Utils;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Web.Areas.TanuloErtekeles.Logic;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomListSaveModel : BaseTanuloErtekelesListSaveModel
{
public MagatartasSzorgalomListSaveModel()
{
MagatartasSzorgalomListSaveModelItemList = new List<MagatartasSzorgalomListSaveModelItem>();
}
public List<MagatartasSzorgalomListSaveModelItem> MagatartasSzorgalomListSaveModelItemList { get; set; }
public class MagatartasSzorgalomListSaveModelItem
{
public int TanuloId { get; set; }
public int? MagatartasOsztalyzatId { get; set; }
public int? SzorgalomOsztalyzatId { get; set; }
public string MagatartasSzoveg { get; set; }
public string MagatartasSzovegNemet { get; set; }
public string MagatartasSzovegHorvat { get; set; }
public string MagatartasSzovegRoman { get; set; }
public string MagatartasSzovegSzerb { get; set; }
public string MagatartasSzovegRovidNev { get; set; }
public string SzorgalomSzoveg { get; set; }
public string SzorgalomSzovegNemet { get; set; }
public string SzorgalomSzovegHorvat { get; set; }
public string SzorgalomSzovegRoman { get; set; }
public string SzorgalomSzovegSzerb { get; set; }
public string SzorgalomSzovegRovidNev { get; set; }
public int? MagatartasErtekId { get; set; }
public int? SzorgalomErtekId { get; set; }
}
public List<TanuloErtekelesCo> ToCoList()
{
var tanuloErtekelesCoList = new List<TanuloErtekelesCo>();
foreach (MagatartasSzorgalomListSaveModelItem item in MagatartasSzorgalomListSaveModelItemList)
{
int tipusId = TipusId.Value;
var tanuloErtekelesCo = new TanuloErtekelesCo
{
TipusId = tipusId,
Datum = Datum.Value,
OsztalyCsoportId = OsztalyCsoportId.IsEntityId() ? OsztalyCsoportId : null,
TanuloId = item.TanuloId,
IsMagatartasSzorgalom = true,
MagatartasOsztalyzatId = item.MagatartasOsztalyzatId.IsEntityId() ? item.MagatartasOsztalyzatId : null,
MagatartasErtekId = item.MagatartasErtekId.IsEntityId() ? item.MagatartasErtekId : null,
SzorgalomOsztalyzatId = item.SzorgalomOsztalyzatId.IsEntityId() ? item.SzorgalomOsztalyzatId : null,
SzorgalomErtekId = item.SzorgalomErtekId.IsEntityId() ? item.SzorgalomErtekId : null
};
var model = new MagatartasSzorgalomNyelvHelperModel
{
TipusId = tipusId,
NemzetiDokumentumNyelvek = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek),
MagatartasSzoveg = item.MagatartasSzoveg,
MagatartasSzovegNemet = item.MagatartasSzovegNemet,
MagatartasSzovegHorvat = item.MagatartasSzovegHorvat,
MagatartasSzovegRoman = item.MagatartasSzovegRoman,
MagatartasSzovegSzerb = item.MagatartasSzovegSzerb,
MagatartasSzovegRovidNev = item.MagatartasSzovegRovidNev,
SzorgalomSzoveg = item.SzorgalomSzoveg,
SzorgalomSzovegNemet = item.SzorgalomSzovegNemet,
SzorgalomSzovegHorvat = item.SzorgalomSzovegHorvat,
SzorgalomSzovegRoman = item.SzorgalomSzovegRoman,
SzorgalomSzovegSzerb = item.SzorgalomSzovegSzerb,
SzorgalomSzovegRovidNev = item.SzorgalomSzovegRovidNev,
};
TanuloErtekelesWebLogic.SetMagatartasSzorgalomNyelviesitesProperties(tanuloErtekelesCo, model);
//NOTE: Nem adjuk hozzá azt a tanuló értékelést, amit módosítottak, de végül visszavonták.
// Ilyenkor feljön a dirty row miatt, de nekünk nem kell velük foglalkozni, nem mentjük el.
// Illetve előfordulhat, hogy a formázott szöveges értékelések módosítása miatt üres string lesz, azt sem adjuk hozzá!
if (tanuloErtekelesCo.MagatartasOsztalyzatId.IsEntityId() || tanuloErtekelesCo.SzorgalomOsztalyzatId.IsEntityId() ||
!string.IsNullOrWhiteSpace(CommonUtils.RemoveAllHtmlTags(tanuloErtekelesCo.MagatartasSzoveg)) || !string.IsNullOrWhiteSpace(CommonUtils.RemoveAllHtmlTags(tanuloErtekelesCo.SzorgalomSzoveg)) ||
tanuloErtekelesCo.MagatartasErtekId.IsEntityId() || tanuloErtekelesCo.SzorgalomErtekId.IsEntityId())
{
//TODO: hiba ha beírok valamit egy pl évvégisnek, rámentek, akkor dobja a validációs hibát, kitörlöm, adok egy olyannak aminek nincs évvégi és újrarámentek, akkor megmarad az elsőnek is az értékelése(legalábbis a szöveges biztos)
tanuloErtekelesCoList.Add(tanuloErtekelesCo);
}
}
return tanuloErtekelesCoList;
}
}
}

View file

@ -0,0 +1,29 @@
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomNyelvHelperModel : BaseTanuloErtekelesNyelvHelperModel
{
public string MagatartasSzoveg { get; set; }
public string MagatartasSzovegNemet { get; set; }
public string MagatartasSzovegHorvat { get; set; }
public string MagatartasSzovegRoman { get; set; }
public string MagatartasSzovegSzerb { get; set; }
public string MagatartasSzovegRovidNev { get; set; }
public string SzorgalomSzoveg { get; set; }
public string SzorgalomSzovegNemet { get; set; }
public string SzorgalomSzovegHorvat { get; set; }
public string SzorgalomSzovegRoman { get; set; }
public string SzorgalomSzovegSzerb { get; set; }
public string SzorgalomSzovegRovidNev { get; set; }
}
}

View file

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.ComboBox;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class MagatartasSzorgalomStartPopupModel : BaseTanuloErtekelesStartPopupModel
{
public int? MagatartasSzorgalomKeresoAdatTipus { get; set; }
public int? MagatartasSzorgalomKeresoSzuro { get; set; }
public List<SelectListItem> MagatartasSzorgalomKeresoSzuroList { get; set; }
public IEnumerable<ExtraDataComboBoxListItem> OsztalyCsoportListByFoglalkozas { get; set; }
}
}

View file

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.Web.Models;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class OsztalyzatokFeleviEvvegiErtesitoModel
{
public OsztalyzatokFeleviEvvegiErtesitoModel() { ZaradekModel = new ZaradekModel(); }
public int? OsztalyId { get; set; }
public List<SelectListItem> OsztalyList { get; set; }
public ZaradekModel ZaradekModel { get; set; }
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesByTanuloDetailGridModel : BaseTanuloErtekelesDetailGridModel
{
[Display(Name = nameof(TanuloErtekelesResource.Ertekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloErtekelesText { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.Mod), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesModId_DNAME { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.TemaFeljegyzes), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTema { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,15 @@
using Kreta.BusinessLogic.Security;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesByTanuloDetailModel : BaseTanuloErtekelesDetailModel
{
public int TanuloId { get; set; }
public bool IsTanuloView => ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.Tanulo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.Gondviselo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.CsokkentettGondviselo.ClaimValue);
}
}

View file

@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesByTanuloGridModel : BaseTanuloErtekelesGridModel
{
[Display(Name = nameof(TanuloErtekelesResource.Atlag), ResourceType = typeof(TanuloErtekelesResource))]
public double Atlag { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
public string TantargyNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Osztalyatlag), ResourceType = typeof(TanuloErtekelesResource))]
public double OsztalyAtlag { get; set; }
}
}

View file

@ -0,0 +1,23 @@
using Kreta.BusinessLogic.Security;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesByTanuloListModel : BaseTanuloErtekelesListModel
{
public int? TanuloId { get; set; }
public bool GridUseToolBar { get; set; } = true;
public bool IsJegyekAtlagaMegjelenik { get; set; }
public bool IsOsztalyAtlagMegjelenik { get; set; }
public bool IsTanuloView => ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.Tanulo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.Gondviselo.ClaimValue) ||
ClaimManager.HasPackage(KretaClaimPackages.CsokkentettGondviselo.ClaimValue);
public int OktatasiNevelesiFeladatId { get; set; }
}
}

View file

@ -0,0 +1,41 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesKeresoInfoModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyCsoportNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
public string TantargyNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekeloNeve), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekeloNyomtatasiNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Ertekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloErtekelesText { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public string TipusNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Mod), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesModNev { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public string Datum { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.RogzitesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public string RogzitesDatum { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.TemaFeljegyzes), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTema { get; set; }
}
}

View file

@ -0,0 +1,68 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Core.CustomAttributes;
using Kreta.Resources;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesListGridModel : IKretaIdentity
{
#region Fields
/// <summary>
/// Technikai paraméter(ek) a reflection-ös exporthoz.
/// </summary>
public const string TanuloErtekelesExportAttributeId = nameof(TanuloErtekelesExportAttributeId);
#endregion Fields
public string ID { get; set; }
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 00, nameof(TanuloResource.Nev), typeof(TanuloResource))]
[Display(Name = nameof(TanuloResource.Nev), ResourceType = typeof(TanuloResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(TanuloResource.Nev), ResourceType = typeof(TanuloResource))]
public string TanuloNevElotagNelkul { get; set; }
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 08, nameof(TanuloErtekelesResource.BejegyzesDatumaShort), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatumaShort), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime Datum { get; set; }
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 09, nameof(TanuloErtekelesResource.RogzitesDatumaShort), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.RogzitesDatumaShort), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime RogzitesDatum { get; set; }
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 03, nameof(TanuloErtekelesResource.Ertekelo), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Ertekelo), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekeloNyomtatasiNev { get; set; } = string.Empty;
[Display(Name = nameof(TanuloErtekelesResource.Ertekelo), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekeloNyomtatasiNevElotagNelkul { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 01, nameof(OsztalyCsoportResource.OsztalyCsoport), typeof(OsztalyCsoportResource))]
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public string OsztalyCsoportNev { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 02, nameof(TanuloErtekelesResource.Tantargy), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
public string TantargyNev { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 04, nameof(TanuloErtekelesResource.Tipus), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Tipus), ResourceType = typeof(TanuloErtekelesResource))]
public string TipusId_DNAME { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 06, nameof(TanuloErtekelesResource.Mod), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Mod), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesModId_DNAME { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 05, nameof(TanuloErtekelesResource.Tema), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Tema), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTema { get; set; } = string.Empty;
[SimpleExportColumn(TanuloErtekelesExportAttributeId, 07, nameof(TanuloErtekelesResource.Ertekeles), typeof(TanuloErtekelesResource))]
[Display(Name = nameof(TanuloErtekelesResource.Ertekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string TanuloErtekelesText { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,128 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.TanuloErtekeles.Models.TanuloErtekeles
{
public class TanuloErtekelesListModel
{
public TanuloErtekelesListModel()
{
if (ClaimData.IsVegyes)
{
FeladatKategoriaIdSearch = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria);
}
}
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? FeladatKategoriaIdSearch { get; set; }
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
public int? TanuloIdSearch { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public int? OsztalyCsoportIdSearch { get; set; }
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
public bool KellKapcsolodoCsoportokSearch { get; set; }
[Display(Name = nameof(OsztalyCsoportResource.CsoportTipus), ResourceType = typeof(OsztalyCsoportResource))]
public int? CsoportTipusIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
public int? TantargyIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekeloNeve), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekeloIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Osztalyzat), ResourceType = typeof(TanuloErtekelesResource))]
public int? OsztalyzatIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesModja), ResourceType = typeof(TanuloErtekelesResource))]
public int? ErtekelesModIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipusa), ResourceType = typeof(TanuloErtekelesResource))]
public int? TipusIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tema), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesTemaSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SpecialisOsztalyzat), ResourceType = typeof(TanuloErtekelesResource))]
public int? SpecialisOsztalyzatIdSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.BejegyzesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? DatumTolSearch { get; set; }
public DateTime? DatumIgSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.RogzitesDatuma), ResourceType = typeof(TanuloErtekelesResource))]
public DateTime? RogzitesDatumTolSearch { get; set; }
public DateTime? RogzitesDatumIgSearch { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.SzovegesErtekeles), ResourceType = typeof(TanuloErtekelesResource))]
public string ErtekelesSzovegSearch { get; set; }
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
public int? FeladatEllatasiHelyIdSearch { get; set; }
[Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))]
public string SzervezetNevSzovegSearch { get; set; }
[Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))]
public string SzervezetAzonositoSzovegSearch { get; set; }
public int? SzervezetTipusIdSearch { get; set; }
public int? SzervezetIdSearch { get; set; }
public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null;
public bool IsFromSzervezet => SzervezetTipusEnum.HasValue;
public string ControllerName { get; set; } = Constants.Controllers.TanuloErtekelesKereso;
public string ApiControllerName { get; set; } = Constants.ApiControllers.TanuloErtekelesKeresoApi;
public bool isSzakkepzo { get; set; }
public TanuloErtekelesListCo ToCo()
{
var tanuloErtekelesListCo = new TanuloErtekelesListCo
{
TanevId = ClaimData.SelectedTanevID.Value,
TanuloIds = TanuloIdSearch.IsEntityId() ? new List<int> { TanuloIdSearch.Value } : null,
OsztalyCsoportId = OsztalyCsoportIdSearch,
IsKellKapcsolodoCsoportok = KellKapcsolodoCsoportokSearch,
CsoportTipusId = CsoportTipusIdSearch,
TantargyUids = TantargyIdSearch.HasValue ? new List<string> { TantargyIdSearch.ToString() } : null,
ErtekeloId = ErtekeloIdSearch,
OsztalyzatId = OsztalyzatIdSearch,
ErtekelesModId = ErtekelesModIdSearch,
TipusId = TipusIdSearch,
DatumTol = DatumTolSearch,
DatumIg = DatumIgSearch,
RogzitesDatumTol = RogzitesDatumTolSearch,
RogzitesDatumIg = RogzitesDatumIgSearch,
ErtekelesSzoveg = ErtekelesSzovegSearch,
ErtekelesTema = ErtekelesTemaSearch,
SpecialisOsztalyzatId = SpecialisOsztalyzatIdSearch,
FeladatEllatasiHelyId = FeladatEllatasiHelyIdSearch,
FeladatKategoriaId = FeladatKategoriaIdSearch,
SzervezetNev = SzervezetNevSzovegSearch,
SzervezetAzonosito = SzervezetAzonositoSzovegSearch,
SzervezetTipusId = SzervezetTipusIdSearch,
SzervezetId = SzervezetIdSearch
};
return tanuloErtekelesListCo;
}
}
}

View file

@ -0,0 +1,18 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.TanuloErtekeles
{
public class TanuloErtekelesAreaRegistration : AreaRegistration
{
public override string AreaName => "TanuloErtekeles";
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"TanuloErtekeles_default",
"TanuloErtekeles/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View file

@ -0,0 +1,50 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.TanuloErtekeles.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@model DolgozatokAtlagaGridModel
<script>
var DetailGridHelper = (function () {
var detailGridHelper = function () { };
detailGridHelper.setAthuzas = function () {
var gridName = "BeirasokReszletekGrid_" + "@Model.ID";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
return detailGridHelper;
})();
</script>
<div id="partialDetailGrid_@Model.RowId">
@(
Html.KretaGrid<DolgozatReszletekGridModel>(
"DolgozatReszletekGrid_" + Model.RowId,
new GridApiUrl(Constants.ApiControllers.DolgozatokApi, "GetDolgozatReszletekGrid", new Dictionary<string, string> {
{ "osztalyCsoportId", Model.OsztalyCsoportId },
{ "tantargyId", Model.TantargyId },
{ "ertekelesTemaja", Model.ErtekelesTema },
{ "datum", Model.Datum.ToString() } }),
allowExcelExport: true,
excelExportFileName: string.Format("{0}_{1}_{2}_Export", Model.OsztalyCsoport, Model.TantargyNev, Model.ErtekelesTema)
)
.Columns(columns =>
{
columns.Bound(c => c.NyomtatasiNev).Width("20%");
columns.Bound(c => c.SzuletesiDatum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("15%");
columns.Bound(c => c.Erdemjegy);
columns.Bound(c => c.ErtekelesDatum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("15%");
columns.Bound(c => c.RogzitesDatum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("15%");
})
)
</div>

View file

@ -0,0 +1,69 @@
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.TanuloErtekeles.Models
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@using Kreta.BusinessLogic.Classes
@model DolgozatokAtlagaSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "DolgozatokAtlagaGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoport, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanarAltalErtekelhetoCsoportok" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.Tantargy, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanarDolgozatTantargyak", }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaMultiSelectFor(x => x.ErtekelesModList, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetErtekelesModList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.ErtekelesTemaja).RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(model => model.AtlagTol, model => model.AtlagIg)
@Html.KretaRangeNumericSideBar(model => model.Erdemjegy5Tol, model => model.Erdemjegy5Ig, precision: 0)
@Html.KretaRangeNumericSideBar(model => model.Erdemjegy4Tol, model => model.Erdemjegy4Ig, precision: 0)
@Html.KretaRangeNumericSideBar(model => model.Erdemjegy3Tol, model => model.Erdemjegy3Ig, precision: 0)
@Html.KretaRangeNumericSideBar(model => model.Erdemjegy2Tol, model => model.Erdemjegy2Ig, precision: 0)
@Html.KretaRangeNumericSideBar(model => model.Erdemjegy1Tol, model => model.Erdemjegy1Ig, precision: 0)
@Html.KretaRangeNumericSideBar(model => model.NemIrtDolgozatotTol, model => model.NemIrtDolgozatotIg)
}
}
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
}
<div>
@{
var clientTemplateUrl = Url.Action("DolgozatokReszletekGrid", "Dolgozatok", new { area = "TanuloErtekeles" });
}
@(
Html.KretaGrid<DolgozatokAtlagaGridModel>(
name: "DolgozatokAtlagaGrid",
getUrl: new GridApiUrl(Constants.ApiControllers.DolgozatokApi, "GetDolgozatokAtlagaGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
clientTemplate: "dolgozatokDetailGrid-template",
clientTemplateUrl: clientTemplateUrl,
clientTemplateWholeDataRow: true,
allowExcelExport: true,
allowScrolling: true,
excelExportFileName: "DolgozatokExport",
sort: sort => sort.Add(s => s.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.ErtekelesTema);
columns.Bound(c => c.ErtekelesModId_DNAME);
columns.Bound(c => c.Datum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.Atlag).Width("10%");
columns.Bound(c => c.IrtakDolgozatotArany).Width("15%");
columns.Bound(c => c.Erdemjegy5).Width("2%");
columns.Bound(c => c.Erdemjegy4).Width("2%");
columns.Bound(c => c.Erdemjegy3).Width("2%");
columns.Bound(c => c.Erdemjegy2).Width("2%");
columns.Bound(c => c.Erdemjegy1).Width("2%");
columns.Bound(c => c.NemIrtakDolgozatot).ClientTemplate("#: NemIrtakDolgozatot < 0 ? '0' : NemIrtakDolgozatot #").Width("2%");
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(true)
)
</div>
@Html.KretaGridTemplate("dolgozatokDetailGrid-template")

View file

@ -0,0 +1,157 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Areas.TanuloErtekeles.Controllers
@using Kreta.Web.Areas.TanuloErtekeles.Models
@using Kreta.Web.Helpers.Grid
@model FeljegyzesKeresoModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
var gridName = ElektronikusUzenetKeresoController.GridName;
var searchFormName = ElektronikusUzenetKeresoController.SearchFormName;
var infoPopUpId = ElektronikusUzenetKeresoController.InfoPopUpId;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.DatumTOL, x => x.DatumIG)
@Html.KretaComboBoxFor(x => x.TanuloID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanuloComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeljegyzoID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAlkalmazottComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
if (Model.IsFromSzervezet)
{
@Html.KretaTextBoxFor(x => x.SzervezetNevSzoveg).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzervezetAzonositoSzoveg).RenderSearchPanelSideBar()
}
@Html.HiddenFor(x => x.SzervezetId)
@Html.HiddenFor(x => x.TipusID)
}
}
@{
List<RowFunction> conditionalRowFunctions = new List<RowFunction>
{
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "FeljegyzesKeresoHelper.openElektronikusUzenetKeresoInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok },
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "FeljegyzesKeresoHelper.deleteElektronikusUzenetConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "FeljegyzesKeresoHelper.getExport" }
};
if (!Model.IsFromSzervezet)
{
nestedExportFunctions.Add(new FunctionCommand { Name = FeljegyzesekResource.ElektronikusUzenetExport, ClientAction = "FeljegyzesKeresoHelper.exportElektronikusUzenetek" });
}
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = TanuloResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
};
}
<div>
@(
Html.KretaGrid<FeljegyzesKeresoGridModel>(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetKeresoGrid"),
allowScrolling: true,
dataParameterFunction: searchFormName,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNevElotagNelkul).Width("15%").SetDisplayProperty("TanuloNev");
columns.Bound(c => c.OsztalyNev).Width("10%").SetDisplayProperty("OsztalyNev");
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Cim).Width("15%").SetDisplayPropertyWithToolip("Cim").Sortable(false);
columns.Bound(c => c.Tartalom).SetDisplayPropertyWithToolip("Tartalom").Sortable(false);
columns.Bound(c => c.FeljegyzoNevElotagNelkul).Width("15%").SetDisplayProperty("FeljegyzoNev");
})
.ConditionalRowFunction(Html, conditionalRowFunctions, "FeljegyzesKeresoHelper.setRowEditing")
.FunctionCommand(Html, functions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var FeljegyzesKeresoHelper = (function() {
var feljegyzesKeresoHelper = function() {};
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var infoPopUpId = "@infoPopUpId";
var url = {
OpenElektronikusUzenetKeresoInfoPopUp: "@Url.Action("OpenElektronikusUzenetKeresoInfoPopUp", Model.ControllerName, new { area = "TanuloErtekeles" })",
GetExportElektronikusUzenetek: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExportElektronikusUzenetek" })",
GetExportElektronikusUzenetekGrid: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExportElektronikusUzenetekGrid" })",
DeleteElektronikusUzenet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteElektronikusUzenet" })"
}
feljegyzesKeresoHelper.setRowEditing = function(rowData) {
return rowData.FeljegyzoNev != "@Html.Raw(Kreta.Core.Constants.SpecialUserName.Rendszeruzenet)";
}
feljegyzesKeresoHelper.openElektronikusUzenetKeresoInfoPopUp = function (rowData) {
var postData = { feljegyzesId: rowData.ID, tanuloId: rowData.TanuloId, osztalyNev: rowData.OsztalyNev };
AjaxHelper.DoGet(url.OpenElektronikusUzenetKeresoInfoPopUp, postData, popUpInfoWindow);
}
feljegyzesKeresoHelper.elektronikusUzenetKeresoInfoPopUpCancel = function () {
KretaWindowHelper.destroyWindow(infoPopUpId);
}
feljegyzesKeresoHelper.deleteElektronikusUzenetConfirmWindow = function(rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteElektronikusUzenet, rowData);
}
feljegyzesKeresoHelper.exportElektronikusUzenetek = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExportElektronikusUzenetek, searchFormName);
}
feljegyzesKeresoHelper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExportElektronikusUzenetekGrid, searchFormName);
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(1733))"; /*Feljegyzés adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteElektronikusUzenet(data) {
var model = {
FeljegyzesId: data.ID,
TanuloId: data.TanuloId
};
AjaxHelper.DoPost(url.DeleteElektronikusUzenet, model, deleteSuccessCallBack, errorCallBack);
}
function deleteSuccessCallBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function errorCallBack() {
var content = "@(StringResourcesUtil.GetString(367 /*Hiba*/))";
KretaWindowHelper.feedbackWindow("@(StringResourcesUtil.GetString(367))" /*Hiba*/, content, true, KretaWindowHelper.destroyAllWindow);
}
return feljegyzesKeresoHelper;
})();
</script>

View file

@ -0,0 +1,86 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.TanuloErtekeles.Models
@model ErettsegiEredmenyekGridModel
@{
var gridName = "ErettsegiEredmenyekDetailGrid_" + Model.ID;
var formName = "ErettsegiEredmenyekDetailForm_" + Model.ID;
}
@{
var grid = Html.KretaGrid<ErettsegiEredmenyekDetailGridModel>(
gridName,
new GridApiUrl("ErettsegiEredmenyekApi", "GetErettsegiEredmenyekDetailGrid", new Dictionary<string, string> { { "tanuloId", Model.ID } }),
allowFilterable: false,
allowPaging: false,
pageSizes: null,
dataBoundAdditionalFunction: "ErettsegiEredmenyekDetailHelper.dataBoundAdditionalFunction('" + Model.ID + "')"
)
.ComboBoxForColumn(Html, ErettsegiEredmenyekResource.Tantargy, Model.ErettsegiTantargyList, m => m.ErettsegiTantargyId, classList: new List<string> { "gridInputMaxWidth" }, width: 350)
.ComboBoxForColumn(Html, ErettsegiEredmenyekResource.Szint, Model.ErettsegiSzintList, m => m.ErettsegiSzintId, classList: new List<string> { "gridInputMaxWidth" }, width: 150)
.ComboBoxForColumn(Html, ErettsegiEredmenyekResource.Tipus, Model.ErettsegiTipusList, m => m.ErettsegiTipusId, classList: new List<string> { "gridInputMaxWidth" }, width: 150)
.NumericBoxForColumn(Html, ErettsegiEredmenyekResource.IrasbeliPontszam, m => m.IrasbeliPontszam, 0, Model.IrasbeliMaxPontszam, 0, 100)
.NumericBoxForColumn(Html, ErettsegiEredmenyekResource.SzobeliPontszam, m => m.SzobeliPontszam, 0, Model.SzobeliMaxPontszam, 0, 100)
.NumericBoxForColumn(Html, ErettsegiEredmenyekResource.GyakorlatiPontszam, m => m.GyakorlatiPontszam, 0, Model.GyakorlatiMaxPontszam, 0, 100)
.TextBoxForColumn(Html, ErettsegiEredmenyekResource.Megjegyzes, m => m.Megjegyzes, new Dictionary<string, object> { { "maxlength", 1000 } }, 150)
.Columns(columns =>
{
columns.Bound(c => c.OsszPontszam).HtmlAttributes(new { @class = "kozepre" }).HeaderHtmlAttributes(new { @class = "kozepre" }).Width(100);
columns.Bound(c => c.Szazalek).HtmlAttributes(new { @class = "kozepre" }).HeaderHtmlAttributes(new { @class = "kozepre" }).Width(60).Sortable(false);
columns.Bound(c => c.Erdemjegy).HtmlAttributes(new { @class = "kozepre" }).HeaderHtmlAttributes(new { @class = "kozepre" }).Width(75).Sortable(false);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction {Name = CommonResource.Torles, ClientAction = "function(e) { ErettsegiEredmenyekDetailHelper.delete(e, '" + Model.ID + "') }", IconEnum = GridRowFunctionIconEnum.Torles}
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand {Name = CommonResource.Uj, ClientAction = "function() { ErettsegiEredmenyekDetailHelper.new('" + Model.ID + "') }"}
});
}
<div id="partialDetailGrid_@Model.ID">
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(m => m.ID)
}
@(grid)
</div>
<script type="text/javascript">
var ErettsegiEredmenyekDetailHelper = (function () {
var erettsegiEredmenyekDetailHelper = function () { };
var detailGridPrefix = "ErettsegiEredmenyekDetailGrid_";
var detailFormPrefix = "ErettsegiEredmenyekDetailForm_";
erettsegiEredmenyekDetailHelper.dataBoundAdditionalFunction = function (modelId) {
var detailGridName = detailGridPrefix + modelId;
var detailFormName = detailFormPrefix + modelId;
ErettsegiEredmenyekHelper.addDetailGridDataToVariable(detailGridName, detailFormName);
ErettsegiEredmenyekHelper.setDetailControlsEvents(detailGridName, modelId);
}
erettsegiEredmenyekDetailHelper.delete = function (e, modelId) {
var detailGridName = detailGridPrefix + modelId;
ErettsegiEredmenyekHelper.deleteErettsegiEredmenyConfirmWindow(detailGridName, e);
}
erettsegiEredmenyekDetailHelper.new = function (modelId) {
var detailGridName = detailGridPrefix + modelId;
ErettsegiEredmenyekHelper.addNewErettsegiEredmeny(detailGridName, modelId);
}
erettsegiEredmenyekDetailHelper.save = function (modelId) {
var detailGridName = detailGridPrefix + modelId;
var detailFormName = detailFormPrefix + modelId;
ErettsegiEredmenyekHelper.saveErettsegiEredmenyek(detailGridName, detailFormName);
}
return erettsegiEredmenyekDetailHelper;
})();
</script>

View file

@ -0,0 +1,419 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums
@using Kreta.Web.Areas.TanuloErtekeles.Controllers
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.TanuloErtekeles.Models
@model ErettsegiEredmenyekModel
@{
string startPopupFormName = ErettsegiEredmenyekController.StartPopupFormName;
string startPopupId = ErettsegiEredmenyekController.StartPopupId;
string gridName = ErettsegiEredmenyekController.GridName;
}
@{
var functionCommandList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Mentes, ClientAction = "ErettsegiEredmenyekDetailHelper.save" },
new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "ErettsegiEredmenyekHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed elolrol" },
new FunctionCommand { Classes = "infoText clearFunctionCommand" }
};
var grid = Html.KretaGrid<ErettsegiEredmenyekGridModel>
(
gridName,
new GridApiUrl("ErettsegiEredmenyekApi", "GetErettsegiEredmenyekGrid"),
dataBoundAdditionalFunction: "ErettsegiEredmenyekHelper.dataBoundAdditionalFunction();",
clientTemplate: "detailGrid-template",
clientTemplateUrl: Url.Action("ErettsegiEredmenyekDetailGrid", "ErettsegiEredmenyek", new { area = "TanuloErtekeles", osztalyCsoportId = Model.OsztalyId }),
clientTemplateWholeDataRow: true,
readDataFunction: "ErettsegiEredmenyekHelper.getStartModelData",
allowFilterable: false,
allowPaging: false,
allowScrolling: true,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.Columns(columns =>
{
columns.Bound(m => m.ID).Hidden();
columns.Bound(m => m.IsVegzos_BOOL).Hidden();
columns.Bound(m => m.TanuloNev).HeaderHtmlAttributes(new { @class = "nevWidth" }).ClientTemplate(@"
<a class='kendoTooltip erettsegiEredmenyekTanuloNevKendoTooltip gridLinkButton defaultCursor'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
columns.Bound(m => m.SzuletesiIdo).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(m => m.AnyjaNeve);
columns.Bound(m => m.OMAzonosito);
columns.Bound(m => m.MentettErettsegikSzama);
})
.FunctionCommand(Html, functionCommandList);
}
<div>
@(grid)
</div>
<div>
@Html.KretaGridTemplate("detailGrid-template")
</div>
@Html.KretaTooltipTemplate("kendoTooltip-erettsegiEredmenyekTanuloNevKendoTooltip",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
<script type="text/javascript">
var ErettsegiEredmenyekHelper = (function () {
var erettsegiEredmenyekHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
erettsegiEredmenyekHelper.startModel = null;
var openedDetailGridData = [];
var gridName = "@gridName";
var tempRowId = 0;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", "ErettsegiEredmenyek", new {area = "TanuloErtekeles" })",
SaveErettsegiEredmenyList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ErettsegiEredmenyekApi", action = "SaveErettsegiEredmenyList" })",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "ErettsegiEredmenyekApi", action = "DeleteErettsegiEredmeny" })"
};
erettsegiEredmenyekHelper.dataBoundAdditionalFunction = function () {
var tanuloNevKendoTooltip = $(".erettsegiEredmenyekTanuloNevKendoTooltip");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-erettsegiEredmenyekTanuloNevKendoTooltip");
}
erettsegiEredmenyekHelper.getStartModelData = function () {
return KretaGridHelper.getSearchParameterData(erettsegiEredmenyekHelper.startModel);
}
erettsegiEredmenyekHelper.openStartWindow = function () {
if (!CommonUtils.isNull(erettsegiEredmenyekHelper.startModel)) {
erettsegiEredmenyekHelper.startModel = null;
KretaGridHelper.clearGridData(gridName);
}
$(".infoText").html("");
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(ErettsegiEredmenyekResource.ErettsegiEredmenyek)";
config.maxWidth = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
erettsegiEredmenyekHelper.startTovabb = function() {
var form = $("#" + startPopupFormName);
if (form.valid()) {
erettsegiEredmenyekHelper.startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
if (!CommonUtils.isNullOrEmpty(erettsegiEredmenyekHelper.startModel.OsztalyId)) {
var osztalyText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyId").text();
if (!CommonUtils.isNullOrEmpty(osztalyText)) {
$(".infoText").html(kendo.htmlEncode(osztalyText) + " @(ErettsegiEredmenyekResource.ErettsegiEredmenyek)".toLowerCase());
}
erettsegiEredmenyekHelper.refreshGrid();
KretaWindowHelper.destroyWindow(startPopupId);
}
}
}
erettsegiEredmenyekHelper.setDetailControlsEvents = function (currentDetailGridName, tanuloId) {
var dataSource = KretaGridHelper.getKendoGridData(currentDetailGridName).dataSource.data();
var detailGridSelector = "#" + currentDetailGridName;
var data = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
var totalNumber = data.length;
var isVegzos;
for (var i = 0; i < totalNumber; i++) {
if (data[i].ID === tanuloId) {
isVegzos = data[i].IsVegzos_BOOL;
break;
}
}
$(detailGridSelector).off("change");
$.each(dataSource, function (index, value) {
$(detailGridSelector).on("change", "input[id^='" + currentDetailGridName + "_ErettsegiTantargyId_" + value.ID + "']", function () {
setControlsEnabilityAndDefaultValue(currentDetailGridName, value, isVegzos);
});
});
$.each(dataSource, function (index, value) {
if (value.IsNew) {
setControlsEnabilityAndDefaultValue(currentDetailGridName, value, isVegzos);
}
});
}
function setControlsEnabilityAndDefaultValue(currentDetailGridName, value, isVegzos) {
var detailGridSelector = "#" + currentDetailGridName;
var erettsegiTantargyIdKendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(currentDetailGridName + "_ErettsegiTantargyId_" + value.ID);
var erettsegiSzintIdKendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(currentDetailGridName + "_ErettsegiSzintId_" + value.ID);
var erettsegiTipusIdKendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(currentDetailGridName + "_ErettsegiTipusId_" + value.ID);
var irasbeliPontszamKendoNumericBox = KretaNumericHelper.getKendoNumericTextBoxData(currentDetailGridName + "_IrasbeliPontszam_" + value.ID);
var szobeliPontszamKendoNumericBox = KretaNumericHelper.getKendoNumericTextBoxData(currentDetailGridName + "_SzobeliPontszam_" + value.ID);
var gyakorlatiPontszamKendoNumericBox = KretaNumericHelper.getKendoNumericTextBoxData(currentDetailGridName + "_GyakorlatiPontszam_" + value.ID);
var megjegyzesTextBox = $(detailGridSelector + "_Megjegyzes_" + value.ID);
if (!CommonUtils.isUndefined(erettsegiTantargyIdKendoComboBox) &&
!CommonUtils.isUndefined(erettsegiSzintIdKendoComboBox) &&
!CommonUtils.isUndefined(erettsegiTipusIdKendoComboBox) &&
!CommonUtils.isUndefined(irasbeliPontszamKendoNumericBox) &&
!CommonUtils.isUndefined(szobeliPontszamKendoNumericBox) &&
!CommonUtils.isUndefined(gyakorlatiPontszamKendoNumericBox) &&
!CommonUtils.isUndefined(megjegyzesTextBox)) {
var erettsegiTantargyId = erettsegiTantargyIdKendoComboBox.value();
if (!CommonUtils.isNullOrEmpty(erettsegiTantargyId)) {
erettsegiSzintIdKendoComboBox.enable(true);
erettsegiTipusIdKendoComboBox.enable(true);
irasbeliPontszamKendoNumericBox.enable(true);
szobeliPontszamKendoNumericBox.enable(true);
gyakorlatiPontszamKendoNumericBox.enable(true);
megjegyzesTextBox.prop('disabled', false);
if (value.IsNew) {
erettsegiSzintIdKendoComboBox.value("@((int)ErettsegiSzintEnum.KozepSzint)");
if (isVegzos) {
erettsegiTipusIdKendoComboBox.value("@((int)ErettsegiTipusEnum.Rendes)");
} else {
erettsegiTipusIdKendoComboBox.value("@((int)ErettsegiTipusEnum.Elorehozott)");
}
}
} else {
erettsegiSzintIdKendoComboBox.enable(false);
erettsegiSzintIdKendoComboBox.value("");
erettsegiTipusIdKendoComboBox.enable(false);
erettsegiTipusIdKendoComboBox.value("");
irasbeliPontszamKendoNumericBox.enable(false);
irasbeliPontszamKendoNumericBox.value("");
szobeliPontszamKendoNumericBox.enable(false);
szobeliPontszamKendoNumericBox.value("");
gyakorlatiPontszamKendoNumericBox.enable(false);
gyakorlatiPontszamKendoNumericBox.value("");
megjegyzesTextBox.prop('disabled', true);
megjegyzesTextBox.val("");
}
}
}
erettsegiEredmenyekHelper.addDetailGridDataToVariable = function (currentDetailGridName, formName) {
if (!openedDetailGridData.hasValue("gridName", currentDetailGridName)) {
openedDetailGridData.push({ gridName: currentDetailGridName, formName: formName });
}
}
erettsegiEredmenyekHelper.addNewErettsegiEredmeny = function (currentDetailGridName, tanuloId) {
setModifiedDataSource(currentDetailGridName);
var grid = KretaGridHelper.getKendoGridData(currentDetailGridName);
var total = grid.dataSource.data().length;
grid.dataSource.insert(total,
{
ID: "tempRowId_" + tempRowId,
IsNew: true,
Erdemjegy: "-",
GyakorlatiPontszam: null,
IrasbeliPontszam: null,
Megjegyzes: null,
OsszPontszam: "-",
Szazalek: "-",
ErettsegiSzintId: null,
SzobeliPontszam: null,
ErettsegiTantargyId: null,
ErettsegiTipusId: null
});
tempRowId++;
erettsegiEredmenyekHelper.setDetailControlsEvents(currentDetailGridName, tanuloId);
}
erettsegiEredmenyekHelper.saveErettsegiEredmenyek = function () {
var resultData = [];
$.each(openedDetailGridData, function (i, gridData) {
var formName = gridData.formName;
var form = $('#' + formName);
if (form.valid()) {
var data = form.toObject();
var tanuloId = data.ID;
var rows = KretaGridHelper.getAllRows(gridData.gridName);
if (rows.length > 0) {
var detailData = [rows.length];
$.each(rows,
function (index, rowData) {
detailData[index] = {
Id: rowData.ID,
TanuloId: tanuloId,
ErettsegiTantargyId: rowData.ki_ErettsegiTantargyId,
ErettsegiSzintId: rowData.ki_ErettsegiSzintId,
ErettsegiTipusId: rowData.ki_ErettsegiTipusId,
IrasbeliPontszam: rowData.ki_IrasbeliPontszam,
SzobeliPontszam: rowData.ki_SzobeliPontszam,
GyakorlatiPontszam: rowData.ki_GyakorlatiPontszam,
Megjegyzes: rowData.ki_Megjegyzes,
IsNew: rowData.IsNew
}
});
resultData.push({
FormName: formName,
ErettsegiEredmenySaveDetailModelList: detailData
});
}
}
});
if (resultData.length > 0){
AjaxHelper.DoPost(url.SaveErettsegiEredmenyList,
resultData,
erettsegiEredmenyekHelper.refreshGrid,
saveFeedbackError);
}
}
erettsegiEredmenyekHelper.deleteErettsegiEredmenyConfirmWindow = function (currentDetailGridName, rowData) {
var isNew = rowData.IsNew;
if (CommonUtils.parseBool(isNew)) {
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
function () {
setModifiedDataSource(currentDetailGridName);
var grid = KretaGridHelper.getKendoGridData(currentDetailGridName);
grid.dataSource.remove(rowData);
}
);
} else {
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@Html.Raw(ErettsegiEredmenyekResource.BiztosanTorli)",
deleteErettsegiEredmeny,
rowData.ID
);
}
}
function deleteErettsegiEredmeny(data) {
AjaxHelper.DoPost(url.Delete, data, erettsegiEredmenyekHelper.refreshGrid, feedbackError);
}
erettsegiEredmenyekHelper.refreshGrid = function () {
openedDetailGridData = [];
KretaGridHelper.refreshGridByObject(gridName, erettsegiEredmenyekHelper.startModel);
}
function saveFeedbackError(data) {
$.each(data.responseJSON.ModelState, function (name, value) {
var form = $('#' + name);
var detailModelState = { detailModelState: value }
AjaxHelper.CallRemoteErrors(form, detailModelState);
});
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
function setModifiedDataSource(currentDetailGridName) {
var grid = KretaGridHelper.getKendoGridData(currentDetailGridName);
var currentData = KretaGridHelper.getModifiedRows(currentDetailGridName);
$.each(currentData, function (index, value) {
var data = grid.dataSource.getByUid(value.uid);
data.set("ID", value.ID);
data.set("IsNew", value.IsNew);
data.set("Erdemjegy", value.Erdemjegy);
data.set("GyakorlatiPontszam", value.ki_GyakorlatiPontszam);
data.set("IrasbeliPontszam", value.ki_IrasbeliPontszam);
data.set("Megjegyzes", value.ki_Megjegyzes);
data.set("OsszPontszam", value.OsszPontszam);
data.set("Szazalek", value.Szazalek);
data.set("ErettsegiSzintId", value.ki_ErettsegiSzintId);
data.set("SzobeliPontszam", value.ki_SzobeliPontszam);
data.set("ErettsegiTantargyId", value.ki_ErettsegiTantargyId);
data.set("ErettsegiTipusId", value.ki_ErettsegiTipusId);
});
}
return erettsegiEredmenyekHelper;
})();
$(document).ready(function () {
if (!CommonUtils.parseBool("@(Model.OsztalyList.Count == 1)")) {
ErettsegiEredmenyekHelper.openStartWindow();
} else {
$("button.kendo-gridFunctionKommandRed.elolrol").hide();
ErettsegiEredmenyekHelper.startModel = {
OsztalyId: "@Model.OsztalyId"
};
var osztalyText = "@Model.OsztalyNev";
$(".infoText").html(osztalyText + " @(ErettsegiEredmenyekResource.ErettsegiEredmenyek)".toLowerCase());
ErettsegiEredmenyekHelper.refreshGrid();
}
});
</script>
<style type="text/css">
.k-grid .kendo-gridFunctionKommand .clearFunctionCommand {
background-color: initial;
color: #5c6a79;
cursor: initial;
text-transform: initial;
font-weight: bold;
}
.k-grid .kendo-gridFunctionKommand .clearFunctionCommand:before {
content: initial;
}
.k-grid-content .kendo-gridFunctionKommand > .k-button.k-button-icontext {
background-color: #54a5d1;
}
.k-grid td.kozepre,
.k-grid th.kozepre {
text-align: center;
}
.k-grid td > div.gridNumericBox > span.k-numerictextbox,
.k-grid td > div.gridTextbox > input.k-textbox {
width: 100%;
}
</style>

View file

@ -0,0 +1,18 @@
@model Kreta.Web.Areas.TanuloErtekeles.Models.ErettsegiEredmenyekModel
@{
const string startPopupFormName = "ErettsegiEredmenyekStartPopupForm";
}
@using (Html.KretaForm(startPopupFormName))
{
<div class="container-fluid details">
<div>
@Html.KretaComboBoxFor(x => x.OsztalyId, Model.OsztalyList, new Dictionary<string, object> { { "class", "fullwidth" } }).SelectedIndex(0).RenderWithName(4, 8, true)
</div>
<br />
<div align="center">
@Html.KretaButton("StartErettsegiErtekeles", CommonResource.Tovabb, clickEventName: "ErettsegiEredmenyekHelper.startTovabb")
</div>
</div>
}

Some files were not shown because too many files have changed in this diff Show more