Skip to content

Instantly share code, notes, and snippets.

@nodoid
Created December 4, 2015 18:33
Show Gist options
  • Save nodoid/3c1eb237b641412959b8 to your computer and use it in GitHub Desktop.
Save nodoid/3c1eb237b641412959b8 to your computer and use it in GitHub Desktop.
public List<T> GetListOfObjects<T>(string id) where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sql = string.Format("SELECT * FROM {0} WHERE id=?", GetName(typeof(T).ToString()));
var data = sqlCon.Query<T>(sql, id);
return data;
}
}
}
public List<T> GetListOfObjects<T>(string para, string val) where T: class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sql = string.Format("SELECT * FROM {0} WHERE {1}=?", GetName(typeof(T).ToString()), para);
var data = sqlCon.Query<T>(sql, val).ToList();
return data;
}
}
}
public List<T> GetListOfObjects<T>(string para1, string val1, string para2, string val2, bool ne = false) where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sign = ne ? "!=" : "=";
string sql = string.Format("SELECT * FROM {0} WHERE {1}{2}? AND {3}{4}?", GetName(typeof(T).ToString()), para1, sign, para2, sign);
var data = sqlCon.Query<T>(sql, val1, val2).ToList();
return data;
}
}
}
public List<T> GetListOfObjects<T>() where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sql = string.Format("SELECT * FROM {0}", GetName(typeof(T).ToString()));
var data = sqlCon.Query<T>(sql, "");
return data;
}
}
}
public T GetSingleObject<T>() where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
try
{
sqlCon.Execute(DBClauseSyncOff);
string sql = "SELECT * FROM " + GetName(typeof(T).ToString());
var ty = GetName(typeof(T).ToString());
var data = sqlCon.Query<T>(sql, "");
return data.FirstOrDefault();
}
catch (Exception ex)
{
Debug.WriteLine("ex - {0}:{1}", ex.Message, ex.InnerException);
return default(T);
}
}
}
}
public T GetSingleObject<T,U>(string para, U val) where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sql = string.Format("SELECT * FROM {0} WHERE {1}=?", GetName(typeof(T).ToString()), para);
var data = sqlCon.Query<T>(sql, val).FirstOrDefault();
return data;
}
}
}
public T GetSingleObject<T>(string para1, string val1, string para2, string val2, bool ne = false) where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sign = ne ? "!=" : "=";
string sql = string.Format("SELECT * FROM {0} WHERE {1}{2}? AND {3}{4}?", GetName(typeof(T).ToString()), para1, sign, para2, sign);
var data = sqlCon.Query<T>(sql, val1, val2).FirstOrDefault();
return data;
}
}
}
public T GetSingleObject<T>(string para1, string val1, string para2, double val2) where T:class, IIdentity
{
lock (dbLock)
{
using (var sqlCon = new SQLiteConnection(App.Self.SQLitePlatform, App.Self.DBConnection))
{
sqlCon.Execute(DBClauseSyncOff);
string sql = string.Format("SELECT * FROM {0} WHERE {1}=? AND {2}=?", GetName(typeof(T).ToString()), para1, para2);
var data = sqlCon.Query<T>(sql, val1, val2).FirstOrDefault();
return data;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment