/// <summary> /// Связывает объект с менеджером, устанавливает состояние "Added" если было "Detached" /// </summary> /// <param name="prop"></param> public void Attach(ObjectEntry <int, int> obj) { obj.SetManager(this); if (obj.State == EntryState.Detached) { obj.SetState(EntryState.Added); } }
public ObjectEntry <int, int> CreateObject(int objKey, string type) { StartBatch(); _batch.Exec(String.Format(SQLConstants.InsertObject, objKey, type)); EndBatch(); // Сохраняем целостность ключей _lastObjectKey = Math.Max(_lastObjectKey, objKey); var obj = new ObjectEntry <int, int>(objKey, type); Attach(obj); obj.SetState(EntryState.Unchanged); return(obj); }
public ObjectEntry <int, int> GetObject(int objKey) { SQLiteDataReader reader = _driver.Query( String.Format( SQLConstants.SelectObject, objKey ) ); if (reader.HasRows) { if (reader.Read()) { var obj = new ObjectEntry <int, int>(reader.GetInt32(0), reader.GetString(1)); Attach(obj); obj.SetState(EntryState.Unchanged); return(obj); } } return(null); }