using System.Data.SqlClient; using System.Diagnostics.CodeAnalysis; using SDA.DataProvider.Core; namespace SDA.DataProvider.MSSQLWrappers { class MSSQLCommandBuilderWrapper : SDACommandBuilderWrapper { internal SqlCommandBuilder CommandBuilder; internal MSSQLDataAdapterWrapper InnerDataAdapter; internal MSSQLCommandBuilderWrapper() { CommandBuilder = new SqlCommandBuilder(); } [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] internal MSSQLCommandBuilderWrapper(SDADataAdapterWrapper dataAdapter) : this() { // ReSharper disable once DoNotCallOverridableMethodsInConstructor DataAdapter = dataAdapter; } protected override SDADataAdapterWrapper DataAdapter { get { return InnerDataAdapter; } set { InnerDataAdapter = (MSSQLDataAdapterWrapper)value; CommandBuilder.DataAdapter = InnerDataAdapter.DataAdapter; } } public override void DeriveParameters(SDACommandWrapper command) { SqlCommandBuilder.DeriveParameters(((MSSQLCommandWrapper)command).Command); } public override SDACommandWrapper GetDeleteCommand() { return new MSSQLCommandWrapper(CommandBuilder.GetDeleteCommand()); } public override SDACommandWrapper GetInsertCommand() { return new MSSQLCommandWrapper(CommandBuilder.GetInsertCommand()); } public override SDACommandWrapper GetUpdateCommand() { return new MSSQLCommandWrapper(CommandBuilder.GetUpdateCommand()); } public override void RefreshSchema() { CommandBuilder.RefreshSchema(); } public override void Dispose() { CommandBuilder.Dispose(); } } }