init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
468
Framework/Entities/DAUtil.cs
Normal file
468
Framework/Entities/DAUtil.cs
Normal file
|
@ -0,0 +1,468 @@
|
|||
using System;
|
||||
using SDA.DataProvider;
|
||||
|
||||
namespace Kreta.Framework.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// A generált DataAccessor-ok által használt statikus segédosztály,
|
||||
/// a generált kód mennyiségének csökkentésére. Az osztály kézzel írt kód számára tabu.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Az osztály metódusai teljesítménykritikusak, ezért paraméterellenőrzés nem történik bennük,
|
||||
/// megbízunk a hívóban.
|
||||
/// </remarks>
|
||||
public sealed class DAUtil
|
||||
{
|
||||
// <<Facade>>
|
||||
|
||||
/// <summary>
|
||||
/// Az osztály alapértelmezett konstruktora.
|
||||
/// </summary>
|
||||
/// <remarks>Az osztály statikus, példányosítását nem szándékozzuk.</remarks>
|
||||
private DAUtil()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Létrehoz egy új SDA.DataProvider.SDACommand parancsobjektumot,
|
||||
/// és inicializálja a Commandtext, Connection, Transaction tulajdonságait.
|
||||
/// </summary>
|
||||
/// <param name="commandText">A parancsobjektum sql szövege</param>
|
||||
/// <returns>A létrehozott <see cref="SDA.DataProvider.SDACommand"/> parancsobjektum</returns>
|
||||
public static SDACommand CreateCommand(string commandText)
|
||||
{
|
||||
SDACommand result = new SDACommand
|
||||
{
|
||||
CommandText = commandText,
|
||||
Connection = UserContext.Instance.SDAConnection,
|
||||
Transaction = UserContext.Instance.SDATransaction
|
||||
};
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Az entitás felvétele után utólag lekérdezi az entitás ID-ját.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static int? GetEntityID(SDAConnection connection, SDATransaction transaction)
|
||||
{
|
||||
using (SDACommand command = new SDACommand())
|
||||
{
|
||||
command.Connection = connection;
|
||||
command.Transaction = transaction;
|
||||
command.CommandText = "SELECT @@IDENTITY as ID";
|
||||
|
||||
var id = command.ExecuteScalar();
|
||||
|
||||
return id != DBNull.Value ? Convert.ToInt32(id) : (int?)null;
|
||||
}
|
||||
}
|
||||
|
||||
#region BindParameter
|
||||
|
||||
/// <summary>
|
||||
/// Hozzáad a parancsobjektumhoz egy új paramétert.
|
||||
/// </summary>
|
||||
/// <param name="command">A tulajdonos <see cref="SDA.DataProvider.SDACommand"/> objektum</param>
|
||||
/// <param name="parameterName">A paraméter neve</param>
|
||||
/// <param name="type">A paraméter típusa</param>
|
||||
/// <param name="length">A paraméter hossza</param>
|
||||
/// <param name="value">A paraméter értéke</param>
|
||||
/// <param name="isNull">A paraméter null-e vagy sem</param>
|
||||
public static void BindParameter(SDA.DataProvider.SDACommand command, string parameterName, SDA.DataProvider.SDADBType type, int length, object value, bool isNull)
|
||||
{
|
||||
if (isNull || value == null)
|
||||
{
|
||||
command.Parameters.Add(parameterName, type, length).Value = DBNull.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
command.Parameters.Add(parameterName, type, length).Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hozzáad a parancsobjektumhoz egy új paramétert.
|
||||
/// </summary>
|
||||
/// <param name="command">A tulajdonos <see cref="SDA.DataProvider.SDACommand"/> objektum</param>
|
||||
/// <param name="parameterName">A paraméter neve</param>
|
||||
/// <param name="type">A paraméter típusa</param>
|
||||
/// <param name="value">A paraméter értéke</param>
|
||||
/// <param name="isNull">A paraméter null-e vagy sem</param>
|
||||
public static void BindParameter(SDA.DataProvider.SDACommand command, string parameterName, SDA.DataProvider.SDADBType type, object value, bool isNull)
|
||||
{
|
||||
if (isNull || value == null)
|
||||
{
|
||||
command.Parameters.Add(parameterName, type).Value = DBNull.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
command.Parameters.Add(parameterName, type).Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hozzáad a parancsobjektumhoz egy új paramétert.
|
||||
/// </summary>
|
||||
/// <param name="command">A tulajdonos <see cref="SDA.DataProvider.SDACommand"/> objektum</param>
|
||||
/// <param name="parameterName">A paraméter neve</param>
|
||||
/// <param name="value">A paraméter értéke</param>
|
||||
public static void BindIdParameter(SDA.DataProvider.SDACommand command, string parameterName, int value)
|
||||
{
|
||||
if (value == -1)
|
||||
{
|
||||
command.Parameters.Add(parameterName, SDA.DataProvider.SDADBType.Int).Value = DBNull.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
command.Parameters.Add(parameterName, SDA.DataProvider.SDADBType.Int).Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ReadAttribute
|
||||
|
||||
/// <summary>
|
||||
/// Bináris típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadBinaryAttribute(SDA.DataProvider.SDADataReader reader, int index, ref byte[] target, ref bool isNull, byte[] defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = (byte[])reader.GetValue(index);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static byte[] ReadBinaryAttribute(SDA.DataProvider.SDADataReader reader, int index, byte[] defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return (byte[])reader.GetValue(index);
|
||||
}
|
||||
|
||||
public static byte[] ReadBinaryAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return (byte[])reader.GetValue(index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logikai típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadBooleanAttribute(SDA.DataProvider.SDADataReader reader, int index, ref bool target, ref bool isNull, bool defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
char tmp = reader.GetString(index)[0];
|
||||
target = (tmp == 'T' || tmp == 'I');
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool ReadBooleanAttribute(SDA.DataProvider.SDADataReader reader, int index, bool defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
char tmp = reader.GetString(index)[0];
|
||||
return (tmp == 'T' || tmp == 'I');
|
||||
}
|
||||
|
||||
public static bool? ReadBooleanAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
char tmp = reader.GetString(index)[0];
|
||||
return (tmp == 'T' || tmp == 'I');
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dátum típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadDateTimeAttribute(SDA.DataProvider.SDADataReader reader, int index, ref DateTime target, ref bool isNull, DateTime defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = reader.GetDateTime(index);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static DateTime ReadDateTimeAttribute(SDA.DataProvider.SDADataReader reader, int index, DateTime defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return reader.GetDateTime(index);
|
||||
}
|
||||
|
||||
public static DateTime? ReadDateTimeAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return reader.GetDateTime(index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lebegőpontos típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadDoubleAttribute(SDA.DataProvider.SDADataReader reader, int index, ref double target, ref bool isNull, double defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = Convert.ToDouble(reader.GetValue(index));
|
||||
return true;
|
||||
}
|
||||
|
||||
public static double ReadDoubleAttribute(SDA.DataProvider.SDADataReader reader, int index, double defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return Convert.ToDouble(reader.GetValue(index));
|
||||
}
|
||||
|
||||
public static double? ReadDoubleAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return Convert.ToDouble(reader.GetValue(index));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ID típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="target">A cél</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadIDAttribute(SDA.DataProvider.SDADataReader reader, int index, ref int target, int defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
target = Convert.ToInt32(reader.GetValue(index));
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Egész típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadIntegerAttribute(SDA.DataProvider.SDADataReader reader, int index, ref int target, ref bool isNull, int defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = Convert.ToInt32(reader.GetValue(index));
|
||||
return true;
|
||||
}
|
||||
|
||||
public static int ReadIntegerAttribute(SDA.DataProvider.SDADataReader reader, int index, int defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return Convert.ToInt32(reader.GetValue(index));
|
||||
}
|
||||
|
||||
public static int? ReadIntegerAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return Convert.ToInt32(reader.GetValue(index));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Karakterlánc típusú attribútum értékét olvassa be.
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <param name="target">A cél</param>
|
||||
/// <param name="isNull">Null-t olvasott vagy nem null-t</param>
|
||||
/// <param name="defaultValue">Alapértelmezett érték null olvasása esetén</param>
|
||||
/// <returns>True, ha nem null lett olvasva; egyébként false</returns>
|
||||
public static bool ReadStringAttribute(SDA.DataProvider.SDADataReader reader, int index, ref string target, ref bool isNull, string defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = reader.GetString(index);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static string ReadStringAttribute(SDA.DataProvider.SDADataReader reader, int index, string defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return reader.GetString(index);
|
||||
}
|
||||
|
||||
public static string ReadStringAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return reader.GetString(index);
|
||||
}
|
||||
|
||||
public static bool ReadGuidAttribute(SDA.DataProvider.SDADataReader reader, int index, ref Guid target, ref bool isNull, Guid defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
isNull = true;
|
||||
target = defaultValue;
|
||||
return false;
|
||||
}
|
||||
|
||||
isNull = false;
|
||||
target = Guid.Parse(reader.GetString(index));
|
||||
return true;
|
||||
}
|
||||
|
||||
public static Guid ReadGuidAttribute(SDA.DataProvider.SDADataReader reader, int index, Guid defaultValue)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return reader.GetGuid(index);
|
||||
}
|
||||
|
||||
public static Guid? ReadGuidAttribute(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return reader.GetGuid(index);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Read methods for framework
|
||||
/// <summary>
|
||||
/// DateTime? típusú értékét olvas be
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <returns>A beolvasott dátum, vagy null</returns>
|
||||
internal static DateTime? ReadDateTime(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return reader.GetDateTime(index);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Karakterlánc típusú attribútum értékét olvas be
|
||||
/// </summary>
|
||||
/// <param name="reader">A forrás <see cref="SDA.DataProvider.SDADataReader"/> objektum</param>
|
||||
/// <param name="index">Az attribútum indexe</param>
|
||||
/// <returns>A beolvasott string vagy null</returns>
|
||||
internal static string ReadString(SDA.DataProvider.SDADataReader reader, int index)
|
||||
{
|
||||
if (reader.IsDBNull(index))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return reader.GetString(index);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue