init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
177
Framework/Entities/EntityUtil.cs
Normal file
177
Framework/Entities/EntityUtil.cs
Normal file
|
@ -0,0 +1,177 @@
|
|||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Kreta.Framework.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Segédosztály entitás funkcionalitások részére.
|
||||
/// </summary>
|
||||
public static class EntityUtil
|
||||
{
|
||||
// <<Facade>>
|
||||
|
||||
/// <summary>
|
||||
/// A jelenlegi nyelv indexe, kizárólag a generált kód használja, kézi kód számára tabu.
|
||||
/// </summary>
|
||||
public static int CurrentLanguageIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return LanguageContext.Current.LanguageIndex;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Visszaadja egy asszociáció leírását, ha az definiált.
|
||||
/// </summary>
|
||||
/// <param name="sourceTable">A forrás tábla neve</param>
|
||||
/// <param name="sourceColumn">Az asszociáció kapcsolómezőjének neve</param>
|
||||
/// <returns>Az asszociáció leírása, ha az létezik; egyébként 'N/A'.</returns>
|
||||
public static string GetAssociationDescription(string sourceTable, string sourceColumn)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(sourceTable) || string.IsNullOrWhiteSpace(sourceColumn))
|
||||
{
|
||||
return "N/A";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
using (SDA.DataProvider.SDACommand command = new SDA.DataProvider.SDACommand())
|
||||
{
|
||||
command.Connection = UserContext.Instance.SDAConnection;
|
||||
command.Transaction = UserContext.Instance.SDATransaction;
|
||||
command.CommandText = @"
|
||||
select distinct
|
||||
T_DSTRANSLATION.C_DISPLAYTEXT
|
||||
from
|
||||
T_FDLPALETTELINK
|
||||
left join T_DSTRANSLATION on T_DSTRANSLATION.C_FDLPALETTELINKID = T_FDLPALETTELINK.ID
|
||||
where
|
||||
lower(T_FDLPALETTELINK.C_DBKEYTABLEOFSOURCE) = :pTABLE
|
||||
and
|
||||
lower(T_FDLPALETTELINK.C_DBKEYFIELDOFSOURCE) = :pCOLUMN
|
||||
";
|
||||
command.Parameters.Add("pTABLE", sourceTable.ToLower());
|
||||
command.Parameters.Add("pCOLUMN", sourceColumn.ToLower());
|
||||
object result = command.ExecuteScalar();
|
||||
if (result != null && !(result is DBNull))
|
||||
{
|
||||
return result.ToString().Replace("\u0001", "\n");
|
||||
}
|
||||
|
||||
return "N/A";
|
||||
}
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(exception);
|
||||
return "N/A";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reguláris kifejezéseket elemző függvény. A generált kód használja, kézi kód számára tabu.
|
||||
/// </summary>
|
||||
/// <param name="data">Ezt a karakterláncot elemezzük, hogy megfelel-e a kifejezésünknek</param>
|
||||
/// <param name="regexPattern">Ezt a mintát keressuk a karakterláncban</param>
|
||||
/// <returns>True, ha illeszkedik; egyébként false</returns>
|
||||
public static bool VerifyRegEx(char data, string regexPattern)
|
||||
{
|
||||
return VerifyRegEx(data.ToString(), regexPattern);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reguláris kifejezéseket elemző függvény. A generált kód használja, kézi kód számára tabu.
|
||||
/// </summary>
|
||||
/// <param name="data">Ezt a karakterláncot elemezzük, hogy megfelel-e a kifejezésünknek</param>
|
||||
/// <param name="regexPattern">Ezt a mintát keressuk a karakterláncban</param>
|
||||
/// <returns>True, ha illeszkedik; egyébként false</returns>
|
||||
public static bool VerifyRegEx(string data, string regexPattern)
|
||||
{
|
||||
if (data == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
RegexOptions options = RegexOptions.Singleline;
|
||||
MatchCollection matches = Regex.Matches(data, regexPattern, options);
|
||||
|
||||
foreach (Match match in matches)
|
||||
{
|
||||
if (match.Success && match.Index == 0 && match.Length == data.Length)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#region CRUD Logika weben
|
||||
|
||||
/// <summary>
|
||||
/// Azonosító alapján feltölti az entitást adatbázisból.
|
||||
/// </summary>
|
||||
/// <param name="entity">A betöltendő entitás</param>
|
||||
/// <param name="sessionId">A munkamenet azonosítója</param>
|
||||
/// <param name="id">Az entitás azonosítója</param>
|
||||
/// <param name="serial">Az entitás verziószáma</param>
|
||||
public static void LoadById(Entity entity, string sessionId, int id, int serial)
|
||||
{
|
||||
if (UserContext.Instance == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
SDAServer.Instance.SessionManager.ActivateSession(sessionId);
|
||||
entity.LoadByID(id, serial);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(exception);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
SDAServer.Instance.SessionManager.DeActivateSession(sessionId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.LoadByID(id, serial);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Azonosító alapján feltölti az entitást adatbázisból.
|
||||
/// </summary>
|
||||
/// <param name="entity">A betöltendő entitás</param>
|
||||
/// <param name="sessionId">A munkamenet azonosítója</param>
|
||||
/// <param name="id">Az entitás azonosítója</param>
|
||||
public static void LoadById(Entity entity, string sessionId, int id)
|
||||
{
|
||||
if (UserContext.Instance == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
SDAServer.Instance.SessionManager.ActivateSession(sessionId);
|
||||
entity.LoadByID(id);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(exception);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
SDAServer.Instance.SessionManager.DeActivateSession(sessionId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.LoadByID(id);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue