/// <summary> /// Deletes External Macro Source /// </summary> /// <param name="externalMacroSource">The External Macro Source</param> public void DeleteExternalMacroSource(IExternalMacroSource externalMacroSource) { try { if (externalMacroSource == null) { throw new ArgumentNullException("externalMacroSource"); } string sql = $" DELETE FROM {SQLServerDataContract.ExternalMacroSource.TABLE_NAME} " + $" WHERE " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_ID_NAME} = @id; "; using (var connection = CreateConnection()) { connection.Open(); using (var command = CreateCommand(connection, CommandType.Text, sql)) { command.Parameters.Add(CreateParameter(DbType.Int64, "@id", externalMacroSource.ID)); int recordsAffected = command.ExecuteNonQuery(); logger.Info($"Deleted MacroSource - {recordsAffected} records affected"); } } } catch (Exception caught) { logger.Error("Unexpected Error Deleting External Macro Source", caught); throw; } }
/// <summary> /// Update Macro Source /// </summary> /// <param name="externalMacroSource">The External Macro Source</param> public void UpdateExternalMacroSource(IExternalMacroSource externalMacroSource) { try { if (externalMacroSource == null) { throw new ArgumentNullException("externalMacroSource"); } string sql = $" UPDATE {SQLServerDataContract.ExternalMacroSource.TABLE_NAME} SET " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_MACRO_ID_NAME} = @macroID, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_CREATE_DATE_NAME} = @createDate, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_QUALIFIED_NAME_NAME} = @qualifiedName, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_EXTERNAL_SOURCE_CODE_NAME} = @externalSourceCode, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_ACCELERATOR_NAME} = @accelerator, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_INTERVAL_NAME} = @interval, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_MODE_NAME} = @mode, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_PLAY_SECONDS_NAME} = @playSeconds, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_REPEAT_TIMES_NAME} = @repeatTimes, " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_MACRO_SOURCE_NAME} = @macroSource " + $" WHERE " + $" {SQLServerDataContract.ExternalMacroSource.COLUMN_ID_NAME} = @id; "; using (var connection = CreateConnection()) { connection.Open(); using (var command = CreateCommand(connection, CommandType.Text, sql)) { command.Parameters.Add(CreateParameter(DbType.Int64, "@id", externalMacroSource.ID)); command.Parameters.Add(CreateParameter(DbType.Int64, "@macroID", externalMacroSource.MacroID)); command.Parameters.Add(CreateParameter(DbType.DateTime, "@createDate", externalMacroSource.CreateDate)); command.Parameters.Add(CreateParameter(DbType.String, "@qualifiedName", externalMacroSource.QualifiedName)); command.Parameters.Add(CreateParameter(DbType.String, "@externalSourceCode", externalMacroSource.ExternalSourceCode)); command.Parameters.Add(CreateParameter(DbType.String, "@accelerator", externalMacroSource.Accelerator)); command.Parameters.Add(CreateParameter(DbType.String, "@interval", externalMacroSource.Interval)); command.Parameters.Add(CreateParameter(DbType.String, "@mode", externalMacroSource.Mode)); command.Parameters.Add(CreateParameter(DbType.String, "@playSeconds", externalMacroSource.PlaySeconds)); command.Parameters.Add(CreateParameter(DbType.String, "@repeatTimes", externalMacroSource.RepeatTimes)); command.Parameters.Add(CreateParameter(DbType.String, "@macroSource", externalMacroSource.MacroSource)); int recordsAffected = command.ExecuteNonQuery(); logger.Info($"Updated MacroSource - {recordsAffected} records affected"); } } } catch (Exception caught) { logger.Error("Unexpected Error Updating Macro Soruce", caught); throw; } }