init
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using JetBrains.Annotations;
|
||||
using SDA.DataProvider.Core;
|
||||
|
||||
namespace SDA.DataProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Az databázis-kiszolgálóval való működéshez szükséges osztálygyár.
|
||||
/// </summary>
|
||||
public abstract class SDAFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// SDAFactory konstruktora.
|
||||
/// </summary>
|
||||
/// <param name="commandTimeout">Command alapértelmezett timeout-ja.</param>
|
||||
public SDAFactory(int? commandTimeout)
|
||||
{
|
||||
CommandTimeout = commandTimeout;
|
||||
}
|
||||
|
||||
private const bool UseOptimizations = false;
|
||||
|
||||
//ORA bulk insert (arrray dml) impl. needed
|
||||
public bool UseOptimizedDataAccessLayer { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA work needed to create a range sequence sp
|
||||
public bool UseOptimizedIdGeneration { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA ok
|
||||
public bool UseOptimizedPrintName { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA ok
|
||||
public bool UseOptimizedOrgName { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA ?
|
||||
public bool UseOptimizedUpdateIratState { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA ?
|
||||
public bool UseOptimizedUserHandling { get; set; } = UseOptimizations;
|
||||
|
||||
//ORA ?
|
||||
public bool UseOptimizedInteriorOrganizationHandling { get; set; } = UseOptimizations;
|
||||
|
||||
public bool UseOptimizedEntityCache { get; set; } = UseOptimizations;
|
||||
|
||||
/// <summary>
|
||||
/// Általános command-k alapértelmezett timeout paramétere. Egy sql művelet hány másodpercig tartson.
|
||||
///
|
||||
/// Nem kötelező. Jelenleg MSSQL 300 sec-re van állítva, Oracle nincs beállítva.
|
||||
/// </summary>
|
||||
public int? CommandTimeout { get; internal set; }
|
||||
|
||||
[NotNull]
|
||||
internal abstract SDAConnectionWrapper CreateConnection();
|
||||
|
||||
[NotNull]
|
||||
internal abstract SDACommandWrapper CreateCommand();
|
||||
|
||||
[NotNull]
|
||||
internal abstract SDADataAdapterWrapper CreateDataAdapter();
|
||||
|
||||
[NotNull]
|
||||
internal abstract SDACommandBuilderWrapper CreateCommandBuilder();
|
||||
|
||||
[NotNull]
|
||||
internal abstract SDACommandBuilderWrapper CreateCommandBuilder([NotNull] SDADataAdapterWrapper dataAdapter);
|
||||
|
||||
/// <summary>
|
||||
/// Az adatbázis-kiszolgáló specifikus osztálygyár példány.
|
||||
/// </summary>
|
||||
[CanBeNull]
|
||||
public static SDAFactory Instance { get; set; }
|
||||
|
||||
[NotNull]
|
||||
internal static SDAFactory GetByDatabaseType(DatabaseType databaseType, int? commandTimeout)
|
||||
{
|
||||
switch (databaseType)
|
||||
{
|
||||
case DatabaseType.NativeMSSQL:
|
||||
return new Factories.MSSQLFactory(commandTimeout);
|
||||
default:
|
||||
throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "Database '{0}' not supported.", databaseType));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user