reduce use of Book.Supplements

This commit is contained in:
Robert McRackan 2021-08-23 16:16:08 -04:00
parent f19c46ee45
commit d7eb190f69
3 changed files with 15 additions and 15 deletions

View File

@ -186,7 +186,7 @@ namespace ApplicationServices
: LiberatedStatus.NotLiberated; : LiberatedStatus.NotLiberated;
public static LiberatedStatus? Pdf_Status(Book book) public static LiberatedStatus? Pdf_Status(Book book)
=> !book.Supplements.Any() ? null => !book.HasPdf ? null
: book.PDF_Exists ? LiberatedStatus.Liberated : book.PDF_Exists ? LiberatedStatus.Liberated
: LiberatedStatus.NotLiberated; : LiberatedStatus.NotLiberated;
@ -207,7 +207,7 @@ namespace ApplicationServices
var boolResults = libraryBooks var boolResults = libraryBooks
.AsParallel() .AsParallel()
.Where(lb => lb.Book.Supplements.Any()) .Where(lb => lb.Book.HasPdf)
.Select(lb => Pdf_Status(lb.Book)) .Select(lb => Pdf_Status(lb.Book))
.ToList(); .ToList();
var pdfsDownloaded = boolResults.Count(r => r == LiberatedStatus.Liberated); var pdfsDownloaded = boolResults.Count(r => r == LiberatedStatus.Liberated);

View File

@ -47,8 +47,8 @@ namespace ApplicationServices
[Name("Publisher")] [Name("Publisher")]
public string Publisher { get; set; } public string Publisher { get; set; }
[Name("Pdf url")] [Name("Has PDF")]
public string PdfUrl { get; set; } public bool HasPdf { get; set; }
[Name("Series Names")] [Name("Series Names")]
public string SeriesNames { get; set; } public string SeriesNames { get; set; }
@ -109,7 +109,7 @@ namespace ApplicationServices
NarratorNames = a.Book.NarratorNames, NarratorNames = a.Book.NarratorNames,
LengthInMinutes = a.Book.LengthInMinutes, LengthInMinutes = a.Book.LengthInMinutes,
Publisher = a.Book.Publisher, Publisher = a.Book.Publisher,
PdfUrl = a.Book.Supplements?.FirstOrDefault()?.Url, HasPdf = a.Book.HasPdf,
SeriesNames = a.Book.SeriesNames, SeriesNames = a.Book.SeriesNames,
SeriesOrder = a.Book.SeriesLink.Any() ? a.Book.SeriesLink?.Select(sl => $"{sl.Index} : {sl.Series.Name}").Aggregate((a, b) => $"{a}, {b}") : "", SeriesOrder = a.Book.SeriesLink.Any() ? a.Book.SeriesLink?.Select(sl => $"{sl.Index} : {sl.Series.Name}").Aggregate((a, b) => $"{a}, {b}") : "",
CommunityRatingOverall = a.Book.Rating?.OverallRating, CommunityRatingOverall = a.Book.Rating?.OverallRating,
@ -182,7 +182,7 @@ namespace ApplicationServices
nameof (ExportDto.NarratorNames), nameof (ExportDto.NarratorNames),
nameof (ExportDto.LengthInMinutes), nameof (ExportDto.LengthInMinutes),
nameof (ExportDto.Publisher), nameof (ExportDto.Publisher),
nameof (ExportDto.PdfUrl), nameof (ExportDto.HasPdf),
nameof (ExportDto.SeriesNames), nameof (ExportDto.SeriesNames),
nameof (ExportDto.SeriesOrder), nameof (ExportDto.SeriesOrder),
nameof (ExportDto.CommunityRatingOverall), nameof (ExportDto.CommunityRatingOverall),
@ -234,7 +234,7 @@ namespace ApplicationServices
row.CreateCell(col++).SetCellValue(dto.NarratorNames); row.CreateCell(col++).SetCellValue(dto.NarratorNames);
row.CreateCell(col++).SetCellValue(dto.LengthInMinutes); row.CreateCell(col++).SetCellValue(dto.LengthInMinutes);
row.CreateCell(col++).SetCellValue(dto.Publisher); row.CreateCell(col++).SetCellValue(dto.Publisher);
row.CreateCell(col++).SetCellValue(dto.PdfUrl); row.CreateCell(col++).SetCellValue(dto.HasPdf);
row.CreateCell(col++).SetCellValue(dto.SeriesNames); row.CreateCell(col++).SetCellValue(dto.SeriesNames);
row.CreateCell(col++).SetCellValue(dto.SeriesOrder); row.CreateCell(col++).SetCellValue(dto.SeriesOrder);

View File

@ -107,14 +107,14 @@ namespace LibationSearchEngine
= new ReadOnlyDictionary<string, Func<LibraryBook, bool>>( = new ReadOnlyDictionary<string, Func<LibraryBook, bool>>(
new Dictionary<string, Func<LibraryBook, bool>> new Dictionary<string, Func<LibraryBook, bool>>
{ {
["HasDownloads"] = lb => lb.Book.Supplements.Any(), ["HasDownloads"] = lb => lb.Book.HasPdf,
["HasDownload"] = lb => lb.Book.Supplements.Any(), ["HasDownload"] = lb => lb.Book.HasPdf,
["Downloads"] = lb => lb.Book.Supplements.Any(), ["Downloads"] = lb => lb.Book.HasPdf,
["Download"] = lb => lb.Book.Supplements.Any(), ["Download"] = lb => lb.Book.HasPdf,
["HasPDFs"] = lb => lb.Book.Supplements.Any(), ["HasPDFs"] = lb => lb.Book.HasPdf,
["HasPDF"] = lb => lb.Book.Supplements.Any(), ["HasPDF"] = lb => lb.Book.HasPdf,
["PDFs"] = lb => lb.Book.Supplements.Any(), ["PDFs"] = lb => lb.Book.HasPdf,
["PDF"] = lb => lb.Book.Supplements.Any(), ["PDF"] = lb => lb.Book.HasPdf,
["IsRated"] = lb => lb.Book.UserDefinedItem.Rating.OverallRating > 0f, ["IsRated"] = lb => lb.Book.UserDefinedItem.Rating.OverallRating > 0f,
["Rated"] = lb => lb.Book.UserDefinedItem.Rating.OverallRating > 0f, ["Rated"] = lb => lb.Book.UserDefinedItem.Rating.OverallRating > 0f,