153 lines
4.6 KiB
C#
153 lines
4.6 KiB
C#
using System;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using JetBrains.Annotations;
|
|
using SDA.DataProvider.Core;
|
|
|
|
namespace SDA.DataProvider
|
|
{
|
|
/// <summary>
|
|
/// Adatbázis-parancs paramétereinek listája.
|
|
/// </summary>
|
|
[SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
|
|
public class SDACommandParameterCollection
|
|
{
|
|
internal SDACommandWrapper Command;
|
|
|
|
protected SDACommandParameterCollection()
|
|
{
|
|
|
|
}
|
|
|
|
internal SDACommandParameterCollection(SDACommandWrapper command)
|
|
{
|
|
Command = command;
|
|
}
|
|
|
|
internal virtual SDACommandParameterCollectionWrapper Parameters
|
|
{
|
|
get
|
|
{
|
|
return Command.Parameters;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Visszaadja a megadott nevű paraméter objektumot.
|
|
/// </summary>
|
|
[CanBeNull]
|
|
public virtual SDACommandParameter this[string index]
|
|
{
|
|
get
|
|
{
|
|
SDACommandParameterWrapper parameter = Parameters[index];
|
|
return parameter != null ? new SDACommandParameter(parameter) : null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Visszaadja a megadott sorszámú paraméter objektumot.
|
|
/// </summary>
|
|
[NotNull]
|
|
public SDACommandParameter this[int index]
|
|
{
|
|
get
|
|
{
|
|
return new SDACommandParameter(Parameters[index]);
|
|
}
|
|
set
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(value));
|
|
}
|
|
|
|
Parameters[index] = value.Parameter;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Új paramétert vesz fel a listába.
|
|
/// </summary>
|
|
/// <param name="parameter">A listába felveendő paraméter objektum</param>
|
|
/// <returns>A listába felvett paraméter objektum</returns>
|
|
[NotNull]
|
|
public virtual SDACommandParameter Add(SDACommandParameter parameter)
|
|
{
|
|
if (parameter == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(parameter));
|
|
}
|
|
|
|
Command.Parameters.Add(parameter.Parameter);
|
|
return parameter;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Új paramétert vesz fel a listába.
|
|
/// </summary>
|
|
/// <param name="name">A paraméter neve</param>
|
|
/// <param name="type">A paraméter típusa</param>
|
|
/// <returns>A listába felvett paraméter objektum</returns>
|
|
[NotNull]
|
|
public virtual SDACommandParameter Add(string name, SDADBType type)
|
|
{
|
|
return new SDACommandParameter(Command.Parameters.Add(name, type));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Új paramétert vesz fel a listába.
|
|
/// </summary>
|
|
/// <param name="name">A paraméter neve</param>
|
|
/// <param name="type">A paraméter típusa</param>
|
|
/// <param name="size">A paraméterhez tartozó oszlop mérete</param>
|
|
/// <returns>A listába felvett paraméter objektum</returns>
|
|
[NotNull]
|
|
public virtual SDACommandParameter Add(string name, SDADBType type, int size)
|
|
{
|
|
return new SDACommandParameter(Command.Parameters.Add(name, type, size));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Új paramétert vesz fel a listába.
|
|
/// </summary>
|
|
/// <param name="name">A paraméter neve</param>
|
|
/// <param name="value">A paraméter értéke</param>
|
|
/// <returns>A listába felvett paraméter objektum</returns>
|
|
[NotNull]
|
|
public virtual SDACommandParameter Add(string name, object value)
|
|
{
|
|
return new SDACommandParameter(Command.Parameters.Add(name, value));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Eltávolítja a megadott paramétert a listából.
|
|
/// </summary>
|
|
/// <param name="parameter">Az eltávolítandó paraméter</param>
|
|
public virtual void Remove(SDACommandParameter parameter)
|
|
{
|
|
if (parameter == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(parameter));
|
|
}
|
|
|
|
Command.Parameters.Remove(parameter.Parameter);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Kiüríti a paraméterlistát.
|
|
/// </summary>
|
|
public virtual void Clear()
|
|
{
|
|
Command.Parameters.Clear();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Command paraméterek száma
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public virtual int Count()
|
|
{
|
|
return Parameters.Count;
|
|
}
|
|
}
|
|
}
|