public PodcastTrackListModel(BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base(conn, provider, source) { From = String.Format("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName); int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId; AddCondition(From, String.Format( "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID", Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid )); }
public DatabaseFilterListModel(string name, string label, Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, SqliteModelProvider <T> provider, U selectAllItem, string uuid) : base(trackModel) { this.source = source; FilterName = name; FilterLabel = label; select_all_item = selectAllItem; this.connection = connection; cache = new BansheeModelCache <T> (connection, uuid, this, provider); HasSelectAllItem = true; }
public DatabaseQueryFilterModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column) : base(field.Name, field.Label, source, trackModel, connection, QueryFilterInfo <T> .CreateProvider(filter_column, field), new QueryFilterInfo <T> (), String.Format("{0}-{1}", uuid, field.Name)) { this.field = field; this.select_all_fmt = select_all_fmt; ReloadFragmentFormat = @" FROM CoreTracks, CoreCache{0} WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3} ORDER BY Value"; QueryFields = new QueryFieldSet(query_filter_field); }
public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source) { this.connection = connection; this.provider = provider; this.source = source; SelectAggregates = "SUM(CoreTracks.Duration), SUM(CoreTracks.FileSize)"; Selection.Changed += delegate { if (SelectionAggregatesHandler != null) { cache.UpdateSelectionAggregates(SelectionAggregatesHandler); } }; }
public DatabaseConfigurationClient(BansheeDbConnection connection) { this.connection = connection; select_value_command = new HyenaSqliteCommand(String.Format( "SELECT Value FROM {0} WHERE Key=?", TableName)); select_id_command = new HyenaSqliteCommand(String.Format( "SELECT EntryID FROM {0} WHERE Key=?", TableName)); insert_command = new HyenaSqliteCommand(String.Format( "INSERT INTO {0} (EntryID, Key, Value) VALUES (NULL, ?, ?)", TableName)); update_command = new HyenaSqliteCommand(String.Format( "UPDATE {0} SET Value=? WHERE Key=?", TableName)); }
public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source) { this.connection = connection; this.provider = provider; this.source = source; SelectAggregates = String.Format("SUM({0}), SUM({1})", BansheeQuery.DurationField.Column, BansheeQuery.FileSizeField.Column); Selection.Changed += delegate { if (SelectionAggregatesHandler != null) { cache.UpdateSelectionAggregates(SelectionAggregatesHandler); } }; }
public PodcastTrackListModel(BansheeDbConnection conn, IDatabaseTrackModelProvider provider, DatabaseSource source) : base(conn, provider, source) { From = String.Format("{0}, {1}, {2}, {3}", provider.From, Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName); int podcast_library_dbid = (source as PodcastSource ?? source.Parent as PodcastSource).DbId; AddCondition(From, String.Format( "CoreTracks.PrimarySourceID = {3} AND {0}.FeedID = {1}.FeedID AND CoreTracks.ExternalID = {1}.ItemID AND {1}.ItemID = {2}.ItemID", Feed.Provider.TableName, FeedItem.Provider.TableName, FeedEnclosure.Provider.TableName, podcast_library_dbid )); SelectAggregates += ",COUNT(NULLIF(CoreTracks.Uri LIKE 'file:%', 0)), COUNT(NULLIF(CoreTracks.PlayCount = 0, 0)), COUNT(DISTINCT(CoreTracks.AlbumID))"; SelectionAggregatesHandler = (reader) => { SelectionDownloadedCount = Convert.ToInt32(reader[3]); SelectionUnheardCount = Convert.ToInt32(reader[4]); SelectionPodcastCount = Convert.ToInt32(reader[5]); }; }
public CS_TrackInfoDb(BansheeDbConnection con) { _con = con; _sql_check = new HyenaSqliteCommand("SELECT COUNT(*) FROM cuesheet_info WHERE key=?"); _sql_get = new HyenaSqliteCommand("SELECT type,value FROM cuesheet_info WHERE key=?"); _sql_insert = new HyenaSqliteCommand("INSERT INTO cuesheet_info VALUES(?,?,?)"); _sql_update = new HyenaSqliteCommand("UPDATE cuesheet_info SET type=?, value=? WHERE key=?"); _sql_key_begin = new HyenaSqliteCommand("SELECT key FROM cuesheet_info WHERE key LIKE ?"); try { if (!_con.TableExists("cuesheet_info")) { _con.Query("CREATE TABLE cuesheet_info(key varchar,type varchar,value varchar)"); _con.Query("CREATE INDEX cuesheet_idx1 ON cuesheet_info(key)"); } } catch (System.Exception ex) { Hyena.Log.Information(ex.ToString()); } }
public DatabaseYearListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid) : base(Banshee.Query.BansheeQuery.YearField.Name, Banshee.Query.BansheeQuery.YearField.Label, source, trackModel, connection, DatabaseYearInfo.Provider, new YearInfo(), uuid) { QueryFields = new QueryFieldSet(Banshee.Query.BansheeQuery.YearField); ReloadFragmentFormat = @" FROM (SELECT MIN(CoreTracks.TrackID) AS TrackID, CoreTracks.Year FROM CoreTracks GROUP BY CoreTracks.Year) AS CoreTracks WHERE CoreTracks.Year IN (SELECT CoreTracks.Year FROM CoreTracks, CoreCache{0} WHERE CoreCache.ModelID = {1} AND CoreCache.ItemID = {2} {3}) ORDER BY Year"; }
public DatabaseTrackModelProvider(BansheeDbConnection connection) : base(connection, "CoreTracks") { }
public DatabaseAlbumListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid) : base(Banshee.Query.BansheeQuery.AlbumField.Name, Banshee.Query.BansheeQuery.AlbumField.Label, source, trackModel, connection, DatabaseAlbumInfo.Provider, new AlbumInfo(null), uuid) { ReloadFragmentFormat = @" FROM CoreAlbums WHERE CoreAlbums.AlbumID IN (SELECT CoreTracks.AlbumID FROM CoreTracks, CoreCache{0} WHERE CoreCache.ModelID = {1} AND CoreCache.ItemId = {2} {3}) ORDER BY CoreAlbums.TitleSortKey, CoreAlbums.ArtistNameSortKey"; }
public DatabaseArtistListModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid) : base(Banshee.Query.BansheeQuery.ArtistField.Name, Banshee.Query.BansheeQuery.ArtistField.Label, source, trackModel, connection, DatabaseArtistInfo.Provider, new ArtistInfo(null, null), uuid) { QueryFields = new QueryFieldSet(Banshee.Query.BansheeQuery.ArtistField); ReloadFragmentFormat = @" FROM CoreArtists WHERE CoreArtists.ArtistID IN (SELECT CoreTracks.ArtistID FROM CoreTracks, CoreCache{0} WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3}) ORDER BY NameSortKey"; }
public PodcastFeedModel(Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid) : base("podcast", Catalog.GetString("Podcast"), source, trackModel, connection, Feed.Provider, new Feed(null, FeedAutoDownload.None), uuid) { ReloadFragmentFormat = @" FROM PodcastSyndications WHERE FeedID IN (SELECT DISTINCT PodcastSyndications.FeedID FROM PodcastItems, CoreTracks, PodcastEnclosures, PodcastSyndications, CoreCache{0} WHERE PodcastSyndications.FeedID = PodcastItems.FeedID AND PodcastItems.ItemID = CoreTracks.ExternalID AND PodcastEnclosures.ItemID = PodcastItems.ItemID AND CoreCache.ModelID = {1} AND CoreCache.ItemId = {2} {3}) ORDER BY lower(Title)"; }
public AudiobookModel(AudiobookLibrarySource source, DatabaseTrackListModel trackModel, BansheeDbConnection connection, string uuid) : base(source, trackModel, connection, uuid) { Selection = new Hyena.Collections.Selection(); HasSelectAllItem = false; ReloadFragmentFormat = String.Format(@" FROM CoreAlbums WHERE CoreAlbums.AlbumID IN (SELECT AlbumID FROM CoreTracks WHERE PrimarySourceID = {0}) ORDER BY CoreAlbums.TitleSortKey, CoreAlbums.ArtistNameSortKey", source.DbId); }
public PlayQueueTrackListModel( BansheeDbConnection conn, IDatabaseTrackModelProvider provider, PlayQueueSource source) : base(conn, provider, source) { this.source = source; }
public DatabaseTrackListModel(BansheeDbConnection connection, IDatabaseTrackModelProvider provider, Banshee.Sources.DatabaseSource source) { this.connection = connection; this.provider = provider; this.source = source; }