internal int Update <T>(T item, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { lock (Locker) { int r; if (item.Id != 0) { Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var command = Connection.CreateCommand()) { crud.Update(item, command); r = command.ExecuteNonQuery(); } Connection.Close(); return(r); } Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var command = Connection.CreateCommand()) { crud.Insert(item, command); r = command.ExecuteNonQuery(); } Connection.Close(); return(r); } }
internal int Delete <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { lock (Locker) { int r; Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var command = Connection.CreateCommand()) { crud.Delete(id, command); r = command.ExecuteNonQuery(); } Connection.Close(); return(r); } }
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); }
internal new int Delete <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : MyReproSqlLiteObject { return(Singleton.Db.Delete(id, crud)); }
internal new IEnumerable <T> GetAll <T>(ISqlLiteDataObjectCrud <T> crud) where T : MyReproSqlLiteObject { return(Singleton.Db.GetAll(crud)); }
internal new int Save <T>(T item, ISqlLiteDataObjectCrud <T> crud) where T : MyReproSqlLiteObject { return(Singleton.Db.Update(item, crud)); }
internal new ISqlLiteDataObject Get <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : MyReproSqlLiteObject { return(Singleton.Db.Get(id, crud)); }
internal virtual int Delete <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { return(Db.Delete(id, crud)); }
internal virtual int Save <T>(T item, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { return(Db.Update(item, crud)); }
internal virtual IEnumerable <T> GetAll <T>(ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { return(Db.GetAll(crud)); }
internal virtual ISqlLiteDataObject Get <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { return(Db.Get(id, crud)); }