/// <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); }