using Dinah.Core; namespace DataLayer; /// PDF/ZIP files only. Although book download info could be the same format, they're substantially different and subject to change public class Supplement { internal int SupplementId { get; private set; } internal int BookId { get; private set; } public Book Book { get; private set; } public string Url { get; private set; } #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable. private Supplement() { } #pragma warning restore CS8618 public Supplement(Book book, string url) { ArgumentValidator.EnsureNotNull(book, nameof(book)); ArgumentValidator.EnsureNotNullOrWhiteSpace(url, nameof(url)); Book = book; Url = url; } public override string ToString() => $"{Book} {Url.Substring(Url.Length - 4)}"; }