private static SQLiteConnection Connection => new SQLiteConnection(connection_str);
/// <summary> Все записи таблицы </summary>
public static List<T> Table<T>() where T : new ()
{
using (var db = Connection)
{
return db.Table<T>().ToList<T>();
}
}
/// <summary> Запись с необходимым ID </summary>
public static IDataRecord Get<T>(int id) where T : new() => (IDataRecord)Table<T>().FirstOrDefault(usr => ((IDataRecord)usr).ID == id);
public static IDataRecord Insert(IDataRecord rec)
{
if(
rec.ID>0) return Update(rec);
else using (var db = Connection)
{
db.Insert(rec);
return rec;
}
}
public static IDataRecord Update(IDataRecord rec)
{
if (
rec.ID<0) return Insert(rec);
else using(var db = Connection)
{
db.Update(rec);
return rec;
}
}
public static IDataRecord[] UpdateAll(IDataRecord[] rec)
{
using (var db = Connection)
{
db.UpdateAll(rec);
return rec;
}
}
public static IDataRecord Delete(IDataRecord rec)
{
using (var db = Connection)
{
db.Delete(rec);
return rec;
}
}