init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
292
Kreta.BusinessLogic/Classes/EnumExtensions.cs
Normal file
292
Kreta.BusinessLogic/Classes/EnumExtensions.cs
Normal file
|
@ -0,0 +1,292 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Caching;
|
||||
using Kreta.Framework.Caching.DictionaryItemTables;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Classes
|
||||
{
|
||||
public static class EnumExtensions
|
||||
{
|
||||
public static int ToInt32(this Enum enumValue)
|
||||
{
|
||||
var result = Convert.ToInt32(enumValue);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetDisplayName(this bool value, BooleanDisplayFormatEnum booleanDisplayFormatEnum = BooleanDisplayFormatEnum.Teljes)
|
||||
{
|
||||
string result;
|
||||
switch (booleanDisplayFormatEnum)
|
||||
{
|
||||
case BooleanDisplayFormatEnum.Teljes:
|
||||
result = value ? CommonResource.Igen : CommonResource.Nem;
|
||||
break;
|
||||
case BooleanDisplayFormatEnum.IN:
|
||||
result = value ? "I" : "N";
|
||||
break;
|
||||
case BooleanDisplayFormatEnum.TF:
|
||||
result = value ? "T" : "F";
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetDisplayName(this bool? value, string defaultValue = "", BooleanDisplayFormatEnum booleanFormat = BooleanDisplayFormatEnum.Teljes)
|
||||
{
|
||||
var result = defaultValue;
|
||||
if (value.HasValue)
|
||||
{
|
||||
result = GetDisplayName(value.Value, booleanFormat);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetDisplayName<T>(this int? enumIntValue, int tanevId, string defaultValue = "") where T : Enum
|
||||
{
|
||||
var result = defaultValue;
|
||||
if (enumIntValue.HasValue)
|
||||
{
|
||||
result = enumIntValue.Value.GetDisplayName<T>(tanevId);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetDisplayName<T>(this int enumIntValue, int tanevId) where T : Enum
|
||||
{
|
||||
string result;
|
||||
var enumType = typeof(T);
|
||||
//NOTE: Ha ManualEnums-ról van szó!
|
||||
if (enumType.AssemblyQualifiedName.Contains("Kreta.Enums.ManualEnums"))
|
||||
{
|
||||
var enumValue = ((T[])Enum.GetValues(enumType)).Single(x => x.ToInt32() == enumIntValue);
|
||||
result = enumValue.GetDisplayName(tanevId);
|
||||
return result;
|
||||
}
|
||||
|
||||
//NOTE: Ha nem ManualEnums-ról van szó, akkor GeneratedEnums(csak és kizárólag ManualEnums-ra vagy GeneratedEnums-ra lehet meghívni a GetDisplayName-et!).
|
||||
// Ebben az esetben a szöveget kivétel nélkül a DictionaryTableCache-ből szedjük, így az Environment SQL-ek miatt is jó szöveg jön le a db-ből!
|
||||
result = enumIntValue.GetItemNameFromCache(tanevId);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetDisplayName<T>(this T enumValue, int tanevId) where T : Enum
|
||||
{
|
||||
var enumType = typeof(T);
|
||||
//NOTE: Ha ManualEnums-ról van szó!
|
||||
if (enumType.AssemblyQualifiedName.Contains("Kreta.Enums.ManualEnums"))
|
||||
{
|
||||
return FrameworkEnumExtensions.GetManualEnumNameFromCache<T>(enumValue.ToInt32());
|
||||
}
|
||||
|
||||
//NOTE: Ha nem ManualEnums-ról van szó, akkor GeneratedEnums(csak és kizárólag ManualEnums-ra vagy GeneratedEnums-ra lehet meghívni a GetDisplayName-et!).
|
||||
// Ebben az esetben a szöveget kivétel nélkül a DictionaryTableCache-ből szedjük, így az Environment SQL-ek miatt is jó szöveg jön le a db-ből!
|
||||
var enumIntValue = enumValue.ToInt32();
|
||||
var result = enumIntValue.GetItemNameFromCache(tanevId);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static int? GetIdByDisplayName(string adatszotarNeve, GeneratedAdatszotarTipusEnum adatszotarTipus, int tanevId)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(adatszotarNeve))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int? result = ((int)adatszotarTipus).GetItemsByType(tanevId).Single(x => x.Name == adatszotarNeve).Id;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> EnumToDictionary<T>(int tanevId, bool emptyItem = false, bool isValueInt = true, List<string> removeValueList = null) where T : Enum
|
||||
{
|
||||
var enumType = typeof(T);
|
||||
if (enumType.BaseType != typeof(Enum))
|
||||
{
|
||||
throw new ArgumentException("T must be of type System.Enum");
|
||||
}
|
||||
|
||||
IEnumerable<T> values = (T[])Enum.GetValues(typeof(T));
|
||||
var itemList = values.ToDictionary(
|
||||
x => isValueInt ? x.ToInt32().ToString() : Enum.GetName(typeof(T), x),
|
||||
x => x.GetDisplayName(tanevId));
|
||||
|
||||
var result = removeValueList != null ? itemList.Where(x => !removeValueList.Contains(x.Key)).ToDictionary(x => x.Key, x => x.Value) : itemList;
|
||||
|
||||
if (emptyItem)
|
||||
{
|
||||
var list = new Dictionary<string, string>
|
||||
{
|
||||
{ "", CommonResource.KeremValasszon }
|
||||
};
|
||||
result = list.Union(result).ToDictionary(k => k.Key, v => v.Value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static IList<string> GetEnumDisplayNameList<T>(int tanevId, List<string> removeValueList = null) where T : Enum
|
||||
{
|
||||
var result = EnumToDictionary<T>(tanevId, removeValueList: removeValueList).Values.OrderBy(o => o).ToList();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static IDictionary<int, string> GetAdatszotarDictElemekForTipus(int tanevId, GeneratedAdatszotarTipusEnum adatszotarTipus, List<int> removeIdList = null, bool visibleOnly = false)
|
||||
{
|
||||
if (removeIdList == null)
|
||||
{
|
||||
removeIdList = new List<int>();
|
||||
}
|
||||
|
||||
return ((int)adatszotarTipus).GetItemsByType(tanevId, visibleOnly).Where(x => !removeIdList.Contains(x.Id)).ToDictionary(x => x.Id, x => x.Name);
|
||||
}
|
||||
|
||||
public static IList<string> GetAdatszotarElemekForTipus(int tanevId, GeneratedAdatszotarTipusEnum adatszotarTipus, List<int> removeIdList = null)
|
||||
{
|
||||
if (removeIdList == null)
|
||||
{
|
||||
removeIdList = new List<int>();
|
||||
}
|
||||
|
||||
return GetAdatszotarDictElemekForTipus(tanevId, adatszotarTipus, removeIdList).Select(x => x.Value).ToList();
|
||||
}
|
||||
|
||||
public static List<AllampolgarsagDictionaryItem> GetAllampolgarsagDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<AllampolgarsagDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.Allampolgarsag);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<MunkakorTipusDictionaryItem> GetMunkakorTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<MunkakorTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.MunkakorTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<OrszagTipusDictionaryItem> GetOrszagTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<OrszagTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.OrszagTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<CsoportTipusDictionaryItem> GetCsoportTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<CsoportTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.CsoportTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<OktatasiNevelesiFeladatDictionaryItem> GetOktatasiNevelesiFeladatDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<OktatasiNevelesiFeladatDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.OktatasiNevelesiFeladat);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<EvfolyamTipusDictionaryItem> GetEvfolyamTipusDictionaryItems(int tanevId, bool? isOsszevont = null)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<EvfolyamTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.EvfolyamTipus);
|
||||
return isOsszevont == null ?
|
||||
result :
|
||||
result.Where(x => x.IsOsszevont == isOsszevont).ToList();
|
||||
}
|
||||
|
||||
public static List<NapTipusDictionaryItem> GetNapTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<NapTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.NapTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SorolasOkaTipusDictionaryItem> GetSorolasOkaTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<SorolasOkaTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.SorolasOkaTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<ErtekelesModDictionaryItem> GetErtekelesModDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<ErtekelesModDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.ErtekelesMod);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<ErtekelesTipusDictionaryItem> GetErtekelesTipusDictionaryItems(int tanevId, bool? isEgyszerAdhato = null)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<ErtekelesTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.ErtekelesTipus);
|
||||
return isEgyszerAdhato == null ?
|
||||
result :
|
||||
result.Where(x => x.IsEgyszerAdhato == isEgyszerAdhato).ToList();
|
||||
}
|
||||
|
||||
public static List<EsemenyTipusDictionaryItem> GetEsemenyTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<EsemenyTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.EsemenyTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SzakkepesitesTipusDictionaryItem> GetSzakkepesitesTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<SzakkepesitesTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.SzakkepesitesTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<OraTulajdonsagTipusDictionaryItem> GetOraTulajdonsagTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<OraTulajdonsagTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.OraTulajdonsagTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<DokumentumKulcsszoTipusDictionaryItem> GetDokumentumKulcsszoTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<DokumentumKulcsszoTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.DokumentumKulcsszoTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<OktNevelesiKategoriaDictionaryItem> GetOktNevelesiKategoriaDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<OktNevelesiKategoriaDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.OktNevelesiKategoria);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<TavolletTipusDictionaryItem> GetTavolletTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<TavolletTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.TavolletTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<AgazatUjSzktTipusDictionaryItem> GetAgazatUjSzktTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<AgazatUjSzktTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.AgazatUjSzktTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SzakmaTipusDictionaryItem> GetSzakmaTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<SzakmaTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.SzakmaTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<AgazatReszSzakmaTipusDictionaryItem> GetAgazatReszSzakmaTipusDictionaryItems(int tanevId)
|
||||
{
|
||||
var result = GetExtendedDictionaryItems<AgazatReszSzakmaTipusDictionaryItem>(tanevId, (int)GeneratedAdatszotarTipusEnum.AgazatReszSzakmaTipus);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static List<T> GetExtendedDictionaryItems<T>(int tanevId, int generatedAdatszotarTipusEnumIntValue) where T : DictionaryItem
|
||||
{
|
||||
var dictionaryItems = generatedAdatszotarTipusEnumIntValue.GetItemsByType(tanevId);
|
||||
var tDictionaryItems = new List<T>();
|
||||
foreach (var dictionaryItem in dictionaryItems)
|
||||
{
|
||||
tDictionaryItems.Add((T)Activator.CreateInstance(typeof(T), dictionaryItem));
|
||||
}
|
||||
|
||||
return tDictionaryItems;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue