using DbConnectionLibrairie; using DataManagers; using ExtensionsClassLibrairie; using ManagerInterfaces; using Model; using OrderCriterias; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using DTOs; namespace ServiceManagers { public class ChapterServiceManager(IChapterManager manager) : IChapterManager { private IChapterManager manager = manager; public async Task addChapter(ChapterDto chapterdto) { return await Task.FromResult((await manager.addChapter(chapterdto.ToModel())).ToDto()); } public async Task getChapter(int id) { return await Task.FromResult((await manager.getChapter(id))?.ToDto()); } public async Task getChapter(string name) { return (await manager.getChapter(name))?.ToDto(); } public async Task<(int nbPages, IEnumerable? chapters)> getChapters(int nb, int count, ChapterOrderCriteria orderCriteria = ChapterOrderCriteria.ById) { List? tmp = new List(); var res = await manager.getChapters(nb, count, orderCriteria); if (res.chapters == null) tmp = null; else { foreach (var item in res.chapters) { tmp.Add(item.ToDto()); } } return await Task.FromResult<(int nbPages, IEnumerable? chapters)>((res.nbPages, tmp)); } public int getNbChapters() { return manager.getNbChapters(); } public async Task removeChapter(ChapterDto chapterdto) { return (await manager.removeChapter(chapterdto.ToModel()))?.ToDto(); } public async Task removeChapter(int id) { return (await manager.removeChapter(id))?.ToDto(); } public async Task updateChapter(int id, string newName) { return (await manager.updateChapter(id, newName))?.ToDto(); } } }