public IPersistanceData Get(long persistanceDataId) { IPersistanceData result = null; using (var connection = new SqlConnectionWithExceptionLogger(this._loggingService, this._connectionStringValue)) { connection.Open(); connection.TryExecute(() => { var command = connection.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = "SELECT [SomeData] FROM [dbo].[ufn_GetPersistedData](@PersistanceDataId)"; command.Parameters.AddWithValue("@PersistanceDataId", persistanceDataId); using (var reader = command.ExecuteReader()) { if (reader.Read()) { result = new PersistanceData { SomeData = reader.GetString(0) }; } } }); } return(result); }
public void Create(IPersistanceData entityToCreate) { using (var connection = new SqlConnectionWithExceptionLogger(this._loggingService, this._connectionStringValue)) { connection.Open(); connection.TryExecute(() => { CreateStateData(connection, entityToCreate); }); } }
private static void UpdateStateData(SqlConnectionWithExceptionLogger connection, IPersistanceData entityToUpdate) { connection.TryExecute(() => { using (var command = connection.CreateCommand()) { command.CommandType = CommandType.StoredProcedure; command.CommandText = "[dbo].[usp_UpdateData]"; command.Parameters.AddWithValue("@PersistanceProcessId", entityToUpdate.PersistanceDataId); command.ExecuteNonQuery(); } }); }
public void Delete(long persistanceDataId) { using (var connection = new SqlConnectionWithExceptionLogger(this._loggingService, this._connectionStringValue)) { connection.Open(); connection.TryExecute(() => { using (var command = connection.CreateCommand()) { command.CommandType = CommandType.StoredProcedure; command.CommandText = "[dbo].[usp_DeleteData]"; command.Parameters.AddWithValue("@PersistanceDataId", persistanceDataId); command.ExecuteNonQuery(); } }); } }
public IPersistanceData Update(IPersistanceData entityToUpdate) { using (var connection = new SqlConnectionWithExceptionLogger(this._loggingService, this._connectionStringValue)) { connection.Open(); if (entityToUpdate.PersistanceDataId == 0) { CreateStateData(connection, entityToUpdate); } else { UpdateStateData(connection, entityToUpdate); } } // Get from DB ? nein..ev. neue werte sind nur IDs aus output, somit alles da.. return(entityToUpdate); }
private static void CreateStateData(SqlConnectionWithExceptionLogger connection, IPersistanceData entityToCreate) { connection.TryExecute(() => { using (var command = connection.CreateCommand()) { command.CommandType = CommandType.StoredProcedure; command.CommandText = "[dbo].[usp_InsertData]"; command.Parameters.AddWithValue("@Data", entityToCreate.SomeData); var outPutParameter = new SqlParameter { ParameterName = "@PersistanceDataId", SqlDbType = SqlDbType.BigInt, Direction = ParameterDirection.Output }; command.Parameters.Add(outPutParameter); command.ExecuteNonQuery(); entityToCreate.PersistanceDataId = (long)outPutParameter.Value; } }); }