async Task <UploadResults> UploadNewBooks(IEnumerable <MatchInfo> incoming) { IEnumerable <MatchInfo> toUpload = incoming .Where(b => b.Status == MatchStatus.NewBook); var dateAddedProvider = new DateAddedProvider(this.DateAddedText); int count = 0; int errors = 0; foreach (var match in toUpload) { bool ok = await UploadNewBook(match, dateAddedProvider); if (ok) { count++; } else { errors++; } } return(new UploadResults { Uploaded = count, Errors = errors }); }
async Task <bool> UploadNewBook(MatchInfo match, DateAddedProvider dateAddedProvider) { try { BookFilesInfo content = await _incomingDataSource.GetBookContent(match.Book); dateAddedProvider.SetDateTimeAdded(content); await SaveBook(content); return(true); } catch (Exception ex) { _messages.WriteError(ex, "uploading {0}", match.Book.Title); return(false); } }
public Aggregator(DateAddedProvider dateAdded) { _dateAdded = dateAdded; }
public Aggregator() { _dateAdded = new DateAddedProvider(null); }