public override void Delete(LogItem item) { lock (_timesForDelete) { _timesForDelete.Add(item.Time); } }
private void BSaveClick(object sender, RoutedEventArgs e) { var item = new LogItem {Text = tbMessage.Text}; item.SetToBytes(tbMessage2.Text); _log.Save(item); _logs.Add(item); }
public void Clean() { if (_remapList == null) return; var emptyItems = new LogItem[0]; foreach (var callback in _remapList.SelectMany(t => t.Item2)) { callback(emptyItems); } }
public DateTime Save(LogItem item) { using (var connection = _connectionFactory.Create()) { DeleteOld(connection); if (item.Time == _defaultTime) { item.Time = _timeService.UtcTime; _repository.Insert(connection, item); } else if (!_repository.Update(connection, item)) { _repository.Insert(connection, item); } return item.Time; } }
public LogItem[] GetItems( NpgsqlConnection connection, CriteriaType criteriaType, DateTime criteria, int maxCount, bool includeBytes) { IWhereOp whereOp; bool asc; switch (criteriaType) { case CriteriaType.DownFromInfinity: whereOp = null; asc = false; break; case CriteriaType.DownFrom: whereOp = new Lt(DbStr.Time, criteria.Ticks); asc = false; break; case CriteriaType.DownFromOrEqual: whereOp = new Le(DbStr.Time, criteria.Ticks); asc = false; break; case CriteriaType.UpFromInfinity: whereOp = null; asc = true; break; case CriteriaType.UpFrom: whereOp = new Gt(DbStr.Time, criteria.Ticks); asc = true; break; case CriteriaType.UpFromOrEqual: whereOp = new Ge(DbStr.Time, criteria.Ticks); asc = true; break; default: throw new NotSupportedException("CriteriaType " + criteriaType); } var columns = includeBytes ? _columns : _columnsWithoutBytes; var query = _npgQueryHelper.Select( _tableName, columns, whereOp, new[] { DbStr.Time }, asc, Math.Min(maxCount, MaxItemsToRetrieve)); var alarms = _npgHelper.ExecuteReader(connection, query, reader => { var i = new LogItem { Time = reader.GetDateTimeFormTicks(0), Text = reader.GetNullableString(1) }; if (includeBytes) { i.Bytes = reader.GetByteArray(2); } return i; }); return asc ? alarms.Reverse().ToArray() : alarms; }
public bool Update(NpgsqlConnection connection, LogItem item) { var query = _npgQueryHelper.UpdateWhere( _tableName, new Eq(DbStr.Time, item.Time.Ticks), new[] { DbStr.Text, DbStr.Bytes }, new object[] { item.Text, item.Bytes }); return _npgHelper.ExecuteNonQuery(connection, query) == 1; }
public void Insert(NpgsqlConnection connection, LogItem item) { var values = new object[] { item.Time.Ticks, item.Text, item.Bytes }; var query = _npgQueryHelper.Insert( _tableName, _columns, new[] {values}); _npgHelper.ExecuteNonQuery(connection, query); }
public override void Save(LogItem item) { _itemsToSave.Enqueue(item); }
public abstract void Delete(LogItem item);
public abstract void Save(LogItem item);