public void Upsert(Book item)
        {
            BookDataLayer.ShallowUpsert(item);

            foreach (var dbAuthor in item.Authors)
            {
                AuthorDataLayer.ShallowUpsert(dbAuthor);
            }
        }
        public void Add(Book item)
        {
            item.Id = default;

            BookDataLayer.Add(item);

            foreach (var dbAuthor in item.Authors)
            {
                AuthorDataLayer.ShallowUpsert(dbAuthor);
            }
        }
        public void Update(Book item)
        {
            if (item.Id == default)
            {
                throw new ArgumentException("It's impossible to update item without id");
            }

            BookDataLayer.ShallowUpdate(item);

            foreach (var dbAuthor in item.Authors)
            {
                AuthorDataLayer.ShallowUpsert(dbAuthor);
            }
        }