diff --git a/Source/AudibleUtilities/ApiExtended.cs b/Source/AudibleUtilities/ApiExtended.cs index 9edecd6b..97caa4aa 100644 --- a/Source/AudibleUtilities/ApiExtended.cs +++ b/Source/AudibleUtilities/ApiExtended.cs @@ -220,6 +220,9 @@ namespace AudibleUtilities public static void SetSeries(Item parent, IEnumerable 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) { diff --git a/Source/LibationUiBase/SeriesView/SeriesEntry.cs b/Source/LibationUiBase/SeriesView/SeriesItem.cs similarity index 100% rename from Source/LibationUiBase/SeriesView/SeriesEntry.cs rename to Source/LibationUiBase/SeriesView/SeriesItem.cs