示例#1
0
        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
            });
        }
示例#2
0
        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);
            }
        }
示例#3
0
 public Aggregator(DateAddedProvider dateAdded)
 {
     _dateAdded = dateAdded;
 }
示例#4
0
 public Aggregator()
 {
     _dateAdded = new DateAddedProvider(null);
 }