Ensure series and episode DateAdded is never default (#543)

This commit is contained in:
Mbucari 2023-03-22 11:01:20 -06:00
parent e7eac7bed3
commit 1783da3e2d
2 changed files with 12 additions and 1 deletions

View File

@ -220,6 +220,9 @@ namespace AudibleUtilities
public static void SetSeries(Item parent, IEnumerable<Item> children)
{
ArgumentValidator.EnsureNotNull(parent, nameof(parent));
ArgumentValidator.EnsureNotNull(children, nameof(children));
//A series parent will always have exactly 1 Series
parent.Series = new[]
{
@ -232,7 +235,15 @@ namespace AudibleUtilities
};
if (parent.PurchaseDate == default)
parent.PurchaseDate = children.Select(c => c.PurchaseDate).Order().First();
{
parent.PurchaseDate = children.Select(c => c.PurchaseDate).Order().FirstOrDefault(d => d != default);
if (parent.PurchaseDate == default)
{
Serilog.Log.Logger.Warning("{series} doesn't have a purchase date. Using UtcNow", parent);
parent.PurchaseDate = DateTimeOffset.UtcNow;
}
}
foreach (var child in children)
{