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 IPersistanceData LoadOrCreate(long persistanceId, object someData) { var data = this._persistanceService.Get(persistanceId); if (data == null) { data = new PersistanceData { PersistanceDataId = persistanceId, SomeData = someData }; this._persistanceService.Create(data); } return(data); }
public IPersistanceData LoadOrCreate(long persistanceDataId, object data) { var key = new StateKey { PersistanceDataId = persistanceDataId, Data = data }; var newData = new PersistanceData { PersistanceDataId = persistanceDataId, SomeData = data }; var item = this._storage.AddOrUpdate(key, newData, (k, oldData) => { return(oldData); }); return(item); }