This commit is contained in:
redtea committed 2024-06-07 11:54:09 +03:00
1 parent c2bb53bc52
commit ecfe62cc05
1 file changed
+7
+7
View File
@@ -8,17 +8,24 @@ namespace PaymentLogs.Repositories
{ {
internal abstract class Repo<K, V> internal abstract class Repo<K, V>
{ {
// в словаре хранится кеш данных
protected Dictionary<K, V> _data = new Dictionary<K, V>(); protected Dictionary<K, V> _data = new Dictionary<K, V>();
// загрузка данных из базы данных
public abstract void Load(); public abstract void Load();
// получение всех данных из кеша
public virtual List<V> All() public virtual List<V> All()
{ {
return _data.Values.ToList(); return _data.Values.ToList();
} }
// получение конкретного экземпляра по id/ключу
public virtual V Get(K key) { return _data[key]; } public virtual V Get(K key) { return _data[key]; }
//обновление данных в кеше
public virtual void Update(K key, V value) public virtual void Update(K key, V value)
{ {
_data[key] = value; _data[key] = value;
} }
// сохранение данных из кеша в базу данных
public abstract void Save(); public abstract void Save();
} }