225 lines
7.8 KiB
C#
225 lines
7.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web.Mvc;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Enums;
|
|
using Kreta.Web.Security;
|
|
using Kreta.Web.Utils;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Kreta.Web.Helpers
|
|
{
|
|
public static class CommonExtensions
|
|
{
|
|
public static List<SelectListItem> ToSelectListItemList(this IDictionary<string, string> dictionary, List<string> removeValueList = null, int? selectedValue = null)
|
|
{
|
|
var itemList = removeValueList != null
|
|
? dictionary.Where(x => !removeValueList.Contains(x.Key))
|
|
: dictionary;
|
|
|
|
var result = itemList.Select(x => new SelectListItem
|
|
{
|
|
Value = x.Key,
|
|
Text = x.Value,
|
|
Selected = selectedValue != null && x.Key == selectedValue.ToString()
|
|
}).ToList();
|
|
|
|
return result;
|
|
}
|
|
|
|
public static string ToJson(this object obj, bool isNeedEncoding = false)
|
|
{
|
|
var json = JsonConvert.SerializeObject(obj);
|
|
if (!isNeedEncoding)
|
|
{
|
|
return json;
|
|
}
|
|
return System.Web.HttpUtility.JavaScriptStringEncode(json);
|
|
}
|
|
|
|
public static string ToJsonReplaceSpecialCharaters(this string text)
|
|
{
|
|
string result = text
|
|
.Replace("'", @"\'")
|
|
.Replace("\"", """);
|
|
return result;
|
|
}
|
|
|
|
#region Nyomtatványhoz név és azonosító generálás
|
|
|
|
public static string NevGeneralas(string nyomtatvanynev, NyomtatvanyNevGeneralasModel model, bool isIktatas = false, bool notAppendDateTimeNow = false, string customMessage = null, bool forOrganization = false)
|
|
{
|
|
IConnectionType connectionType = ConnectionTypeExtensions.GetOrganizationConnectionType();
|
|
|
|
if (!forOrganization)
|
|
{
|
|
connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
|
|
}
|
|
|
|
var result = new StringBuilder(nyomtatvanynev + "_");
|
|
if (model.TanuloID.HasValue)
|
|
{
|
|
var h = new TanuloHelper(connectionType);
|
|
|
|
var tanulo = h.GetTanuloiAdatok(model.TanuloID.Value, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
|
|
result.Append(tanulo.CsaladiNev + "_" + tanulo.UtoNev + "_" + tanulo.OktatasiAzonosito + "_");
|
|
}
|
|
|
|
if (model.OsztalyCsoportId.HasValue)
|
|
{
|
|
var h = new OsztalyCsoportHelper(connectionType);
|
|
result.Append(h.GetOsztalyCsoportNevById(model.OsztalyCsoportId.Value) + "_");
|
|
}
|
|
|
|
if (model.TanarID.HasValue)
|
|
{
|
|
var h = new TanarHelper(connectionType);
|
|
var tanar = h.GetTanarAdatok(model.TanarID.Value);
|
|
result.Append(tanar.MunkavallaloCsaladiNev + "_" + tanar.MunkavallaloUtonev + "_");
|
|
}
|
|
|
|
if (model.OsztalyID.HasValue)
|
|
{
|
|
var h = new OsztalyHelper(connectionType);
|
|
|
|
var osztaly = h.GetClassById(model.OsztalyID.Value);
|
|
result.Append(osztaly.OsztalyNev + "_");
|
|
}
|
|
|
|
if (model.CsoportId.HasValue)
|
|
{
|
|
var h = new CsoportHelper(connectionType);
|
|
|
|
var csoport = h.GetGroupByID(model.CsoportId.Value);
|
|
result.Append(csoport.CsoportNeve + "_");
|
|
}
|
|
|
|
if (model.TeremID.HasValue)
|
|
{
|
|
var h = new TeremHelper(connectionType);
|
|
|
|
var teremNev = h.GetTeremNev(model.TeremID.Value);
|
|
result.Append(teremNev + "_");
|
|
}
|
|
|
|
if (model.FoglalkozasID.HasValue)
|
|
{
|
|
var h = new FoglalkozasHelper(connectionType);
|
|
|
|
var foglalkozasNev = h.GetFoglalkozasNeve(model.FoglalkozasID.Value);
|
|
result.Append(foglalkozasNev + "_");
|
|
}
|
|
|
|
if (model.FeladatellatasiHelyId.HasValue)
|
|
{
|
|
var h = new FeladatEllatasiHelyHelper(connectionType);
|
|
|
|
var feladatellatasiHelyNev = h.GetFeladatEllatasiHelyDDl(string.Empty).ToList().First(x => x.Key == model.FeladatellatasiHelyId.Value.ToString()).Value;
|
|
result.Append(feladatellatasiHelyNev + "_");
|
|
}
|
|
|
|
if (model.TanevID.HasValue)
|
|
{
|
|
var h = new TanevHelper(new OrganizationConnectionType(connectionType.FelhasznaloId, connectionType.IntezmenyId, connectionType.IntezmenyAzonosito, model.TanevID.Value));
|
|
var tanev = h.GetTanevInfo();
|
|
result.Append(tanev.Nev.Replace("/", "_"));
|
|
|
|
if (!isIktatas)
|
|
{
|
|
result.Append('_');
|
|
}
|
|
}
|
|
|
|
if (!isIktatas && !notAppendDateTimeNow)
|
|
{
|
|
result.Append(DateTime.Now.ToShortDateString());
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(customMessage))
|
|
{
|
|
result.Append("_" + customMessage);
|
|
}
|
|
|
|
return result.ToString();
|
|
}
|
|
|
|
#endregion
|
|
|
|
private const string TanarDashboardUrl = "~/Tanar/TanarDashboard";
|
|
private const string LoginUrl = "~/Adminisztracio/Login";
|
|
|
|
public static string GetDefaultPage(bool fromKretaLogo = false)
|
|
{
|
|
var role = ClaimData.FelhasznaloSzerepkor;
|
|
var package = ClaimData.FelhasznaloSzerepCsomagok;
|
|
|
|
if (package.Contains(KretaClaimPackages.IsArchivIntezmeny.ClaimValue))
|
|
{
|
|
return ApplicationData.ArchivDefaultPage;
|
|
}
|
|
|
|
if (role.Equals(SzerepkorTipusEnum.Ellenorzo))
|
|
{
|
|
if (package.Contains(KretaClaimPackages.Gondviselo.ClaimValue))
|
|
{
|
|
return ApplicationData.SzuloDefaultPage;
|
|
}
|
|
|
|
if (package.Contains(KretaClaimPackages.CsokkentettGondviselo.ClaimValue))
|
|
{
|
|
return ApplicationData.CsokkentettSzuloDefaultPage;
|
|
}
|
|
|
|
return ApplicationData.TanuloDefaultPage;
|
|
}
|
|
|
|
if (role.Equals(SzerepkorTipusEnum.Naplo))
|
|
{
|
|
if (!fromKretaLogo && !ProfileUtils.HetirendMegjeleniteseBelepeskor)
|
|
{
|
|
return TanarDashboardUrl;
|
|
}
|
|
|
|
if (package.Contains(KretaClaimPackages.Osztalyfonok.ClaimValue) || package.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue))
|
|
{
|
|
return ApplicationData.OsztalyfonokDefaultPage;
|
|
}
|
|
|
|
if (package.Contains(KretaClaimPackages.Tanar.ClaimValue))
|
|
{
|
|
return ApplicationData.TanarDefaultPage;
|
|
}
|
|
|
|
return ApplicationData.NaploDefaultPage;
|
|
}
|
|
|
|
if (role.Equals(SzerepkorTipusEnum.Adminisztrator))
|
|
{
|
|
if (package.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue))
|
|
{
|
|
return ApplicationData.IgazgatoDefaultPage;
|
|
}
|
|
|
|
return ApplicationData.AdminDefaultPage;
|
|
}
|
|
|
|
if (package.Contains(KretaClaimPackages.Dualis_Admin.ClaimValue))
|
|
{
|
|
return ApplicationData.DualisAdminDefaultPage;
|
|
}
|
|
|
|
if (package.Contains(KretaClaimPackages.TavolletIgenylo.ClaimValue))
|
|
{
|
|
return ApplicationData.TavolletDefaultPage;
|
|
}
|
|
|
|
return LoginUrl;
|
|
}
|
|
}
|
|
}
|