using System; using System.Diagnostics.CodeAnalysis; using SDA.DataProvider.Core; namespace SDA.DataProvider { /// /// Egy konkrét táblára vonatkozó DML utasításokat generál. /// public class SDACommandBuilder : IDisposable { internal SDACommandBuilderWrapper CommandBuilder; /// /// Az osztály alapértelmezett konstruktora. /// public SDACommandBuilder() { CommandBuilder = SDAFactory.Instance.CreateCommandBuilder(); } /// /// Az osztály konstruktora. /// /// public SDACommandBuilder(SDADataAdapter dataAdapter) { if (dataAdapter == null) { throw new ArgumentNullException(nameof(dataAdapter)); } CommandBuilder = SDAFactory.Instance.CreateCommandBuilder(dataAdapter.DataAdapter); } /// /// Paraméterek kötése. /// public void DeriveParameters(SDACommand command) { if (command == null) { throw new ArgumentNullException(nameof(command)); } CommandBuilder.DeriveParameters(command.Command); } /// /// Visszaadja a törlő parancs objektumot. /// /// [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] public SDACommand GetDeleteCommand() { return new SDACommand(CommandBuilder.GetDeleteCommand()); } /// /// Beszúrás parancs. /// [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] public SDACommand GetInsertCommand() { return new SDACommand(CommandBuilder.GetInsertCommand()); } /// /// Módosítás parancs. /// [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")] public SDACommand GetUpdateCommand() { return new SDACommand(CommandBuilder.GetUpdateCommand()); } /// /// Séma frissítése. /// public void RefreshSchema() { CommandBuilder.RefreshSchema(); } /// /// Eldobja az objektumot. /// public void Dispose() { CommandBuilder.Dispose(); CommandBuilder = null; } } }