Example #1
0
        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;
            }
        }
Example #2
0
        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);
                            }
                        }
                    }
                }
            }
        }