public void Update(TablatureLibraryItem <TablatureFile> libraryItem) { using (var cmd = new SQLiteCommand(_databaseHelper.GetConnection())) { cmd.CommandType = CommandType.Text; cmd.CommandText = string.Format(@"INSERT OR REPLACE INTO {0} (id, filename, favorite, views, rating) VALUES (@id, @filename, @favorite, @views, @rating)", TabsterDatabaseHelper.TableLibraryItems); cmd.Parameters.Add(new SQLiteParameter("@id", libraryItem.Id)); cmd.Parameters.Add(new SQLiteParameter("@filename", libraryItem.FileInfo.FullName)); cmd.Parameters.Add(new SQLiteParameter("@favorite", libraryItem.Favorited)); cmd.Parameters.Add(new SQLiteParameter("@views", libraryItem.Views)); cmd.Parameters.Add(new SQLiteParameter("@rating", TablatureRatingUtilities.ToInt(libraryItem.Rating))); cmd.ExecuteNonQuery(); libraryItem.Id = _databaseHelper.GetConnection().LastInsertRowId; } }
public void Load(bool useFileSystem) { if (useFileSystem) { LoadTablatureFiles(); } else { using (var cmd = new SQLiteCommand(string.Format("SELECT * FROM {0}", TabsterDatabaseHelper.TableLibraryItems), _databaseHelper.GetConnection())) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var id = long.Parse(reader["id"].ToString()); var filename = reader["filename"].ToString(); var favorite = bool.Parse(reader["favorite"].ToString()); var views = int.Parse(reader["views"].ToString()); var rating = TablatureRatingUtilities.FromString(reader["rating"].ToString()); var file = _fileProcessor.Load(filename); if (file != null) { var fileInfo = new FileInfo(filename); var item = new TablatureLibraryItem <TablatureFile>(file, fileInfo) { Id = id, Favorited = favorite, Views = views, Rating = rating }; base.Add(item); } } } } } }