internal IEnumerable <T> GetAll <T>(ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { var tl = new List <T>(); lock (Locker) { Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var contents = Connection.CreateCommand()) { contents.CommandText = crud.ReadAll(); var r = contents.ExecuteReader(); while (r.Read()) { tl.Add(crud.FromReader(r)); } } Connection.Close(); } return(tl); }
internal T Get <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { lock (Locker) { Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = crud.Read(); command.Parameters.Add(new SqliteParameter(DbType.Int32) { Value = id }); var r = command.ExecuteReader(); while (r.Read()) { var thing = crud.FromReader(r); return(thing); } } Connection.Close(); } return(null); }