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,26 @@
using System;
using System.IO;
using System.Web.Mvc;
using Kreta.Core;
namespace Kreta.Web.Controllers
{
[AllowAnonymous]
public class CacheController : Controller
{
/// <summary>
/// Wraps the stored MemoryStream into an Excel file.
/// </summary>
/// <param name="guid">Unique identifier of the file.</param>
/// <param name="fileName">File download name.</param>
/// <param name="contentType">Content type of the returned FileStream.</param>
/// <returns>The requested file as a FileStreamResult.</returns>
[HttpGet]
public ActionResult DownloadFile(Guid guid, string fileName, string contentType)
{
var stream = Cache.Get(guid) as MemoryStream;
return new FileStreamResult(stream, contentType) { FileDownloadName = fileName };
}
}
}

View file

@ -0,0 +1,455 @@
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 Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Core.Exceptions;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Orarend.Logic;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[ApiRoleClaimsAuthorize(true)]
public class CalendarApiController : ApiController
{
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.CsokkentettGondviselo.ClaimValue)]
public List<OrarendCO.Event> GetTanuloOrarend(DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetTanuloOrarend(start, end, ClaimData.FelhasznaloId, ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsokkentettGondviselo.ClaimValue)).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetTanariOrarendOrarendiorakEsTanorak(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = ClaimData.FelhasznaloId;
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
var sId = (tanuloId > 0 ? tanuloId : new int?());
var result = orarendHelper.GetTanariOrarendOrarendiorakEsTanorak(start, end, tId, oId, sId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet: isFromSzervezet, isDualisOktato: ClaimData.IsDualisOktato);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public List<OrarendCO.Event> GetCsoportVezetoTanorak(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetCsoportVezetoTanorak(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public List<OrarendCO.Event> GetCsoportVezetoTanorankivuliFoglalkozasok(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetCsoportVezetoTanorankivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetTanariOrarendTanoranKivuliFoglalkozasok(int tanarId, int osztalyCsoportId, int tanuloId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = ClaimData.FelhasznaloId;
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
var sId = (tanuloId > 0 ? tanuloId : new int?());
var result = orarendHelper.GetTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, oId, sId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet: isFromSzervezet).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetTanariOrarendNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = ClaimData.FelhasznaloId;
var result = orarendHelper.GetTanariOrarendNemKotottMunkaido(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetOralatogatasOrarend(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetOralatogatasOrarend(start, end, tanarId).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminTanariOrarendOrarendiOrak(int tanarId, int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
var result = orarendHelper.GetAdminTanariOrarendOrarendiOrak(start, end, tId, oId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminKozpontiOrak(DateTime start, DateTime end)
{
var helper = new AdminKozpontiOrakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = helper.GetAdminKozpontiOrak(start, end);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminOsztalyOrarendOrarendiOrak(int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetAdminOsztalyOrarendOrarendiOrak(start, end, osztalyCsoportId, isFromSzervezet);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminTanariOrarendTanoranKivuliFoglalkozasok(int tanarId, int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
var oId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
var result = orarendHelper.GetAdminTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, oId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(int osztalyCsoportId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
public List<OrarendCO.Event> GetCsoportVezetoOrarendTanoranKivuliFoglalkozasok(int osztalyCsoportId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok(start, end, osztalyCsoportId, ClaimData.FelhasznaloSzerepkor, false).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : 0);
var result = orarendHelper.GetAdminNemKotottMunkaido(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetTanoraiHelyettesitesek(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
var result = orarendHelper.GetTanoraiHelyettesitesek(start, end, tId);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetTanoranKivuliHelyettesitesek(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
return orarendHelper.GetTanoranKivuliHelyettesitesek(start, end, tId);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminNaploEllenorzesTanorakOrarendiOrak(int tanarId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null
|| !tanarId.IsEntityId())
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
/* Duális oktató jog küldése KRETA2-12558 makkt később ki lehet majd venni */
var result = orarendHelper.GetTanariOrarendOrarendiorakEsTanorak(start, end, tId, null, null, Enums.SzerepkorTipusEnum.Adminisztrator, true, isFromSzervezet: isFromSzervezet, isDualisOktato: ClaimData.IsDualisOktato);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminNaploEllenorzesTanoranKivuliFoglalkozasok(int tanarId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : new int?());
var result = orarendHelper.GetTanariOrarendTanoranKivuliFoglalkozasok(start, end, tId, null, null, Enums.SzerepkorTipusEnum.Adminisztrator, true, isFromSzervezet);
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminNaploEllenorzesNemKotottMunkaido(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : -1);
var result = orarendHelper.GetTanariOrarendNemKotottMunkaido(start, end, tId, Enums.SzerepkorTipusEnum.Adminisztrator, true);
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public List<OrarendCO.Event> GetAdminNaploEllenorzesFogadoora(int tanarId, DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = (tanarId >= 0 ? tanarId : -1);
var result = orarendHelper.GetTanariOrarendFogadoora(start, end, tId, Enums.SzerepkorTipusEnum.Adminisztrator, true);
return result.Events;
}
public List<OrarendCO.Event> GetTanevRendjeCalendar(DateTime start, DateTime end)
{
var tanevrendHelper = new TanevrendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return tanevrendHelper.GetTanevRendjeCalendarData(start, end);
}
public JsonResult<List<ComboBoxListItem>> GetTanevHetek()
{
NaptariHetHelper helper = new NaptariHetHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var dropdownListItems = new List<ComboBoxListItem>();
var ds = helper.GetNaptariHetList();
var view = ds.Tables[0].DefaultView;
view.Sort = "HetSorszama";
foreach (DataRowView rowView in view)
{
DataRow row = rowView.Row;
var sli = new ComboBoxListItem()
{
Text = row.Field<int>("HetSorszama").ToString() + StringResourcesUtil.GetString(4742) + " (" + row.Field<DateTime>("HetKezdoNapja")/*.AddDays(1)*/.ToString("yyyy.MM.dd.") + " - " + row.Field<DateTime>("HetUtolsoNapja")/*.AddDays(1)*/.ToString("yyyy.MM.dd.") + ")",
Value = row.Field<DateTime>("HetKezdoNapja")/*.AddDays(1)*/.ToString("yyyy-MM-dd")
};
dropdownListItems.Add(sli);
}
return Json(dropdownListItems);
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminTeremOrarendOrarendiOrak(int teremId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetAdminTeremOrarendOrarendiOrak(start, end, teremId, isFromSzervezet);
result.ConvertToOrarendViewData();
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
public List<OrarendCO.Event> GetAdminTeremOrarendTanoranKivuliFoglalkozasok(int teremId, DateTime start, DateTime end, bool isFromSzervezet = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var result = orarendHelper.GetAdminTeremOrarendTanoranKivuliFoglalkozasok(start, end, teremId, ClaimData.FelhasznaloSzerepkor, isFromSzervezet).Events;
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetOrarendKereso(int? tanarId, int? osztalyCsoportId, int? teremId, DateTime start, DateTime end, bool osztalyTanuloOrarendbenNemLatszik = false)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
tanarId = (tanarId >= 0 ? tanarId : new int?());
osztalyCsoportId = (osztalyCsoportId >= 0 ? osztalyCsoportId : new int?());
teremId = (teremId >= 0 ? teremId : new int?());
var result = orarendHelper.GetOrarendKereso(start, end, tanarId, osztalyCsoportId, teremId, ClaimData.FelhasznaloSzerepkor, osztalyTanuloOrarendbenNemLatszik);
return result.Events;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue)]
public List<OrarendCO.Event> GetTanariOrarendFogadoora(DateTime start, DateTime end)
{
if (ClaimData.SessionId == null)
return null;
OrarendHelper orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tId = ClaimData.FelhasznaloId;
var result = orarendHelper.GetTanariOrarendFogadoora(start, end, tId, ClaimData.FelhasznaloSzerepkor).Events;
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage CopyOrarendiElem(CopyOrarendiElemModel model)
{
try
{
var orarendiOraHelper = new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType());
OraValidationCo co = OrarendiOraLogic.SetOraValidationCoFromCopyOrarendiElemModel(new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()), model);
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(co, "Orarend.successCopy");
if (utkozesValidationMsg.ErrorMsg.Length > 0)
{
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
}
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
int? newId = orarendHelper.CopyOrarendiElem(model.copyId, co.OrarendiOraValidationCo.OraKezdete, co.OrarendiOraValidationCo.Oraszam.Value);
if (newId.IsEntityId())
{
orarendiOraHelper.OrarendValtozasCacheMentes(newId.Value);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (BlException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage PreValidationOnCopyOrarendiElem(CopyOrarendiElemModel model)
{
var co = OrarendiOraLogic.SetOraValidationCoFromCopyOrarendiElemModel(new OrarendiOraHelper(ConnectionTypeExtensions.GetSessionConnectionType()), model);
if (model.oraszam > -1 && co.OrarendiOraValidationCo.OsztalyId.HasValue)
{
var osztalyCsoportIds = new CsengetesiRendHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyCsoportIdsForCsengetesiRend(model.dateFrom, model.oraszam, new List<int> { co.OrarendiOraValidationCo.OsztalyId.Value });
if (!osztalyCsoportIds.Any())
{
throw new StatusError(HttpStatusCode.BadRequest, string.Format(OrarendResource.AMasoltOraOsztalyCsoportnakEgyediNap0Datumon, model.dateFrom.ToString(Core.Constants.ToStringPattern.HungarianDate)) + Core.Constants.General.Sortores);
}
}
var utkozesValidationMsg = OrarendiOraLogic.CheckUtkozesValidation(co, "Orarend.successOnPrevalidation();", isPrevalidation: true);
if (utkozesValidationMsg.ErrorMsg.Length > 0)
{
throw new StatusError(HttpStatusCode.BadRequest, utkozesValidationMsg.ErrorMsg);
}
if (utkozesValidationMsg.Msg.Length > 0)
{
throw new StatusError(CustomHTTPStatusEnum.WarningMegszakitas, string.Empty) { Json = utkozesValidationMsg };
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpGet]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public JsonResult<RogzitettOraResult> GetRogzitettOrak(int tanarId, DateTime start)
{
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
(string kotottMunkaidoOra, string nemKotottMunkaidoOra) = orarendHelper.GetRogzitettOrak(tanarId, start);
return Json(new RogzitettOraResult
{
KotottMunkaido = kotottMunkaidoOra,
NemKotottMunkaido = nemKotottMunkaidoOra
});
}
public class RogzitettOraResult
{
public string KotottMunkaido { get; set; }
public string NemKotottMunkaido { get; set; }
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,251 @@
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Http.Results;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Classes.ComboBox;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Utils;
using Kreta.Core.FeatureToggle;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Alkalmazott.Helpers;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[ApiRoleClaimsAuthorize(true)]
public class ComboBoxHelperEnumApiController : ApiController
{
private readonly IFeatureContext FeatureContext;
public ComboBoxHelperEnumApiController(IFeatureContext featureContext)
{
FeatureContext = featureContext;
}
public JsonResult<List<ComboBoxListItem>> GetIgenNemEnumList([DataSourceRequest] DataSourceRequest request)
{
var listItems = new List<ComboBoxListItem>
{
new ComboBoxListItem {Text = StringResourcesUtil.GetString(133) /*Igen*/, Value = ((int) IgenNemEnum.Igen).ToString()},
new ComboBoxListItem {Text = StringResourcesUtil.GetString(134) /*Nem*/, Value = ((int) IgenNemEnum.Nem).ToString()}
};
return Json(listItems);
}
public List<SelectListItem> GetIgenNemEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<IgenNemEnum>();
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetIsElfogadottSzandeknyilatkozatEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<IsElfogadottSzandeknyilatkozatEnum>();
return dictionary.ToSelectListItemList();
}
public JsonResult<List<ComboBoxListItem>> GetHetNapList([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
dictionary.Remove(((int)HetNapjaTipusEnum.na).ToString());
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetHetNapListWithEmptyRecord([DataSourceRequest] DataSourceRequest request)
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.HetNapjaTipus, ClaimData.SelectedTanevID.Value, true);
dictionary.Remove(((int)HetNapjaTipusEnum.na).ToString());
dictionary.Add(((int)HetNapjaTipusEnum.na).ToString(), EnumsResource.UresOrarend);
return Json(dictionary.ToComboBoxItemList());
}
public List<SelectListItem> GetJogosultsagList()
{
var ret = AlkalmazottViewHelper.GetJogosultsagiSzintList(FeatureContext.IsEnabled(Core.Constants.FeatureName.IERSzerepkorokHozzaadasa, instituteId: ClaimData.IntezmenyAzonosito));
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var hrModulEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled);
if (hrModulEnabled)
{
ret.Add(new SelectListItem { Text = FelhasznalokResource.HRModulKezeloMintJogosultsag, Value = FelhasznalokResource.HRModulKezeloMintJogosultsagValue });
}
if (new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese))
{
ret.Add(new SelectListItem { Text = FelhasznalokResource.LEPModulKezeloMintJogosultsag, Value = FelhasznalokResource.LEPModulKezeloMintJogosultsagValue });
}
ret.Add(new SelectListItem { Text = FelhasznalokResource.DiakOlimpiaKezeloMintJogosultsag, Value = FelhasznalokResource.DiakOlimpiaKezeloMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.KozSzolgKezeloMintJogosultsag, Value = FelhasznalokResource.KozSzolgKezeloMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.OsztalyfonokMintJogosultsag, Value = FelhasznalokResource.OsztalyfonokMintJogosultsagValue });
ret.Add(new SelectListItem { Text = FelhasznalokResource.OsztalyfonokHelyettesMintJogosultsag, Value = FelhasznalokResource.OsztalyfonokHelyettesMintJogosultsagValue });
return ret;
}
public List<SelectListItem> GetAtlagMegjelenitesTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<AtlagMegjelenitesTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetAtlagbaBeleszamitoOsztalyTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<AtlagbaBeleszamitoOsztalyTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetHaladasiNaploFulTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<HaladasiNaploFulTipus>(ClaimData.SelectedTanevID.Value, false, true);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese))
{
dictionary.Remove(((int)HaladasiNaploFulTipus.Fogadoora).ToString());
}
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetHaladasiNaploNezetTipusList()
{
var dictionary = EnumExtensions.EnumToDictionary<HaladasiNaploNezetTipus>(ClaimData.SelectedTanevID.Value, false, true);
return dictionary.ToSelectListItemList();
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoTipusList()
{
List<int> topItems = new List<int>
{
(int)TavolletTipusEnum.Szabadsag,
(int)TavolletTipusEnum.Keresokeptelenseg,
(int)TavolletTipusEnum.Tanulmanyi_munkaido_kedvezmeny,
(int)TavolletTipusEnum.Szulesi_szabadsag,
(int)TavolletTipusEnum.Apat_megilleto_potszabadsag_gyermeke_szuletese_eseten,
(int)TavolletTipusEnum.Hozzatartozo_halalakor_mentesules_munkavegzes_alol,
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_meghalado_tartamu_biztositas_szunetel,
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_nem_meghalado_tartamu_biztositas_szunetel,
(int)TavolletTipusEnum.Kotelezo_orvosi_vizsgalat_tartamara_mentesules_munkavegzes_alol,
(int)TavolletTipusEnum.Kepzesben_tovabbkepzesben_felek_megallapodasa_alapjan_valo_reszvetelhez_szukseges_idotartamra_mentesules_munkavegzes_alol,
};
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TavolletTipus, ClaimData.SelectedTanevID.Value, topItems: topItems);
// Ez KRÉTA-ban nem jelenik meg kiválasztásra
dictionary.Remove(((int)TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_).ToString());
dictionary.Remove(((int)TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora).ToString());
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
// "sima" felhasználóknak ezek nem jelennek meg:
if (!ClaimData.IsAdministrator && !helper.IsLeader())
{
dictionary.Remove(((int)TavolletTipusEnum.Egyeb_hianyzas_dijazassal).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Egyeb_hianyzas_dijazas_nelkul).ToString());
dictionary.Remove(((int)TavolletTipusEnum.egyeb_hianyzas_dijazas_nelkul_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Mentesites_a_munkavegzes_alol_felmentesi_felmondasi_ido_tartamara).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Sztrajk).ToString());
dictionary.Remove(((int)TavolletTipusEnum.sztrajk_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet_ora_vagy_teljesitmenyberezes_eseten).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Jogviszony_folyositas).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Kirendeles_a_fogado_munkaltato_fizet).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Allasido_dijazassal).ToString());
dictionary.Remove(((int)TavolletTipusEnum.allasido_dijazassal_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Felfuggesztes_jogviszonyt_megszunteto_hatarozat_kezbesitese).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_).ToString());
dictionary.Remove(((int)TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kulszolgalatba_helyezes_idotartamara).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Elozetes_letartoztatas_szabadsagvesztes).ToString());
dictionary.Remove(((int)TavolletTipusEnum.Allasido_dijazas_nelkul).ToString());
dictionary.Remove(((int)TavolletTipusEnum.allasido_dijazas_nelkul_ora).ToString());
}
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoNaptariEvekList()
{
var listItems = new List<ComboBoxListItem>();
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var evek = helper.GetTavolletjelentoNaptariEvek(ClaimData.IsAdministrator);
foreach (var ev in evek)
{
ComboBoxListItem listItem = new ComboBoxListItem() { Text = ev, Value = ev };
listItems.Add(listItem);
}
return Json(listItems);
}
public JsonResult<List<ComboBoxListItem>> GetTavolletjelentoStatuszList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.TavolletStatusz, ClaimData.SelectedTanevID.Value);
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetFizetesiModList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToListManual<FizetesiModEnum>();
dictionary.Add(new KeyValuePair<string, string>("1", "Default elem, még nincs értékkészlet"));
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetMennyisegEgysegeList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.MennyisegiEgyseg, ClaimData.SelectedTanevID.Value);
dictionary.Add(new KeyValuePair<string, string>("1", "Default elem, még nincs értékkészlet"));
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetBeszerzesiIgenyStatuszList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.BeszerzesiIgenySatusz, ClaimData.SelectedTanevID.Value);
return Json(dictionary.ToComboBoxItemList());
}
public JsonResult<List<ComboBoxListItem>> GetKirSzerkesztehetoEnumList([DataSourceRequest] DataSourceRequest request)
{
var listItems = new List<ComboBoxListItem>
{
new ComboBoxListItem { Text = KirEditableEnum.Egyezik.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.Egyezik.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.ModositasraVar.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.ModositasraVar.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.Uj.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.Uj.ToInt32().ToString() },
new ComboBoxListItem { Text = KirEditableEnum.NemEgyezik.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = KirEditableEnum.NemEgyezik.ToInt32().ToString() }
};
return Json(listItems);
}
public List<SelectListItem> GetErettsegiSzintEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErettsegiSzint, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetErettsegiTipusEnumSelectList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.ErettsegiTipus, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
public List<SelectListItem> GetAranyJanosAlprogramList()
{
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.AranyJanosProgramTipus, ClaimData.SelectedTanevID.Value);
return dictionary.ToSelectListItemList();
}
}
}

View file

@ -0,0 +1,76 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Utils;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[Authorize]
public class EnumController : Controller
{
/// <summary>
/// Hotfix until ajax hacks are removed.
/// </summary>
public static class Cache
{
#region SelectLists
public static readonly List<SelectListItem> AllampolgarsagSelectList;
public static readonly List<SelectListItem> AnyanyelvSelectList;
public static readonly List<SelectListItem> OrszagSelectList;
public static readonly List<SelectListItem> KozteruletJellegSelectList;
public static readonly List<SelectListItem> TagozatSelectList;
public static readonly List<SelectListItem> KirSzolgaltatasListForSearch;
public static readonly List<SelectListItem> RokonsagiFokSelectList;
public static readonly List<SelectListItem> NemSelectList;
public static readonly List<SelectListItem> EtikaSelectList;
public static readonly List<SelectListItem> FelvetelStatuszaSelectList;
public static readonly List<SelectListItem> IgenNemSelectList;
public static readonly List<SelectListItem> MukodesiHelyTipusaSelectList;
public static readonly List<SelectListItem> KirSzolgaltatasList;
public static readonly List<SelectListItem> FelekezetSelectList;
public static readonly List<SelectListItem> HatranyosHelyzetSelectList;
public static readonly List<SelectListItem> NemzetisegiSelectList;
public static readonly List<SelectListItem> JogalapSelectList;
#endregion
static Cache()
{
AllampolgarsagSelectList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.Allampolgarsag, ClaimData.SelectedTanevID.Value, topItems: new List<int> { (int)AllampolgarsagEnum.magyar }).ToSelectListItemList();
AnyanyelvSelectList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.Anyanyelv, ClaimData.SelectedTanevID.Value, topItems: new List<int> { (int)AnyanyelvEnum.magyar }).ToSelectListItemList();
OrszagSelectList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.OrszagTipus, ClaimData.SelectedTanevID.Value, topItems: new List<int> { (int)OrszagTipusEnum.Magyarorszag }).ToSelectListItemList();
KozteruletJellegSelectList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.KozteruletJelleg, ClaimData.SelectedTanevID.Value).ToDictionary(di => di.Value, di => di.Value).ToSelectListItemList();
TagozatSelectList = ((int)GeneratedAdatszotarTipusEnum.TagozatTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
KirSzolgaltatasListForSearch = ((int)GeneratedAdatszotarTipusEnum.KirSzolgaltatasTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
RokonsagiFokSelectList = ((int)GeneratedAdatszotarTipusEnum.RokonsagiFok).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
NemSelectList = ((int)GeneratedAdatszotarTipusEnum.Nem).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList(new List<int> { (int)NemEnum.NA });
EtikaSelectList = FrameworkEnumExtensions.EnumToListManual<EtikaHitErkolcstanEnum>().ToSelectListItemList();
KirSzolgaltatasList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.KirSzolgaltatasTipus, ClaimData.SelectedTanevID.Value, topItems: new List<int> { (int)KirSzolgaltatasTipusEnum.AltalanosFeltetelekSzerintiNevelesOktatas }).ToSelectListItemList();
var order = new List<FelvetelStatuszaTipusEnum>
{
FelvetelStatuszaTipusEnum.NemJelentMeg,
FelvetelStatuszaTipusEnum.Fuggoben,
FelvetelStatuszaTipusEnum.SzakertoiVizsgalataFolyamatban,
FelvetelStatuszaTipusEnum.Felveve,
FelvetelStatuszaTipusEnum.NemFelveve,
FelvetelStatuszaTipusEnum.BeiratkozasVisszavonva,
FelvetelStatuszaTipusEnum.MasIntezmenybeFelveve,
FelvetelStatuszaTipusEnum.OvodabanMaradt
};
FelvetelStatuszaSelectList = order.EnumItemListToDictionary(ClaimData.SelectedTanevID.Value).ToSelectListItemList();
IgenNemSelectList = FrameworkEnumExtensions.EnumToListManual<IgenNemEnum>().ToSelectListItemList();
MukodesiHelyTipusaSelectList = ((int)GeneratedAdatszotarTipusEnum.MukodesiHelyTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, true).ToSelectItemList();
FelekezetSelectList = ((int)GeneratedAdatszotarTipusEnum.FelekezetTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, false).ToSelectItemList();
HatranyosHelyzetSelectList = ((int)GeneratedAdatszotarTipusEnum.HatranyosHelyzetTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, false).ToSelectItemList();
NemzetisegiSelectList = ((int)GeneratedAdatszotarTipusEnum.NemzetisegTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, false).ToSelectItemList();
JogalapSelectList = ((int)GeneratedAdatszotarTipusEnum.TKJogalapTipus).GetItemsByType(ClaimData.SelectedTanevID.Value, false).ToSelectItemList();
}
}
}
}

View file

@ -0,0 +1,20 @@
using System.Web.Mvc;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[MvcRoleClaimsAuthorize(true)]
public class ErrorHandlerController : Controller
{
// GET: ErrorHandler
public ActionResult Index()
{
return View();
}
public ActionResult AccessDenied()
{
return View();
}
}
}

View file

@ -0,0 +1,69 @@
using System;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
using Kreta.Resources;
using Kreta.Web.Helpers;
namespace Kreta.Web.Controllers
{
public class FileDownloadController : ApiController
{
private readonly IIktatoRepositoryFactory iktatoRepositoryFactory;
private readonly IktatoServiceConfiguration iktatoServiceConfiguration;
public FileDownloadController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration)
{
this.iktatoRepositoryFactory = iktatoRepositoryFactory;
this.iktatoServiceConfiguration = iktatoServiceConfiguration;
}
[HttpGet]
[AllowAnonymous]
public HttpResponseMessage GetAlapdokumentum(string tipusNev)
{
try
{
var dokumentumTipus = (Enums.DokumentumTipusEnum)Enum.Parse(typeof(Enums.DokumentumTipusEnum), tipusNev);
switch (dokumentumTipus)
{
case Enums.DokumentumTipusEnum.AlapitoOkirat:
case Enums.DokumentumTipusEnum.SzervezetiEsMukodesiSzabalyzat:
case Enums.DokumentumTipusEnum.Munkaterv:
case Enums.DokumentumTipusEnum.PedagogiaiProgram:
case Enums.DokumentumTipusEnum.Hazirend:
case Enums.DokumentumTipusEnum.mukodesi_engedely:
break;
default:
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenTipusuAlapdokumentum);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
var connectionType = ConnectionTypeExtensions.GetOrganizationConnectionType();
var pHelper = new PoszeidonHelper(connectionType, iktatoRepositoryFactory, iktatoServiceConfiguration);
var tanevId = dokumentumTipus == Enums.DokumentumTipusEnum.Munkaterv ? connectionType.TanevId : (int?)null;
var dokumentumCO = pHelper.IntezmenyiKotelezoDokumentumPublikus(tanevId, dokumentumTipus);
var iktatottDokumentumId = dokumentumCO.IktatottDokumentumId;
if (!iktatottDokumentumId.IsEntityId())
{
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenAlapDokumentumAzIntezmenynel);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
(string fajlnev, byte[] tartalom) = pHelper.Lekeres(iktatottDokumentumId.ToString());
return HttpResponseExtensions.GetFileHttpResponse(tartalom, fajlnev);
}
catch
{
ModelState.AddModelError("tipusNev", ErrorResource.NincsIlyenTipusuDokumentum);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
}
}

View file

@ -0,0 +1,29 @@
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Controllers
{
[AllowAnonymous]
public class HibaOldalController : Controller
{
public ActionResult Index()
{
string mainVersion = Core.KretaVersion.Instance.MainVersion;
string assemblyCreationDate = Core.KretaVersion.Instance.AssemblyCreationDateTime.ToShortDateString();
string commitNumber = Core.KretaVersion.Instance.CommitNumber;
ViewBag.Version = $"{CommonResource.Version}: {mainVersion} ({assemblyCreationDate}) <br/> {commitNumber}";
return View();
}
public ActionResult IndexLEPNincsJog()
{
string mainVersion = Core.KretaVersion.Instance.MainVersion;
string assemblyCreationDate = Core.KretaVersion.Instance.AssemblyCreationDateTime.ToShortDateString();
string commitNumber = Core.KretaVersion.Instance.CommitNumber;
ViewBag.Version = $"{CommonResource.Version}: {mainVersion} ({assemblyCreationDate}) <br/> {commitNumber}";
return View();
}
}
}

View file

@ -0,0 +1,250 @@
using System;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core.Configuratiaton.Interface;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Configuration;
using Kreta.Web.Controllers.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[MvcRoleClaimsAuthorize(true)]
public class HomeController : Controller
{
private IEugyintezesClientConfiguration EugyintezesClientConfiguration { get; }
private IIdpConfiguration IdpConfiguration { get; }
private ITananyagtarConfiguration TananyagtarConfiguration { get; }
public HomeController(IEugyintezesClientConfiguration eugyintezesClientConfiguration, IIdpConfiguration idpConfiguration, ITananyagtarConfiguration tananyagtarConfiguration)
{
EugyintezesClientConfiguration = eugyintezesClientConfiguration ?? throw new ArgumentNullException(nameof(eugyintezesClientConfiguration));
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
TananyagtarConfiguration = tananyagtarConfiguration ?? throw new ArgumentNullException(nameof(tananyagtarConfiguration));
}
[Authorize]
// GET: Home
public ActionResult Index()
{
if (IdpConfiguration.LoginEnabled)
{
if (ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Nincs_beallitva)
{
return RedirectToAction("Index", "BelepesKezelo", new { area = "Adminisztracio" });
}
}
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult NeptunNaplo()
{
string neptunNaploLink = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNeptunNaploLink();
if (!string.IsNullOrWhiteSpace(neptunNaploLink))
{
return Redirect(neptunNaploLink);
}
return Redirect("http://www.ekreta.hu/jelentkezes");
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult Poszeidon()
{
if (!string.IsNullOrWhiteSpace(ApplicationData.PoszeidonUrl))
{
return Redirect(ApplicationData.PoszeidonUrl);
}
return Redirect("~/HibaOldal");
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue)]
public ActionResult Eugyintezes()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult DKT()
{
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var intezmenyData = helper.GetIntezmenyiAdatok();
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(ClaimData.IsTanuloOrGondviselo ? intezmenyData.DKTDiakUrl : intezmenyData.DKTTanarUrl, IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult eJelentkezes()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.eJelentkezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.CsoportVezeto.ClaimValue,
KretaClaimPackages.DiakolimpiaKezelo.ClaimValue,
KretaClaimPackages.Ellenorzo.ClaimValue,
KretaClaimPackages.Evfolyamfelelos.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue,
KretaClaimPackages.Tanulo.ClaimValue,
KretaClaimPackages.Naplo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.LeltarConcerned.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.Alkalmazott.ClaimValue)]
public ActionResult Uzenetek()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.UzenetModul, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.FokuszMonitoring.ClaimValue)]
public ActionResult Esl()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.FokuszMonitoring.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public ActionResult Fokusz()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Fokusz, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.LeltarConcerned.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue)]
public ActionResult Leltar()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.CsoportVezeto.ClaimValue,
KretaClaimPackages.DiakolimpiaKezelo.ClaimValue,
KretaClaimPackages.Ellenorzo.ClaimValue,
KretaClaimPackages.Evfolyamfelelos.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue,
KretaClaimPackages.Tanulo.ClaimValue,
KretaClaimPackages.Naplo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.LeltarConcerned.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.Alkalmazott.ClaimValue,
KretaClaimPackages.Konyvtaros.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult KonyvtarModul()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Naplo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public ActionResult Tananyagtar()
{
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(TananyagtarConfiguration.Url, IdpConfiguration.AuthenticationTokenKey));
}
[AllowAnonymous]
[HttpPost]
public JsonResult EUgyUzenetekRecheck()
{
var darabszam = -1;
if (ClaimData.IntezmenyAzonosito != null && ClaimData.IsAktivUzenetekMenu)
{
EugyintezesClient eUgyClient = new EugyintezesClient(EugyintezesClientConfiguration);
darabszam = eUgyClient.GetOlvasatlanPostaladaElemekSzama(ClaimData.IntezmenyAzonosito, ClaimData.GondviseloId.HasValue ? ClaimData.GondviseloIdpEgyediAzonosito : ClaimData.FelhasznaloIdpEgyediAzonosito);
}
return Json(new { cnt = darabszam, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
[AllowAnonymous]
[HttpPost]
public JsonResult GetIsFrissitesWarrning()
{
var aktDatum = DateTime.Now;
var data = new IntezmenyHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).GetFrissitesDatum();
if (data.HasValue && aktDatum.Date == data.Value.Date)
{
TimeSpan duration = data.Value - aktDatum;
var result = duration.Seconds + duration.Minutes * 60 + duration.Hours * 60 * 60;
return result <= 1000 && result > 0
? Json(new { isFrissites = true, duration = result, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate })
: Json(new { isFrissites = false, duration = 0, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
return Json(new { isFrissites = false, duration = 0, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
[AllowAnonymous]
public ActionResult ArchivIndex()
{
return View("ArchivIndex");
}
[MvcRolePackageAuthorize(TanevEnum.AktTanev, KretaClaimPackages.Ellenorzo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult PalyavalasztasiElorejelzesiModul()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var baseUrl = helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Palyavalasztas, IntezmenyConfigTipusEnum.Url);
var builder = new UriBuilder(baseUrl);
builder.Query = $"fromkreta=true";
return Redirect(builder.ToString());
}
[AllowAnonymous]
public void LogOut()
{
MasterLayoutLogic.LogOut();
}
}
}

View file

@ -0,0 +1,332 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using System.Xml.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Controllers.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Modal;
using Kreta.Web.Models;
using Kreta.Web.Models.Builder;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[MvcRoleClaimsAuthorize(true)]
public class LayoutController : Controller
{
public static bool SuccessFeedBackWindowNeeded => new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.SuccessFeedBack_Disable);
public JsonResult LogOut()
{
MasterLayoutLogic.LogOut();
var loginUrl = Url.Action("Index", "Login", new { Area = "Adminisztracio" });
/* return Redirect(loginUrl); kellene majd használni */
return Json(new { Url = loginUrl });
}
[HttpPost]
public ActionResult Excel_Export_Save(string contentType, string base64, string fileName)
{
var fileContents = Convert.FromBase64String(base64);
return File(fileContents, contentType, fileName);
}
[HttpPost]
public ActionResult Pdf_Export_Save(string contentType, string base64, string fileName)
{
var fileContents = Convert.FromBase64String(base64);
return File(fileContents, contentType, fileName);
}
public ActionResult GetRemainingTime()
{
return Content(SessionHandler.GetRemainingTime().ToString());
}
public void ExtendSessionTime()
{
/*Funkciója van! ne töröld ki.*/
/*Minden hívás frissíti az időt ez nem csinál semmít ez csak azért kell hogy legyen mit hívni.*/
}
public ActionResult GetLayoutInformation(string url)
{
var model = new LayoutModel();
var builder = new LayoutModelBuilder();
var olvasatlanUzenetekSzama = "0";//eugyintezesClient.GetOlvasatlanUzenetek(ClaimData.IntezmenyAzonosito, ClaimData.FelhasznaloId).ToString();
builder.SetBase(olvasatlanUzenetekSzama, model, url);
return Json(model);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public void ClientError(ClientErrorModel clientError)
{
var error = new ClientError(clientError);
#if !DEBUG
Kreta.Framework.SDAServer.Instance.Logger.ExceptionThrown(error);
#endif
}
[OutputCache(Duration = 800, VaryByParam = "SzerepkorId;FelhasznaloId;SelectedTanevId")]
public ActionResult Menu(string SzerepkorId, string FelhasznaloId, int SelectedTanevId)
{
return PartialView("_NavigationBar");
}
[HttpPost]
public bool ChangeSelectedTanev(int selectedTanevId)
{
ClaimData.SelectedTanevID = selectedTanevId;
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
new AdminHelper(connectionType).RefreshUserContextSelectedTanev();
var tanevHelper = new TanevHelper(connectionType);
if (!ClaimData.IsAdministrator && !ClaimData.IsArchivIntezmeny)
{
ClaimData.FelhasznaloId = tanevHelper.GetFelhasznaloIdBySelectedTanevIdAndFelhasznaloId(ClaimData.FelhasznaloId).First(x => x.TanevId == ClaimData.SelectedTanevID).FelhasznaloId;
}
List<string> list = new List<string>();
if (selectedTanevId == ClaimData.AktivTanevID.Value)
{
list = ParseSiteMapXml("activeyear");
}
else if (ClaimData.KovTanevID.HasValue && selectedTanevId == ClaimData.KovTanevID.Value)
{
list = ParseSiteMapXml("nextyear");
}
else
{
list = ParseSiteMapXml("prevyear");
}
var intezmenyAdatok = new IntezmenyHelper(connectionType).GetIntezmenyiAdatok();
ClaimData.RefreshOrganizationFullAddress(intezmenyAdatok);
ClaimData.OrganizationName = intezmenyAdatok.Nev;
ClaimData.OrganizationShortName = intezmenyAdatok.RovidNev ?? string.Empty;
ClaimData.OrganizationCode = intezmenyAdatok.OMKod;
ClaimData.IsBeiratkozasVeglegesitve = intezmenyAdatok.IsBeiratkozasVeglegesitve;
ClaimData.LicenceDatum = intezmenyAdatok.LicenceDatum;
ClaimData.JustLEPOrganization = intezmenyAdatok.IsCsakLepKezelo;
ClaimData.IsSzirIntezmeny = intezmenyAdatok.IsSzirIntezmeny;
ClaimData.IsArchivIntezmeny = intezmenyAdatok.IsArchivIntezmeny;
ClaimData.IsSzakkepzoIntezmeny = intezmenyAdatok.IsSzakkepzo;
var selectedTanev = tanevHelper.GetTanevInfo();
ClaimData.IsSelectedTanev20_21OrLater = CommonUtils.IsSelectedTanev20_21OrLater(selectedTanev);
ClaimData.IsSelectedTanev21_22OrLater = CommonUtils.IsSelectedTanev21_22OrLater(selectedTanev);
ClaimData.IsSelectedTanevIsElozo = CommonUtils.IsSelectedTanevIsElozo(selectedTanev);
var url = Request.UrlReferrer.AbsolutePath;
var requestController = url.Substring(url.LastIndexOf("/") + 1);
return list.Contains(requestController) || ClaimData.IsArchivIntezmeny;
}
public List<string> ParseSiteMapXml(string attribute)
{
XElement xelement = XElement.Load(Server.MapPath("~/Menu/MapMvc.sitemap"));
var xmlSelect = xelement.Descendants()
.SelectMany(sel => sel.Elements())
.Where(sel => sel.Attribute("controller") != null &&
(sel.Attribute(attribute) != null || (sel.Attribute("nextyear") == null && sel.Attribute("activeyear") == null && sel.Attribute("prevyear") == null))
)
.Select(nd => new
{
controller = nd.Attribute("controller")
});
List<string> list = new List<string>();
foreach (var item in xmlSelect)
{
list.Add(item.controller.Value);
}
return list;
}
public ActionResult DashboardUzenetPopup(int popupId, string egyediAzonosito)
{
if (popupId == 0 || string.IsNullOrWhiteSpace(egyediAzonosito))
{
return new EmptyResult();
}
var model = ConvertDashboardItemToModel(new AdminHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetDashboardPopupUzenet(ClaimData.GondviseloId, popupId, egyediAzonosito).Tables[0].Rows[0]);
return PartialView("DashboardUzenetPopup", model);
}
public ActionResult UpdateDashboardPopupClose(int popupId, string egyediAzonosito)
{
new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).UpdateDashboardPopupClose(popupId);
// Következő bejelentkezésig nem dobjuk fel ezt a popup-ot:
var popupCookie = HttpContext.Request.Cookies["DisplayedPopups"];
popupCookie.Value += "|" + egyediAzonosito;
popupCookie.HttpOnly = true;
popupCookie.Secure = true;
popupCookie.SameSite = System.Web.SameSiteMode.None;
HttpContext.Response.SetCookie(popupCookie);
return new EmptyResult();
}
public ActionResult UpdateDashboardPopupConfirm(int popupId)
{
new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).UpdateDashboardPopupConfirm(popupId);
return new EmptyResult();
}
public string UpdateDashboardPopupNext(int popupId)
{
var redirectUrl = new AdminHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).UpdateDashboardPopupNext(popupId);
return redirectUrl;
}
private static AdminDashboardPopupItemModel ConvertDashboardItemToModel(DataRow row)
{
return new AdminDashboardPopupItemModel()
{
DashboardUzenetFelhasznaloId = SDAConvert.ToInt32(row["ID"]),
EgyediAzonosito = SDAConvert.ToString(row["C_EGYEDIAZONOSITO"]),
EgyediMuvelet = SDAConvert.ToString(row["C_EGYEDIMUVELET"]),
Name = SDAConvert.ToString(row["C_CIM"]),
Content = SDAConvert.ToString(row["C_TARTALOM"]),
Type = (AdminDashboardTipusEnum)SDAConvert.ToInt32(row["C_DASHBOARDUZENETKATEGORIAID"]),
MegjelenitesekSzama = SDAConvert.ToInt32(row["C_MEGJELENITESEKSZAMA"]),
};
}
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public ActionResult OpenIskolaorUzenetKuldesPopup()
{
var helper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var telefonszam = helper.GetTelefonszamItemCoList(ClaimData.FelhasznaloId).FirstOrDefault(x => x.Alapertelmezett)?.Telefonszam ?? "";
var iskolaorLista = helper.GetIskolaor().Select(x => new IskolaorAdatModel
{
IskolaorID = x.Id,
IskolaorTelefonszam = x.AlapertelmezettTelefonszam,
IskolaorIdpAzonosito = x.IdpEgyediAzonosito.ToString(),
IskolaorNev = x.Nev,
});
var list = new List<SelectListItem>();
foreach (var item in iskolaorLista)
{
list.Add(new SelectListItem
{
Text = item.IskolaorNev,
Value = item.IskolaorID.ToString(),
});
}
var model = new IskolaorPopupModel
{
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
KuldoID = ClaimData.FelhasznaloId.ToString(),
KuldoNev = ClaimData.FelhasznaloNev,
KuldoTelefonszam = telefonszam,
IskolaorList = list,
IskolaorAdatModelList = iskolaorLista.ToList(),
IskolaorTelefonszam = list.Count == 1 ? iskolaorLista.First().IskolaorTelefonszam : null,
Sablon1Button = new ModalButtonModel
{
Text = IskolaorResource.VeszelybenVan,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon1",
},
Sablon2Button = new ModalButtonModel
{
Text = IskolaorResource.BalesetTortent,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon2",
},
Sablon3Button = new ModalButtonModel
{
Text = IskolaorResource.TuzVan,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon3",
},
Sablon4Button = new ModalButtonModel
{
Text = IskolaorResource.VerekedesTortent,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon4",
},
Sablon5Button = new ModalButtonModel
{
Text = IskolaorResource.ADiakokOsszeverekedtek,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon5",
},
Sablon6Button = new ModalButtonModel
{
Text = IskolaorResource.Tanteremben,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon6",
},
Sablon7Button = new ModalButtonModel
{
Text = IskolaorResource.AzOsztalyteremben,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon7",
},
Sablon8Button = new ModalButtonModel
{
Text = IskolaorResource.AFolyoson,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon8",
},
Sablon9Button = new ModalButtonModel
{
Text = IskolaorResource.AzUdvaron,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon9",
},
Sablon10Button = new ModalButtonModel
{
Text = IskolaorResource.AzEmeleten,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon10",
},
Sablon11Button = new ModalButtonModel
{
Text = IskolaorResource.AzEtkezoben,
EventName = "IskolaorHelper.addSablonText",
Name = "sablon11",
},
UzenetKuldesButton = new ModalButtonModel
{
Text = IskolaorResource.UzenetElkuldese,
EventName = "IskolaorHelper.sendUzenet",
Name = "uzenetElkuldeseButton",
}
};
return PartialView("IskolaorUzenetKuldesPopup", model);
}
public string GetBankszamlaVezetoBankNeve(string bankszamlaSzam)
{
return new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetBankszamlaVezetoBankNeve(bankszamlaSzam);
}
}
}

View file

@ -0,0 +1,77 @@
using System;
using System.IO;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.Resources;
using Kreta.Web.Areas.Hianyzas.Models;
using Kreta.Web.Areas.OsztalyCsoport.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Controllers.Logic
{
/// <summary>
/// Exportokhoz használható közös, gyűjtő logic osztály.
/// </summary>
public static class CommonExportLogic
{
public static ActionResult ExportInformaciokIgazolas(InformaciokIgazolasSearchModel model)
{
var stream = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetInformaciokIgazolasExcelExport(model.ConvertToCo());
return new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = $"{HianyzasResource.IgazolasokListajaExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}" };
}
public static ActionResult ExportBesorolasokOsztalyok(BaseBesorolasSearchModel model, bool isKiirt)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var stream = helper.GetBesorolasOsztalyokExport(model.ConvertToCo(), isKiirt);
string fileName;
switch (model.OktNevFelKategoriaId)
{
case Enums.OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas:
fileName = isKiirt ? BesorolasResource.AMIOsztalybolKiirtakExportFileName : BesorolasResource.AMIOsztalybaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.EGYMI:
fileName = isKiirt ? BesorolasResource.EGYMIOsztalybolKiirtakExportFileName : BesorolasResource.EGYMIOsztalybaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.Felnottkepzes:
fileName = isKiirt ? BesorolasResource.FelnottkepzesOsztalybolKiirtakExportFileName : BesorolasResource.FelnottkepzesOsztalybaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.Kollegium:
fileName = isKiirt ? BesorolasResource.KollegiumOsztalybolKiirtakExportFileName : BesorolasResource.KollegiumOsztalybaBesoroltakExportFileName;
break;
default:
fileName = isKiirt ? BesorolasResource.OsztalybolKiirtakExportFileName : BesorolasResource.OsztalybaBesoroltakExportFileName;
break;
}
return new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = fileName };
}
public static ActionResult ExportBesorolasokCsoportok(BaseBesorolasSearchModel model, bool isKiirt)
{
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var stream = helper.GetBesorolasCsoportokExport(model.ConvertToCo(), isKiirt);
string fileName;
switch (model.OktNevFelKategoriaId)
{
case Enums.OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas:
fileName = isKiirt ? BesorolasResource.AMICsoportbolKiirtakExportFileName : BesorolasResource.AMICsoportbaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.EGYMI:
fileName = isKiirt ? BesorolasResource.EGYMICsoportbolKiirtakExportFileName : BesorolasResource.EGYMICsoportbaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.Felnottkepzes:
fileName = isKiirt ? BesorolasResource.FelnottkepzesCsoportbolKiirtakExportFileName : BesorolasResource.FelnottkepzesCsoportbaBesoroltakExportFileName;
break;
case Enums.OktNevelesiKategoriaEnum.Kollegium:
fileName = isKiirt ? BesorolasResource.KollegiumCsoportbolKiirtakExportFileName : BesorolasResource.KollegiumCsoportbaBesoroltakExportFileName;
break;
default:
fileName = isKiirt ? BesorolasResource.CsoportbolKiirtakExportFileName : BesorolasResource.CsoportbaBesoroltakExportFileName;
break;
}
return new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = fileName };
}
}
}

View file

@ -0,0 +1,38 @@
using System.Web;
using Kreta.Framework;
using Kreta.Web.Classes;
using Kreta.Web.Security;
using Kreta.Web.Utils;
namespace Kreta.Web.Controllers.Logic
{
public static class MasterLayoutLogic
{
public static void LogOut()
{
if (HttpContext.Current == null)
{
return;
}
if (ClaimData.IsAuthenticated)
{
string sessionId = ClaimData.SessionId;
if (SDAServer.Instance != null)
{
SDAServer.Instance.SessionManager.DeleteSession(sessionId);
}
ProfileUtils.RemoveUserProfileImage(sessionId);
ProfileUtils.RemoveUserProfileDocument(sessionId);
SessionHandler.DropSession(sessionId);
using (var loginManager = new LoginManager())
{
loginManager.LogOut();
}
}
}
}
}

View file

@ -0,0 +1,75 @@
using System;
using System.Runtime.Caching;
using Kreta.Core;
using Kreta.Framework;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers.Logic
{
public class SessionHandler
{
private static readonly CacheItemPolicy DefaultCacheItemPolicy = new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(60) };
private static int sessionTimeOut = 0;
private static string GetCacheKey(string sessionId)
{
return $"{nameof(SessionHandler)}_{sessionId}";
}
public static int SessionTimeOut
{
get
{
if (sessionTimeOut < 1)
{
sessionTimeOut = (SDAServer.Instance.Configuration.SessionTimeout - 1) * 60; // A kérés és válasz alatt a mi számlálónk elcsúszik pár másodperccel és a valódi session hamarabb járna le.
if (sessionTimeOut < 45)
{
sessionTimeOut = 45;
}
}
return sessionTimeOut;
}
}
public static void UpdateSessionTime()
{
string sessionId = ClaimData.SessionId;
if (string.IsNullOrWhiteSpace(sessionId))
{
throw new Exception("Invalid Session key");
}
Cache.Set(GetCacheKey(sessionId), DateTime.Now, DefaultCacheItemPolicy);
}
public static int GetRemainingTime()
{
string sessionId = ClaimData.SessionId;
if (string.IsNullOrWhiteSpace(sessionId))
{
throw new Exception("Invalid Session key");
}
DateTime lastCallTime = Cache.AddOrGetExisting(GetCacheKey(sessionId), DateTime.Now, DefaultCacheItemPolicy);
TimeSpan spendTime = DateTime.Now - lastCallTime;
int remainingTime = SessionTimeOut - (spendTime.Minutes * 60 + spendTime.Seconds);
PingKretaServerSession(sessionId);
return remainingTime;
}
public static void DropSession(string sessionId)
{
Cache.Remove(GetCacheKey(sessionId));
}
private static void PingKretaServerSession(string sessionId)
{
SDAServer.Instance.SessionManager.PingSession(sessionId);
}
}
}

View file

@ -0,0 +1,38 @@
using System.Web.Http;
using Kreta.BusinessLogic.VersionInfo;
using Kreta.Web.Models;
namespace Kreta.Web.Controllers
{
/// <summary>
/// StatusController
/// </summary>
/// <seealso cref="System.Web.Http.ApiController" />
[RoutePrefix("api/Status")]
[AllowAnonymous]
public class StatusController : ApiController
{
/// <summary>
/// Gets the status.
/// </summary>
/// <returns></returns>
public StatusModel GetStatus()
{
var filteredAssemblyInformation = VersionInfoHelper.GetFilteredAssemblyInformation();
var result = new StatusModel()
{
BuildDateTimeUtc = filteredAssemblyInformation[Core.Constants.Version.BuildDateTimeUtc],
BranchName = filteredAssemblyInformation[Core.Constants.Version.BranchName],
BuildVersion = filteredAssemblyInformation[Core.Constants.Version.BuildVersion],
CommitNumber = filteredAssemblyInformation[Core.Constants.Version.CommitNumber],
ActiveSchoolYear = Core.Constants.Version.NotAvailable,
LastLessonDateTime = Core.Constants.Version.NotAvailable,
LastLoggedLessonDateTime = Core.Constants.Version.NotAvailable,
LastLoginDateTimeByInstitute = Core.Constants.Version.NotAvailable
};
return result;
}
}
}

View file

@ -0,0 +1,19 @@
using System.Web.Mvc;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[MvcRoleClaimsAuthorize(true)]
public class WizardController : Controller
{
public ActionResult LoadWizardContent()
{
return PartialView("EditorTemplates/WizardPopUp");
}
public ActionResult LoadKozpontiOraWizardContent()
{
return PartialView("EditorTemplates/KozpontiOraWizardPopUp");
}
}
}