/// <summary>
        /// Creates a new chapter overview
        /// </summary>
        /// <param name="chapterOverview">Chapter overview</param>
        /// <returns>Chapter Overview filled with data</returns>
        public async Task <AikaChapterOverview> CreateChapterOverview(AikaChapterOverview chapterOverview)
        {
            chapterOverview.Id = Guid.NewGuid().ToString();
            await _ChapterOverviewCollection.InsertOneAsync(chapterOverview);

            return(chapterOverview);
        }
        /// <summary>
        /// Deletes a chapter overview
        /// </summary>
        /// <param name="chapterOverview">Chapter overview to delete</param>
        /// <returns>Task</returns>
        public async Task DeleteChapterOverview(AikaChapterOverview chapterOverview)
        {
            AikaChapterOverview existingChapterOverview = await GetChapterOverviewById(chapterOverview.Id);

            if (existingChapterOverview == null)
            {
                throw new NullReferenceException();
            }

            IMongoCollection <AikaChapterOverview> recyclingBin = _Database.GetCollection <AikaChapterOverview>(AikaChapterOverviewRecyclingBinCollectionName);
            await recyclingBin.InsertOneAsync(existingChapterOverview);

            DeleteResult result = await _ChapterOverviewCollection.DeleteOneAsync(c => c.Id == chapterOverview.Id);
        }
 /// <summary>
 /// Updates a chapter overview
 /// </summary>
 /// <param name="chapterOverview">Chapter overview to update</param>
 /// <returns>Task</returns>
 public async Task UpdateChapterOverview(AikaChapterOverview chapterOverview)
 {
     ReplaceOneResult result = await _ChapterOverviewCollection.ReplaceOneAsync(c => c.Id == chapterOverview.Id, chapterOverview);
 }
        /// <summary>
        /// Returns a chapter overview by the id
        /// </summary>
        /// <param name="id">Id of the chapter overview</param>
        /// <returns>Chapter overview</returns>
        public async Task <AikaChapterOverview> GetChapterOverviewById(string id)
        {
            AikaChapterOverview chapterOverview = await _ChapterOverviewCollection.Find(c => c.Id == id).FirstOrDefaultAsync();

            return(chapterOverview);
        }