public async Task Set(LibraryItemStatus status) { using (var task = new UpdateLibraryTask(status)) { task.InitializeComponent(this.Core); await this.OnBackgroundTask(task).ConfigureAwait(false); await task.Run().ConfigureAwait(false); } }
public async Task Populate(LibraryItemStatus libraryItemStatus, CancellationToken cancellationToken) { var query = this.Database .AsQueryable <LibraryItem>(this.Database.Source(new DatabaseQueryComposer <LibraryItem>(this.Database), this.Transaction)) .Where(libraryItem => libraryItem.Status == libraryItemStatus && !libraryItem.MetaDatas.Any()); await this.Populate(query, cancellationToken).ConfigureAwait(false); await new LibraryVariousArtistsPopulator(this.Database).Populate(libraryItemStatus, this.Transaction).ConfigureAwait(false); }
public Task Clear(LibraryItemStatus libraryItemStatus, ITransactionSource transaction) { return(this.Database.ExecuteAsync(this.Database.Queries.RemoveLibraryVariousArtists, (parameters, phase) => { switch (phase) { case DatabaseParameterPhase.Fetch: parameters["name"] = CustomMetaData.VariousArtists; parameters["type"] = MetaDataItemType.Tag; parameters["status"] = libraryItemStatus; break; } }, transaction)); }
public static async Task SetLibraryItemsStatus(IDatabaseComponent database, LibraryItemStatus status) { var query = database.QueryFactory.Build(); query.Update.SetTable(database.Tables.LibraryItem); query.Update.AddColumn(database.Tables.LibraryItem.Column("Status")); using (var transaction = database.BeginTransaction(database.PreferredIsolationLevel)) { await database.ExecuteAsync(query, (parameters, phase) => { switch (phase) { case DatabaseParameterPhase.Fetch: parameters["status"] = status; break; } }, transaction).ConfigureAwait(false); transaction.Commit(); } }
public LibraryItemsAdapter(ILibraryItem item, int daysTillDue) { Item = item; DaysTillDue = daysTillDue; ItemStatus = CalculateItemStatus(item, daysTillDue); }
public UpdateLibraryTask(LibraryItemStatus status) : base() { this.Status = status; }
public UpdateLibraryTask(IEnumerable <LibraryItem> libraryItems, LibraryItemStatus status) : this(status) { this.LibraryItems = libraryItems; }